资源简介

浅墨出品,零资源分下载,分享精神至上~ 图片素材是极具现代风格的建筑,很大气~ 我们用滑动条来控制阈值参数,利用OpenCV中的霍夫变换动态进行直线检测,得到不同效果的直线检测图。 程序的核心函数为HoughLinesP。 博文《【OpenCV入门教程之十四】OpenCV霍夫变换:霍夫线变换,霍夫圆变换合辑》的配套详细注释源代码。 博文链接: http://blog.csdn.net/poem_qianmo/article/details/26977557 1.已将dll打包到Release文件夹下,运行Release文件夹中的exe可以直接看到运行结果. 2.源代码运行需要进行OpenCV+VS开发环境的配置。可以参看我写的配置博文: http://blog.csdn.net/poem_qianmo/article/details/19809337 3.编写环境:Visual Studio 2010 4.写作当前代码时配套使用的OpenCV版本: 2.4.9 5.推荐代码结合博文一起看,学习效果更佳。 by @浅墨_毛星云

资源截图

代码片段和文件信息


//-----------------------------------【程序说明】----------------------------------------------
// 程序名称::《【OpenCV入门教程之十四】OpenCV霍夫变换:霍夫线变换,霍夫圆变换合辑 》 博文配套源码 
// 开发所用IDE版本:Visual Studio 2010
//    开发所用OpenCV版本: 2.4.9
// 2014年5月26日 Created by 浅墨
// 配套博文链接: http://blog.csdn.net/poem_qianmo/article/details/26977557
// PS:程序结合配合博文学习效果更佳
// 浅墨的微博:@浅墨_毛星云 http://weibo.com/1723155442
// 浅墨的知乎:http://www.zhihu.com/people/mao-xing-yun
// 浅墨的豆瓣:http://www.douban.com/people/53426472/
//----------------------------------------------------------------------------------------------

//-----------------------------------【头文件包含部分】---------------------------------------
// 描述:包含程序所依赖的头文件
//---------------------------------------------------------------------------------------------- 
#include 
#include 
#include 

//-----------------------------------【命名空间声明部分】--------------------------------------
// 描述:包含程序所使用的命名空间
//----------------------------------------------------------------------------------------------- 
using namespace std;
using namespace cv;


//-----------------------------------【全局变量声明部分】--------------------------------------
// 描述:全局变量声明
//-----------------------------------------------------------------------------------------------
Mat g_srcImage g_dstImageg_midImage;//原始图、中间图和效果图
vector g_lines;//定义一个矢量结构g_lines用于存放得到的线段矢量集合
//变量接收的TrackBar位置参数
int g_nthreshold=100;

//-----------------------------------【全局函数声明部分】--------------------------------------
// 描述:全局函数声明
//-----------------------------------------------------------------------------------------------

static void on_HoughLines(int void*);//回调函数
static void ShowHelpText();


//-----------------------------------【main( )函数】--------------------------------------------
// 描述:控制台应用程序的入口函数,我们的程序从这里开始
//-----------------------------------------------------------------------------------------------
int main( )
{
//改变console字体颜色
system(“color 3F“);  

ShowHelpText();

//载入原始图和Mat变量定义   
Mat g_srcImage = imread(“1.jpg“);  //工程目录下应该有一张名为1.jpg的素材图

//显示原始图  
imshow(“【原始图】“ g_srcImage);  

//创建滚动条
namedWindow(“【效果图】“1);
createTrackbar(“值“ “【效果图】“&g_nthreshold200on_HoughLines);

//进行边缘检测和转化为灰度图
Canny(g_srcImage g_midImage 50 200 3);//进行一次canny边缘检测
cvtColor(g_midImageg_dstImage CV_GRAY2BGR);//转化边缘检测后的图为灰度图

//调用一次回调函数,调用一次HoughLinesP函数
on_HoughLines(g_nthreshold0);
HoughLinesP(g_midImage g_lines 1 CV_PI/180 80 50 10 );

//显示效果图  
imshow(“【效果图】“ g_dstImage);  


waitKey(0);  

return 0;  

}


