如何利用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%


