假设我有下图所示的线条,以极坐标格式(rho和theta)表示。这些行是一些后处理后OpenCV的HoughLines函数的输出。 (对不起,我还不允许嵌入图片。)
我想要做的是,给定任何一条线,找到垂直于该线的所有线,如下面第二张图所示。
我理解如何使用笛卡尔线来做到这一点,但是我无法理解rho和theta的两个线必须垂直的属性,尽管我理解极线如何工作至少从根本上。对不起,如果这是基本的东西,但我无法在任何地方在线找到任何解释。我是否需要先将线转换为笛卡尔坐标,还是有一些更简单的方法可以做到这一点?非常感谢任何帮助,谢谢!
答案 0 :(得分:1)
要获得极坐标中的垂直线,只需取第一行的theta,找到第一个θ的θ= +/- 90°的所有线。
比较它们时,您必须将角度标准化为0°-360°或其他范围。
所以如果第1行有一个theta line1.Theta
那么到另一条线的角度是a = (line2.Theta - line1.Theta)
你希望所有的线都接近-90°,90°,270°,-270°,......
取决于你如何规范你的角度