我的问题是关于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 ..
答案 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
,则必须通过参数名称传递它们。