//-----------------------------------【on_HoughLines( )函数】--------------------------------
// 描述:【顶帽运算/黑帽运算】窗口的回调函数
//----------------------------------------------------------------------------------------------
static void on_HoughLines(int void*)
{
//定义局部变量储存全局变量
 Mat dstImage=g_dstImage.clone();
 Mat midImage=g_midImage.clone();


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     127300  2014-05-25 20:33  OpenCVdemo11\OpenCVdemo11\1.jpg

     文件        662  2014-05-26 09:00  OpenCVdemo11\OpenCVdemo11\Debug\cl.command.1.tlog

     文件          2  2014-05-26 09:00  OpenCVdemo11\OpenCVdemo11\Debug\cl.read.1.tlog

     文件        234  2014-05-26 09:00  OpenCVdemo11\OpenCVdemo11\Debug\cl.write.1.tlog

     文件       3298  2014-05-26 09:00  OpenCVdemo11\OpenCVdemo11\Debug\link.command.1.tlog

     文件     190294  2014-05-26 09:00  OpenCVdemo11\OpenCVdemo11\Debug\main.obj

     文件        406  2014-05-23 16:08  OpenCVdemo11\OpenCVdemo11\Debug\OpenCVdemo11.exe.embed.manifest

     文件        472  2014-05-26 09:00  OpenCVdemo11\OpenCVdemo11\Debug\OpenCVdemo11.exe.embed.manifest.res

     文件        381  2014-05-26 09:00  OpenCVdemo11\OpenCVdemo11\Debug\OpenCVdemo11.exe.intermediate.manifest

     文件         64  2014-05-26 09:00  OpenCVdemo11\OpenCVdemo11\Debug\OpenCVdemo11.lastbuildstate

     文件       4880  2014-05-26 09:00  OpenCVdemo11\OpenCVdemo11\Debug\OpenCVdemo11.log

     文件        214  2014-05-23 16:08  OpenCVdemo11\OpenCVdemo11\Debug\OpenCVdemo11_manifest.rc

     文件        590  2014-05-26 09:00  OpenCVdemo11\OpenCVdemo11\Debug\rc.command.1.tlog

     文件          2  2014-05-26 09:00  OpenCVdemo11\OpenCVdemo11\Debug\rc.read.1.tlog

     文件          2  2014-05-26 09:00  OpenCVdemo11\OpenCVdemo11\Debug\rc.write.1.tlog

     文件     502784  2014-05-26 09:00  OpenCVdemo11\OpenCVdemo11\Debug\vc100.idb

     文件    1003520  2014-05-26 09:00  OpenCVdemo11\OpenCVdemo11\Debug\vc100.pdb

     文件       4151  2014-05-26 09:32  OpenCVdemo11\OpenCVdemo11\main.cpp

     文件       4387  2014-05-26 09:35  OpenCVdemo11\OpenCVdemo11\OpenCVdemo11.vcxproj

     文件        942  2014-05-23 16:08  OpenCVdemo11\OpenCVdemo11\OpenCVdemo11.vcxproj.filters

     文件        143  2014-05-23 15:40  OpenCVdemo11\OpenCVdemo11\OpenCVdemo11.vcxproj.user

     文件        682  2014-05-26 09:36  OpenCVdemo11\OpenCVdemo11\Release\cl.command.1.tlog

     文件          2  2014-05-26 09:36  OpenCVdemo11\OpenCVdemo11\Release\cl.read.1.tlog

     文件        238  2014-05-26 09:36  OpenCVdemo11\OpenCVdemo11\Release\cl.write.1.tlog

     文件       3884  2014-05-26 09:36  OpenCVdemo11\OpenCVdemo11\Release\link.command.1.tlog

     文件    1084309  2014-05-26 09:36  OpenCVdemo11\OpenCVdemo11\Release\main.obj

     文件        381  2014-05-26 09:36  OpenCVdemo11\OpenCVdemo11\Release\OpenCVdemo11.exe.intermediate.manifest

     文件         66  2014-05-26 09:36  OpenCVdemo11\OpenCVdemo11\Release\OpenCVdemo11.lastbuildstate

     文件       3397  2014-05-26 09:36  OpenCVdemo11\OpenCVdemo11\Release\OpenCVdemo11.log

     文件     774144  2014-05-26 09:36  OpenCVdemo11\OpenCVdemo11\Release\vc100.pdb

............此处省略16个文件信息

评论

共有 条评论