ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

21 - 霍夫变换 - 直线检测

2020-02-21 19:36:30  阅读:334  来源: 互联网

标签:直线 21 Gray hline 霍夫 source1 100 change1


21 - 霍夫变换 - 直线检测

代码 和理解注释:

#include<opencv2/opencv.hpp>;
#include<opencv2/imgproc/types_c.h>;
#include<iostream>;
using namespace cv;
using namespace std;
int main(int argc, char* argv) {  //   21 - 霍夫变换-直线检测 
	Mat source1,source1_Gray,change1;
	source1 = imread("F:\\OpenCV-Test\\TestPicture\\SourcePicture1\\12.jpg");
	if (!source1.data) { printf("can not load image ... \n"); return -1; }
	imshow("source1", source1);

	Canny(source1,source1_Gray,100,200);  // Canny 边缘检测《前提》
//	imshow("source1_Gray1", source1_Gray);
	cvtColor(source1_Gray,change1, CV_GRAY2BGR); //灰度转为BGR
	imshow("source1_Gray", source1_Gray);

	vector<Vec4f>  plines; // 二维浮点数组
	HoughLinesP(source1_Gray,plines,1,CV_PI/180.0,10,0,10); // 霍夫直线检测
		// (操作图像8-bit,线段坐标表示直线,扫描像素步长,生成极坐标角度步长,
    	// 阈值/一定数量的交点极坐标才当作直线,最小直线长度,最大间隔)
	Scalar color = Scalar(100,100,100);
	for (size_t i = 0; i < plines.size();i++) {
		Vec4f hline = plines[i];
		line(change1,Point(hline[0],hline[1]),Point(hline[2],hline[3]),color,3,LINE_AA); // 直线
	}
	imshow("change1",change1);
	waitKey(0);
	return 0;
}

代码演示效果:

 

 

 

奥瑞起源 发布了25 篇原创文章 · 获赞 0 · 访问量 524 私信 关注

标签:直线,21,Gray,hline,霍夫,source1,100,change1
来源: https://blog.csdn.net/lyjaoruiqiyuan/article/details/104428555

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有