其他分享
首页 > 其他分享> > 【图像检测】基于霍夫变换 Hough变换实现图片车道线检测matlab代码

【图像检测】基于霍夫变换 Hough变换实现图片车道线检测matlab代码

作者:互联网

1 简介

本文提出了一种新的基于霍夫变换的复杂情况下车道线检测的算法,这个算法能够成功在夜晚,白天,有阴影,车道线磨损不太严重等复杂情况下检测出车道线.传统的车道线检测算法主要为直接在图像中进行霍夫变换,这种算法实时性差,计算量大.本文提出的算法将先对原图像进行处理,设置ROI区域减少计算量,转换颜色空间并且扫描图像灰度值划分出有阴影的区域进行处理,最后判断最有可能出现车道线的区域,进行霍夫变换检测出车道线.经过实验表明,这种算法的实时性更好,能够成功在复杂情况下检测到车道线.

车道线检测阶段主要包含以下几个步骤:

( 1) 利用一种sobol边缘提取方法实现车道线的边缘检测,这种算法根据图像特点自动计算高低阈值。

( 2) 采用霍夫变换方法进行直线检测。与传统方法相比,减少了计算量,提高了运算效率。

( 3) 根据斜率将干扰直线剔除,同时根据斜率将左右车道线分类。

( 4) 对左右车道线进行直线拟合,利用拟合出的直线将车道线延长至感兴趣区域边缘。

2 部分代码

clear all;
close all;
clc
startNum=0;
imStr=num2str(startNum);
imName=strcat('1000_',imStr,'.bmp');
orig=imread(imName);
origGray = rgb2gray(orig);%转为灰度图像
mylane=origGray;
[height,width] = size(origGray);
figure,imshow(origGray),title('origGray');
[origEdgeBw,sobthresh]= edge(origGray,'sobel','vertical'); % B、Bw表示二值化
edgedIm = double(origGray).*double(origEdgeBw);
figure,imshow(edgedIm);
r=MyFilt(edgedIm,100);
figure,imshow(r);

3 仿真结果

4 参考文献

[1]吴恩泓. "基于霍夫变换的复杂情况下车道线检测." 科教导刊(电子版) 000.004(2019):270-273.

标签:origGray,车道,变换,检测,霍夫,Hough,算法
来源: https://blog.csdn.net/m0_60703264/article/details/121188134