识别红绿颜色
识别车道线
车道线检测
使用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)