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

3
假设我有如下图所示的线条,并以极坐标格式(rho和theta)表示。这些线条是经过OpenCV的HoughLines函数进行一些后处理后的输出。(抱歉,我还没有被允许嵌入图像。)
我想做的是:给定任何一条线,找到所有与该线垂直的线,如下图所示。
我知道如何在笛卡尔线上完成这项工作,但我对两条直线必须具有什么rho和theta属性才能成为垂直线感到困惑,尽管我至少从根本上了解了极坐标线的原理。抱歉,如果这是基本内容,但我很难在网上找到任何解释。我需要先将线转换为笛卡尔坐标系,还是有更简单的方法可以实现?任何帮助都将不胜感激,谢谢!
1个回答

3
在极坐标系中获得垂直线,只需取第一条线的theta值,并找到所有theta值为第一个theta值的正负90度的线。
在比较角度时,必须将角度归一化为0度至360度或其他范围。
因此,如果线1具有theta值line1.Theta, 那么到另一条线的角度是a = (line2.Theta - line1.Theta), 并且您想要所有a接近于-90度、90度、270度、-270度的线, 具体取决于您如何归一化角度。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接