+
31
-

如何利用Python 和 OpenCV 进行车道线检测?

如何利用Python 和 OpenCV 进行车道线检测?


网友回复

+
25
-

具体代码如下:

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%

我知道答案,我要回答