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

标签 opencv math polar-coordinates houghlines

假设我有下图中显示的线条,以极坐标格式(rho 和 theta)表示。这些线是 OpenCV 的 HoughLines 函数经过一些后期处理后的输出。 (抱歉,我还不能嵌入图片。)

enter image description here

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

enter image description here

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

最佳答案

要获得极坐标中的垂直线,您只需取第一条线的 theta,然后找到其 theta = 第一条 theta 的 +/- 90° 的所有线。

比较它们时,您必须将角度归一化到 0°-360° 或其他范围内。

所以如果第 1 行有一个 theta line1.Theta
那么与另一条线的角度是a = (line2.Theta - line1.Theta)
并且您想要 a 接近 -90°、90°、270°、-270° 的所有线,...
取决于你如何标准化你的角度

关于opencv - 如何在极坐标中找到垂直线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50416502/

相关文章:

python - 在Debian Linux(Raspberry Pi)上使用cv2 Python禁用GUI栏

python - 如何使用python删除图像中人物周围的白色边框/边缘?

python - 傅里叶变换可以有哪些参数?/如何处理移位后的结果?

c++ - cmath 中的 pow() 实现和高效替换

c++ - 使用 .at 运算符 openCV (C++) 时出错

math - 二维三重乘积构造垂直线

math - 与截断的 SHA-256 哈希发生冲突的概率

r - 如何在R中绘制极坐标?

python - 将图像从笛卡尔坐标转换为极坐标 - 肢体变暗

javascript - 在 HTML5 Canvas 中创建粒子以遵循圆形路径