找回密码
 注册
关于网站域名变更的通知
查看: 720|回复: 1
打印 上一主题 下一主题

如何通过计算机视觉去识别车道线

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-2-14 07:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
如何通过计算机视觉去识别车道线3 O) t( _5 e' |5 B. Z- ?

. y8 ~: A! `$ f4 X1 G

今天介绍的是如何通过计算机视觉去识别车道线,其实现在也有各种方法去识别车道线了。这次是基于Matlab的实现,过几天会更新Python版本的实现,虽然用的语言不一样,但是原理都是一样的。

预处理

摄像机获得的视频图像,由于受到周围环境的影响,存在着很多无用信息和各种各样的噪声干扰。为了准确的检测到道路线必须对图像进行预处理。首先,通过灰度化处理将原始彩色图像转换为灰色图像,然后采用大小为5*5的模板进行高斯滤波平滑处理,减小噪声干扰。高斯滤波的具体操作是:用一个模板(或称卷积、掩模)扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值。

若使用3×3模板,则计算公式如下

g(x,y)={f(x-1,y-1)+f(x-1,y+1)+f(x+1,y-1)+f(x+1,y+1)+[f(x-1,y)+f(x,y-                                              1)+f(x+1,y)+f(x,y+1)]*2+f(x,y)*4}/16;

其中,f(x,y)为图像中(x,y)点的灰度值,g(x,y)为该点经过高斯滤波后的值

由于天空并不存在车道的感兴趣区域,所以对图片进行了划分,将感兴趣区域划为一个三角形区域。如图1。

图一

预处理代码如下:

%读入RGB图片

I=imread('IMG00061.jpg');

%把RGB图转换为灰度图

I=rgb2gray(I);

%高斯滤波平滑处理

sigma = 1;

gausFilter =fspecial('gaussian', [5,5], sigma);

gaus= imfilter(I, gausFilter,'replicate');

%得到图片的宽和高

[h, w]=size(I);

%k是直线的斜率

%找出图片的感兴趣区域

k = 1.3;

for y=1:h

for x=1:w

if y < x*k + h-k*w || y < -k*x +h

I(y, x) = 0;

end

end

end

边缘检测

游客,如果您要查看本帖隐藏内容请回复


0 E5 Y" @7 }6 f' |, V8 {$ ^3 u7 U# m2 \4 h0 n

该用户从未签到

2#
发表于 2019-2-14 11:23 | 只看该作者
发帖是心得 回帖是美德
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-6-20 02:32 , Processed in 0.078125 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表