如何在极坐标中找到垂直线?

时间:2018-05-18 17:26:41

标签: opencv math polar-coordinates houghlines

假设我有下图所示的线条,以极坐标格式(rho和theta)表示。这些行是一些后处理后OpenCV的HoughLines函数的输出。 (对不起,我还不允许嵌入图片。)

enter image description here

我想要做的是,给定任何一条线,找到垂直于该线的所有线,如下面第二张图所示。

enter image description here

我理解如何使用笛卡尔线来做到这一点,但是我无法理解rho和theta的两个线必须垂直的属性,尽管我理解极线如何工作至少从根本上。对不起,如果这是基本的东西,但我无法在任何地方在线找到任何解释。我是否需要先将线转换为笛卡尔坐标,还是有一些更简单的方法可以做到这一点?非常感谢任何帮助,谢谢!

1 个答案:

答案 0 :(得分:1)

要获得极坐标中的垂直线,只需取第一行的theta,找到第一个θ的θ= +/- 90°的所有线。

比较它们时,您必须将角度标准化为0°-360°或其他范围。

所以如果第1行有一个theta line1.Theta
那么到另一条线的角度是a = (line2.Theta - line1.Theta)
你希望所有的线都接近-90°,90°,270°,-270°,...... 取决于你如何规范你的角度