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

dd2*_*210 4 python opencv hough-transform

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

以下是本教程的摘录:

cv2.HoughLinesP(image,rho,theta,threshold [,lines [,minLineLength [,maxLineGap]]]))吗?线

我不太了解“ lines [,”的含义。我以以下方式使用该功能:

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

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

坦克

Fro*_*oyo 5

你必须这样使用

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

如果您阅读了有关霍夫变换和概率霍夫变换的文章,您会发现使用累加器累加了所有边缘点。rho是累加器的距离分辨率(以像素theta为单位),是累加器的角度分辨率(以弧度为单位)。

cv2.HoughLinesP(image, rho, theta, threshold[, lines[, minLineLength[, maxLineGap]]]) ? linesdocs而言,这是一种函数重载,但是由于python提供了可选参数,因此可以使用它。lines[只是意味着您可以传递将存储行的numpy数组。因此,现在,如果要传递其他参数并跳过lines,则必须通过参数名称传递它们。