资源简介
利用Hough变换完成直线检测,网上的huogh检测程序总是出错,我的这个程序已经调试通过,放心下载.直线检测的流程是:输入灰度图像,接下来是二值化处理变成黑白图像,然后通过Canny边缘检测算子获取边缘,最后利用霍夫变换检测直线,并绘制在原灰度图上面。
代码片段和文件信息
/* This is a standalone program. Pass an image name as the first parameter
of the program. Switch between standard and probabilistic Hough transform
by changing “#if 1“ to “#if 0“ and back */
#include
#include
#include
#include “limits“
using namespace cv;
const int kvalue = 15;//双边滤波邻域大小
int main()
{
Mat srcdstcolor_dst;
src=imread(“14.下极板镀层直线右(3-1).bmp“);
imshow(“原图“ src);
Canny(srcdst1501803);
imshow(“Canny边缘检测“ dst);
cvtColor( dst color_dst CV_GRAY2BGR );
#if 0
vector lines;
HoughLines( dst lines 1 CV_PI/180 100 );
for( size_t i = 0; i < lines.size(); i++ )
{
float rho = lines[i][0];
float theta = lines[i][1];
double a = cos(theta) b = sin(theta);
double x0 = a*rho y0 = b*rho;
Point pt1(cvRound(x0 + 1000*(-b))
cvRound(y0 + 1000*(a)));
Point pt2(cvRound(x0 - 1000*(-b))
cvRound(y0 - 1000*(a)));
line( color_dst pt1 pt2 Scalar(00255) 3 8 );
}
#else 这里采用的是LinesP也是一种相对简便的方式
vector lines;//注意这里使用的格式
HoughLinesP( dst lines 1 CV_PI/180 80 30 10 );
for( size_t i = 0; i < lines.size(); i++ )
{
// line( dst Point(lines[i][0] lines[i][1])
line( src Point(lines[i][0] lines[i][1])
Point(lines[i][2] lines[i][3]) Scalar(00255) 3 8 );//注意这里绘图的时候的颜色值,在cv里的颜色是BGR
}
#endif
namedWindow( “Source“ 1 );
imshow( “Source“ src );
imwrite( “Source.bmp“ src );
/* namedWindow( “Detected Lines“ 1 );
imshow( “Detected Lines“ color_dst );*/
waitKey(0);
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-12-23 19:23 Hough直线检测\
目录 0 2017-12-23 19:23 Hough直线检测\Debug\
文件 74752 2017-12-19 15:31 Hough直线检测\Debug\Hough.exe
文件 479280 2017-12-19 15:31 Hough直线检测\Debug\Hough.ilk
文件 1657856 2017-12-19 15:31 Hough直线检测\Debug\Hough.pdb
文件 77824 2017-12-19 17:03 Hough直线检测\Debug\HoughLine.exe
文件 528260 2017-12-19 17:03 Hough直线检测\Debug\HoughLine.ilk
文件 1682432 2017-12-19 17:03 Hough直线检测\Debug\HoughLine.pdb
目录 0 2017-12-23 19:23 Hough直线检测\Hough\
文件 1448758 2014-07-21 20:40 Hough直线检测\Hough\0.bmp
文件 1448758 2016-04-17 10:22 Hough直线检测\Hough\14.下极板镀层直线右(3-1).bmp
文件 1448758 2014-07-21 20:45 Hough直线检测\Hough\6.bmp
文件 1448758 2017-12-19 16:05 Hough直线检测\Hough\Canny边缘检测.bmp
文件 1448758 2017-12-19 16:00 Hough直线检测\Hough\Canny边缘检测11.bmp
目录 0 2017-12-23 19:23 Hough直线检测\Hough\Debug\
文件 65080 2017-12-20 15:11 Hough直线检测\Hough\Debug\CL.read.1.tlog
文件 500 2017-12-20 15:11 Hough直线检测\Hough\Debug\CL.write.1.tlog
文件 97 2017-12-19 15:31 Hough直线检测\Hough\Debug\Hough.lastbuildstate
文件 1759 2017-12-19 17:03 Hough直线检测\Hough\Debug\Hough.log
文件 77824 2017-12-20 15:11 Hough直线检测\Hough\Debug\HoughLine.exe
文件 912640 2017-12-20 15:11 Hough直线检测\Hough\Debug\HoughLine.ilk
文件 122 2017-12-20 15:11 Hough直线检测\Hough\Debug\HoughLine.lastbuildstate
文件 1909 2017-12-20 15:11 Hough直线检测\Hough\Debug\HoughLine.log
文件 1698816 2017-12-20 15:11 Hough直线检测\Hough\Debug\HoughLine.pdb
文件 3366 2017-12-20 15:11 Hough直线检测\Hough\Debug\cl.command.1.tlog
文件 246088 2017-12-19 15:31 Hough直线检测\Hough\Debug\hough.obj
文件 263563 2017-12-20 15:11 Hough直线检测\Hough\Debug\houghline.obj
文件 2 2017-12-20 15:11 Hough直线检测\Hough\Debug\li
文件 2 2017-12-20 15:11 Hough直线检测\Hough\Debug\li
文件 2 2017-12-20 15:11 Hough直线检测\Hough\Debug\li
文件 2 2017-12-20 15:11 Hough直线检测\Hough\Debug\li
............此处省略81个文件信息
- 上一篇:门诊收费功能演示.zip
- 下一篇:操作系统——内核与设计原理 PDF
评论
共有 条评论