Python 二值图像中的车道检测(由云点形成)
我一直试图在我使用点云创建的二值图像中检测车道,但由于某些原因,我无法正确地检测到车道。下面是输入图像 这是我使用canny后得到的图像 但是经过Hough变换后的最终图像看起来并不好。我试着改变参数,但没有多大帮助Python 二值图像中的车道检测(由云点形成),python,opencv,image-processing,hough-transform,Python,Opencv,Image Processing,Hough Transform,我一直试图在我使用点云创建的二值图像中检测车道,但由于某些原因,我无法正确地检测到车道。下面是输入图像 这是我使用canny后得到的图像 但是经过Hough变换后的最终图像看起来并不好。我试着改变参数,但没有多大帮助 img = cv2.imread('cp.jpg') gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) blurred = cv2.GaussianBlur(gray, (3, 3), 0) edges = cv2.Canny(blurre
img = cv2.imread('cp.jpg')
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
blurred = cv2.GaussianBlur(gray, (3, 3), 0)
edges = cv2.Canny(blurred,10,150,apertureSize = 3)
cv2.imwrite('canny_image.jpg',edges)
cv2.waitKey(0)
minLineLength = 1
maxLineGap = 5
lines = cv2.HoughLinesP(edges,1,np.pi/180,200,minLineLength,maxLineGap)
for arr in lines:
x1,y1,x2,y2 = arr[0]
cv2.line(img,(x1,y1),(x2,y2),(0,0,255), 4)
cv2.imwrite('hough.jpg',img)
cv2.waitKey(0)
尝试更改参数
minLineLength
和maxLineGap
,应该可以。否则,请尝试形态学操作
。您的二值图像看起来很平滑,但仔细检查,线条形成中似乎有小的中断,我建议应用一些形态学操作来连接远处的白色像素,以获得更好的结果。