我有一个关于HoughLines的opencv图书馆的问题。格式如下官网链接:
C:void HoughLines(输入阵列图像、输出阵列线、双菱形、双θ、整数阈值、双srn=0、双stn=0)
以及线的输出数组参数的说明,它表示:
线-线的输出矢量。每条线都由一个双元素向量表示:rho和θ。对于垂直线,θ是0,对于水平线,θ/2(辐射度)。
谁能告诉我线输出θ的规律性是什么?
非常感谢!
Rho是所有传入Rho的“存储桶”或累加器数组的大小,或与原点的距离。图像中可能的最长距离是从左上角到右下角,因此为了获得最大精度,请将该值插入houghlines rho。θ是所有传入θ的桶的大小。要获得最大精度,您需要180的值。要仅检测偶数角度,θ应为90。要仅检测可被30整除的角度,θ应为6
这是我所理解的。我认为你的控制台应该显示的角度是橙色的(大约-0.72拉德)。但似乎OpenCV使用正角为所有平行线到你的线。我的意思是紫色的角度,这是你的控制台显示(约2.5拉德)。所以你的线有这个θ和rho(到线的距离)是负值。这是因为你的线位于原点的右侧。(我画了画在油漆,对不起,如果它不漂亮)
OpenCV的文档、这个问题的另一个答案以及维基百科(在撰写这个答案时)都是错误的。这是我有生以来第一次在维基百科上发现技术错误。
cv2。HoughLines为您提供映射到直线的对(r,θ)。θ是(图像的)x轴与直线之间的逆时针角。它在零和π之间。Rho是图像左上角到直线的“距离”。正如OP所指出的,rho通常为负值,因此不是一个合适的距离。以下是OpenCV的作者的意思:
如果θ
如果θ