Bootstrap

OpenCV机器视觉-识别红绿颜色

识别红绿颜色


识别车道线


车道线检测


使用opencv来完成一个车道线检测的案例

完成这样的案例我们需要经历哪些步骤呢 ? 我们先来思考一下解决问题的思路.当前情况下,摄像头拍出了很多的东西,例如路边的杂草远方的山.但是在我们自动驾驶的过程中,我们并不需要这么多东西,所以我们要考虑提取感兴趣的区域.有了感兴趣的区域之后,我们接下来就需要来识别道路.大家可能会想道路可能会有弯道,但是在小范围内,它还是直线,所以我们可以使用前面我们学过的霍夫直线来进行检测。

这张摄像头拍摄到的照片
在这里插入图片描述

这张是我们使用canny边缘检测算法得到的图片

在这里插入图片描述

然后使用多边形截去不感兴趣的区域

在这里插入图片描述

通过以上三个步骤之后,下面我们就可以使用霍夫直线的方式,提取到车辆直线啦!

示例代码


import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt

def canny(image):
    gray = cv.cvtColor(image,cv.COLOR_BGR2GRAY);
    blur = cv.GaussianBlur(gray,(5,5),0)
    canny= cv.Canny(blur,50,100)
    return canny

def roi(image):
    height = image.shape[0]
    polygons = np.array([[(200,height),(1100,height),(550,250)
;