我正在尝试使用openCV和hough变换检测网球场中的直线。我想找出水平线和垂直线,以便找到交叉点,最终发现网球场的角落。
这是原图。
但我有一些问题。
1)我试图使用HoughLineP。
代码如下:gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
edges = cv2.Canny(gray,100,200,apertureSize = 3)
lines = cv2.HoughLinesP(edges, 1, np.pi/2, 6, None, 50, 10);
for line in lines[0]:
pt1 = (line[0],line[1])
pt2 = (line[2],line[3])
cv2.line(img, pt1, pt2, (0,0,255), 2)
cv2.imshow('dst',img)
return res
2)我试着用HoughLines
这里是密码gray=cv2.cvtColor(res,cv2.COLOR_BGR2GRAY)
edges = cv2.Canny(gray,100,200,apertureSize = 3)
#Lignes
lines = cv2.HoughLines(edges,1,np.pi/70,110)
for rho,theta in lines[0]:
if (np.pi/70 <= theta <= np.pi/7) or (2.056 < theta < 4.970) or (1.570