当用Python中的Hough变换执行行检测时,我得到了一个矩阵,其中每一行的值为rho和theta。在这些线中,我只取水平线。在
用下面的方法我可以从那条直线上提取几个点。在
for line in lines:
for rho, theta in line:
a = np.cos(theta)
b = np.sin(theta)
x0 = a*rho
y0 = b*rho
x1 = int(x0 + 1000*(-b))
y1 = int(y0 + 1000*(a))
x2 = int(x0 - 1000*(-b))
y2 = int(y0 - 1000*(a))
我读过HoughLines按累加器的值按升序对数组进行排序,但我想对数组进行排序,并将图像的顶行放在数组的第一个位置,这样就可以只画出那条线。在
我终于找到了解决办法
^{pr2}$
因此,您需要找到具有最小
rho
的水平线。您已经知道如何找到水平线,现在迭代这些水平线并找到具有最小rho
值的那条。在排序是查找最小值或最大值的一种昂贵的方法。我不太熟悉Python库,但我确信它有一个} 。在
max
函数,它将索引返回到最大的元素?啊,it does! You're looking for ^{相关问题 更多 >
编程相关推荐