基于OpenCV的车道线实时检测系统(源码&教程)

1.研究背景

随着无人车驾驶技术的飞速发展,对车道线检测技术的实时性也提出了更高的要求.基于OpenCV对车道线进行检测,首先对车载系统采集的图像进行裁剪随、灰度化、然后对灰度化的图像进行滤波,增强图像质量,接着对增强后的图像进行膨胀处理并对其进行边缘检测,最后选取感兴趣区域、概率霍夫直线变换及拟合.从而得出预想车道线检测图像.实验表明:将采集到的图像进行两次裁剪能够使车辆车道线图像进行高效、实时性并且高精度的检测,适用于户外高速行驶的车辆进行车道线检测。

2.图片演示

1.png

3.png
2.png

3.视频演示

基于OpenCV的车道线实时检测系统(源码&教程)_哔哩哔哩_bilibili

4.算法流程图

image.png

5.高斯滤波

高斯滤波经常用于去除图像当中的一些高斯噪声,目前常用的图像滤波技术主要分为空域滤波技术与频域滤波技术,由于本文对车道线检测的实时性要求较高以及在频域滤波时高频信号不会被污染,故选取频域当中的高斯滤波 , 高斯滤波实质上就是低通滤波,如图所示。

image.png
降噪前后对比如图:
image.png

6.图像自适应边缘提取

该博客提出的方案,在对采集到的图形经过灰度化,高斯平滑滤波之后,得到的图像有所增强,但是其灰度等级依旧是 256 级,对后续的车道线检测工作会产生影响。因此本文采用最大类间方差技术和二值化技术对图像进行处理,从而排除图像中的一些干扰,使图像在车道线检测中的准确率和检测效率得以提升。阈值的选择由采集的图像所决定,本文采用最大类间方差法 (otsu)与 OpenCV 库中的函数 CV2.Threshold(img,0,255,cv2.THRESH_BINARY+ CV2.OTSU),如图所示。图像边缘提取的技术主要有:Sobel、Laplace、Canny、Roberts 以及 Prewitt 等边缘检测算法。由于 Canny 算子可以检测更多的车道线边缘信息,本文采用 Canny 边缘检测算子 对最大类间方差处理后的图像进行边缘检测 , 检测图像如图所示:
image.png

7.车道线感兴趣区域划分

由于车载摄像头所采取的图像像素一般为 616×808,分辨率较好,但是其中包含了车辆、天空、行道

  • 1
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值