OpenCV 2.4.9中的概率霍夫变换(Python)

4

我想问一下关于在OpenCV 2.4.9(Python)中的Hough变换。

以下是来自教程的摘录:

cv2.HoughLinesP(image, rho, theta, threshold[, lines[, minLineLength[, maxLineGap]]]) → lines

我不太明白“lines[,”是什么意思。我以以下方式使用该函数:

lines = cv2.HoughLinesP(edges, 1, np.pi/180, 25, 2,25,115)

但这里的参数“2”实际上是什么意思?当我为该参数分配不同值时,似乎没有任何变化。

谢谢。

1个回答

6

你必须像这样使用它

lines = cv2.HoughLinesP(edge_image, rho=1.0, theta=math.pi/180.0,
                                    threshold=thresholdVal,
                                    minLineLength=minlinelengthVal,
                                    maxLineGap=maxlinegapVal)

如果你了解Hough Transforms和概率霍夫变换,你会意识到累加器用于积累所有边缘点。rho是像素中累加器的距离分辨率,theta是弧度中累加器的角度分辨率。
cv2.HoughLinesP(image, rho, theta, threshold[, lines[, minLineLength[, maxLineGap]]]) → lines文档而言,它属于函数重载,但由于Python提供了可选参数,因此使用了这种方式。lines[只是表示你可以传递一个numpy数组来存储线条。所以现在,如果你想通过参数名传递其他参数并跳过lines,你必须这样做。

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