OpenCV学习笔记(24)关于hough变换中pt1、pt2点的确定

本文介绍如何使用Hough线变换获取的极径和极角参数,通过计算转换为直角坐标系下的两个点来绘制直线。该方法适用于计算机视觉中的直线检测任务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      经过Hough线变换,可以得到一些线段集合,对于这些线段,每一条线段给的是两个值,在极坐标下面的极径和极角,那么如何画出这样的每条直线呢,可以用到line函数,但是line 函数中有两个参数需要确定,pt1和pt2。


如图所示:


因此有如下画图代码

for (i = 0; i < lines.size(); i++)
	{
		fRho = lines[i][0];
		fTheta = lines[i][1];
		Point pt1, pt2;
		double a = cos(fTheta);
		double b = sin(fTheta);
		double x0 = a*fRho;
		double y0 = b*fRho;
		pt1.x = cvRound(x0 + 100 * (-b));
		pt1.y = cvRound(y0 + 100 * (a));
		pt2.x = cvRound(x0 - 100 * (-b));
		pt2.y = cvRound(y0 - 100 * (a));
		line(ColorImage, pt1, pt2, Scalar(55, 100, 195), 1, LINE_AA);
	}

这样,pt1和pt2 两点确定可以画出直线,不过这种方法只能画出直线,不能确定线段是从哪开始到哪儿结束。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值