Python OpenCV2:尝试对小线段使用HoughLine变换

2024-10-01 19:25:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我的代码:

image = cv2.imread('C:/Users/vinay/Desktop/hi.jpg')
imageResize = cv2.resize(image, (900,1200))
grayImage = cv2.Canny(imageResize,100,200,apertureSize=3,L2gradient=True)
finalGray = cv2.resize(grayImage, (900, 1200))
rows, columns = finalGray.shape
lines = cv2.HoughLinesP(finalGray,1, np.pi/180, 200, minLineLength=0,   maxLineGap=100)

#Or lines = cv2.HoughLine() -- don't know what parameters to use

for x1,y1,x2,y2 in lines[0]:
    cv2.line(picture, (x1,y1),(x2,y2),(0,0,255),1)

cv2.imwrite('FinalGrayTest.jpg', picture)

边缘检测后的图像:

enter image description here

我的问题是:

所以如果你看到这张图片,在大的垂直矩形下面有两个小正方形。我试着用Hough线变换。我该怎么用?HoughLineP()应该使用哪些参数?HoughLine方法更好吗?我需要什么参数?如何使用cv2.line()方法遍历列表,以及需要在该方法中输入哪些参数。 我现在只能画大直线。 谢谢您!你知道吗


Tags: 方法image参数cv2jpglinesx1x2

热门问题