OpenCV 2.4.9中的概率Hough变换(Python)

时间:2014-08-30 12:49:59

标签: python opencv hough-transform

我的问题是关于OpenCV 2.4.9(Python)中的Hough变换。

以下是教程的摘录:

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

我真的不明白"行[,"手段。我以下列方式使用该功能:

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

但参数" 2"这真的是什么意思当我为该参数指定不同的值时,似乎没有任何变化。

Tnanks ..

1 个答案:

答案 0 :(得分:5)

你必须像这样使用它

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,则必须通过参数名称传递它们。