如何利用Python 和 OpenCV 进行车道线检测?
网友回复
具体代码如下:
import cv2 import numpy as np def detect_lanes(frame): """检测车道线""" # 转换为灰度图 gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) # 高斯模糊 blur = cv2.GaussianBlur(gray, (5, 5), 0) # Canny边缘检测 edges = cv2.Canny(blur, 50, 150) # 定义感兴趣区域 height, width = frame.shape[:2] roi_vertices = np.array([[(0, height), (width/2, height/1.5), (width, height)]], dtype=np.int32) mask = np.zeros_like(edges) cv2.fillPoly(mask, roi_vertices, 255) masked_edges = cv2.bitwise_and(edges, mask) # 霍夫变换检测直线 lines = cv2.HoughLinesP(masked_edges, 1, np.pi/180, 50, minLineLength=100, maxLineGap=50) return lines def draw_lanes(frame, lines): """绘制车道线""" line_image = np.zeros_like(frame) if lines is not None: for line in lines: x1,...
点击查看剩余70%