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

来源:互联网 发布:bartender vb脚本示例 编辑:程序博客网 时间:2024/06/16 00:05

      经过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 两点确定可以画出直线,不过这种方法只能画出直线,不能确定线段是从哪开始到哪儿结束。