基于MATLAB交通标志识别系统的设计与实现

摘 要

  随着互联网技术的不断提高,人民生活水平也不断提高,私家车在每家每户都流行起来,众多的交通事故给群众生活带来了不幸,伴随着研究的深入,无人驾驶汽车的实用性逐渐备受人民关注。然而,在无人驾驶中,交通标志识别是一项重要的任务。本文基于MATLAB设计并仿真交通标志识别系统,主要内容为基于交通标志识别定位、形态学操作原理、模板匹配算法等原理对交通标志进行图像读取、颜色分量提取、去除干扰、图像分割、图像识别五大模块,通过MATLAB仿真识别图像当中的交通标志。交通标志识别系统很大程度上减少了交通事故频发现象,也为未来的无人驾驶、无人机导航以及导盲拐杖奠定了一定的理论基础和实践依据。

关键词:交通标志;图像分割;形态学;模板匹配;

系统结构流程图

  用matlab对水下激光成像系统进行仿真,激光从水上传输到水下,碰到物体返回水面上的相机镜头,最终到达相机,通过相机镜头后,还有多少光能量,是否低于相机阈值。可以估算水下激光成像系统的极限距离。也可以根据所需传输距离,来反推需要的激光器功率大小及脉冲宽度,相机口径的大小,和最低可探照度。导波传输的场分布。这样,图形简单明了,可以加强我们对金属波导装置的理解与实际应用。
  把浊度与水体的衰减度联系到一起,由于水体的衰减度不好测量,可以通过浊度计测出浊度来大概估计一下水体的衰减度。
  交通标志在进行使用的过程当中,最基本的就是通过对这些交通标志图来进行一定的识别作用,也就是通过对图像的整体处理和识别来进行改变,将其进行输入原始的数据利用一系列图像处理技术方法来进行采用,在色彩方面,也通过进行一系列的处理提取出其中所存在感兴趣的领域,与之前所存在的模式进行比较获取,其中所存在的最大值来将进行指定和发展,这是整体的系统结构流程图。我总结为下图所示
  交通标志检测系统结构流程图如下:
在这里插入图片描述

图3-1基于MATLAB的交通标志自动检测系统结构流图

图像处理与识别系统的构成

  我们在使用微机图像处理系统的过程当中,可以将其总结为以下三个部分:
  (1)采集部件
  我们在进行采集的过程当中,就是通过将原始的图像数据来进行加入到计算机整体的内部因素当中,并且在整体的采集中也将其中所存在的信号转换为对应的数字,在计算机接收之后再进行整体的运算操作。
(2)图像处理部件
我们相聚于危机的图像处理过程当中,图像处理工作室由微信来进行完成的危机的扩展,汤也具有对应的采集卡,我们再进行处理的过程当中,主要将其储存到计算机的内存中来,实现各项步骤能够通过直接使用的内存采集卡来进行交换工作,提高图像处理过程中的速度所在。
(3)识别结果的输出部件
  图像能够实现输出和处理的过程是最终的目的,并且我们从广义的角度来讲,对图像进行输出,我们可以表现为以下两种模式,第一种就是能够根据图像处理的结果来做出对应的预判,比如说在进行质量检测的过程当中可能会存在合格和不合格的现象,在输出的过程当中,我们一定要以其作为最终的形式来进行表达,而这种提示就可以根据计算机屏幕的信息或者是电频信号的高低来进行输出和运作。

基于颜色特征的目标提取

  本设计是采用基于颜色的方法,以红色的禁令标志为例,在图像中需要找出红色分量明显的区域。基于一幅读取的交通标志图像,彩色图像上面的每一个像素点,它的是有R、G、B三个通道分别取一个数字,也就是灰度直方图0~255组成。因为世界上的任何颜色都是由这三个颜色按照不同的比例组成的。所以对于图像上面的每一个像素点,先求出每一个像素点的R、G、B三个灰度值。只要这三个灰度值的关系满足对应的关系,那么这个像素点就会变成白色,不符合这个关系的像素点就会变成黑色。
  在进行图像的二值化处理的过程当中,就是将图像上所显示的灰度值来进行测定,表现出整体所呈现的黑白效果,也就是其中所体现的各种亮度的等级进行展示的图像模式。
在这里插入图片描述

图3-1 交通标志颜色分量提取

基于颜色模型的图像分割

  我们下去图像进行分割之后,图像当中可能会出现一些杂散的噪点,我们需要对这些噪点来进行过滤,再进行反应的过程当中,使对应的目标进行缩小,其中,可以消除小于结果元素所在的噪声点,能够对上一节当中图像当中的目标进行标记和追踪工作,所以我们很容易得到所有轮廓去的长度和面积方面的信息,并且进行标识。
在这里插入图片描述

图3-2原图与腐蚀之后对比
其中,膨胀的作用就是将与物体在进行接触的过程当中,会将对应的被景琰来进行结合,使对应的目标产生增大的效果。
在这里插入图片描述

图3-3 原图与膨胀之后对比
然后删除小面积对象,用bwareaopen库函数。移除小对象,小区域肯定是噪声,即为干扰
处理后如图3-4:
在这里插入图片描述

图3-4 滤除干扰后
得到上图以后,通过计算相应像素坐标,在原图上得以分割出彩色交通标志,如图3-5所示:
在这里插入图片描述

图3-5 图片分割

GUI设计与制作

  在进行界面的设计过程当中,我们通过找出其中所存在的图形用户来进行整体的设计工作,其中,在进行设计的过程中,更加方便和快捷再进行使用时,就可以一起对应的工具和方法进行采用,比如设计,一个设计优秀的图像能够更加直观,可以熟知应该怎样去进行操作。
  GUI制作与设计主要有几大模块:图片读取模块、颜色分量提取模块、去除干扰及分割模块、图片识别模块。

图片读取

  在图像进行模式识别之前,首先就是要从模板库中读取模板,之后才可以进行匹配识别。在进行图片读取时,点击按钮,选择对应识别的交通标志颜色类型,也同时为后面的颜色分量提取进行下一步研究,中国的交通标志颜色主要为红、黄、蓝,本课题设计依照红、黄、蓝三种颜色标识进行设置选择检测按钮。如图4-1下:
在这里插入图片描述

图4-1交通标志颜色分类按钮
下表4-1就是测试图片读取算法的部分实现代码:

表4-1图片读取的核心代码

if filename    
    cd(cd1);
    d = imread(filename);
    cd(handles.cd0);
    handles.I = d;
    axes(handles.axes1);
    imshow(d);
    title('原图');
    handles.filename = filename;    
    box on;    
end

读取的图片如下图4-2:
在这里插入图片描述

图4-2 读取的图片

特征提取

  其中所体现的图像特征就包括形状特征和颜色特征,而颜色特征当中就具有一定的旋转和尺度的不变性所在,所以我们在进行采取的过程当中,一定要招惹其中所存在的特性来进行分析和使用?
  RGB图像读入之后,获取感兴趣的目标区域,由4-2图交通标志是红色的,需要在该图像中需要找出红色分量明显的区域。
  根据一个经验值,分量在以下区间属于红色分量。
表4-2 交通标志颜色分量提取核心代码

DI = Image(:,:,1);
GI = (Image(:,:,1)>110 & Image(:,:,2)<150 & Image(:,:,3)<150 ...
            & abs(double(Image(:,:,2))-double(Image(:,:,3)))<50 & abs(double(Image(:,:,1))-double(Image(:,:,2)))>30);

  其中Image(:,:,1)表示彩色图像Image的R【红色red】通道;Image(:,:,2)表示G通道【绿色Green】;Image(:,:,3)表示B通道【蓝色blue】。 当满足红色通道>110,且绿色通道<150,且蓝色通道<150,并且绿色和蓝色差值<50,且红色和绿色差大于30的时候,分割到的是红色分量。即提取到的交通标志如下图4-3:
在这里插入图片描述

图4-3 颜色分量提取图

图片分割

  由于旁边建筑物的遮挡,会出现较多的噪声和杂志,图4-3中还存在误差,需要将干扰给去除。本文通过先膨胀后腐蚀的设计方法实现,用来填充物体内细小空洞、连接与物体相粘连的物体、同时可以平滑其边界,但是并不改变其面积大小。标记连通区域,去除小面积的误差(这里指噪声),通过形态过滤,去除干扰后保留下来的作为目标区域。调用函数 bwareaopen,下表4-3为去除小面积干扰的部分实现代码。
表4-3去除干扰的核心代码

d = handles.GI; se = ones(3); d = imdilate(d,se); d = imerode(d,se); d = bwareaopen(d,100); L = bwlabel(d,8);

滤除小面积干扰之后得到所感兴趣的目标区域,如图4-4所示:
在这里插入图片描述

图4-4去除干扰后的图片
按照模板库比例大小一样的图,最后得出分割的图片如下4-5所示:
在这里插入图片描述

图4-5最后分割出来的图

图片识别

  交通标志识别是将检测后特征提取的图像具体的标识内容识别出来,运用计算机智能处理技术输入到控制器,控制整车的运行状态,或者通过语音或其他方式供驾驶员了解道路场景状况规范自己驾驶行为。
  将RGB原图分割出来之后,再将其灰度化、二值化、反色处理,之后将其大小调整至和模板大小一样,因为模板匹配的时候,两幅二值化图片的大小要一样才能够进行模板匹配,之后再读取模板,同样对模板库里的图片取特征值,调用识别函数,切割的字符与模板库里的字符做差值对比,输出最小值,就可以得出该图片和模板库里面哪一幅图片相似度最大了。部分代码实现如下表4-4:
表4-4 模板匹配核心代码

for j=1:18 
Template=imread(strcat('模板库\',num2str(j),'.jpg'));    
Template=rgb2gray(Template);
    Template=im2bw(Template);
    Differ=Im-Template;
    Compare(j)=sum(sum(abs(Differ)));
end
index=find(Compare==(min(Compare)));
index=num2str(index);

由上图4-5分割图片最终显示结果如下图4-6:
在这里插入图片描述

图4-6 识别结果图

总 结

   在当今时代发展过程当中,科技越来越发达,并且有伴随着自动化的现象也越来越提高了,整体的发展要求,并且,有的国家在进行驾驶的过程当中,通过将各项交通工具进行投入和使用来进行表达,其中就包括着中坚力量的存在。而本人在进行研究的过程当中,也取得了一定的研究成果。学到了很多相关的知识理论算法。但是在过程中遇到过不少难题。在实验分析过程中仍有许多不足与干扰影响系统的准确实现。
(1)由于RGB图像易受光照影响较大,很有可能导致颜色失真严重。
(2)交通标志牌在自然界中受到的各种污损也会使颜色和形状发生明显变化[15]。
(3)准确性太低,不仅起不到预期的辅助驾驶作用,反而引发交通安全事故,不仅要克服技术的难点,也要考虑到经济成本的制约。
(4)随着社会经济的发展,交通标志牌的种类也逐渐扩大。中国交通标志种类就已经达到116种,这其中还不包括派生类型,导致在识别过程中可能会出现误差。
(5)没有公用的数据样本。
(6)视角变化多样,汽车运动识摄像机与所获取的交通标志的夹角会不断的变化,识交通标志图像出现视角畸变。
  随着学术发展的研究,国内外智能化技术的发展十分迅猛,在各个方面也是逐步突破,相信无人驾驶汽车也会很快被带入到现实生活中,逐渐的流行起来,这对于交通安全事故是具有重大意义的。

目录

目录

第一章 绪论 1
1.1 研究背景与意义 1
1.2 国内外交通标志识别发展历史及研究现状 1
1.2.1 国外发展历史及研究现状 1
1.2.2 国内发展历史及研究现状 2
1.3 论文的研究内容与结构安排 3
第二章 MATLAB交通标志识别的算法理论 4
2.1 MATLAB简介 4
2.2  基于RGB颜色模型的图像分割 4
2.2.1 色彩空间模型 5
2.2.2  RGB颜色模型分割算法 5
2.3 形态学操作原理 6
2.3.1 基本结构 6
2.3.2 形态学基本原理 7
2.4 模板匹配在图像识别中的应用 10
2.4.1 相似性测度求匹配 10
2.4.2 序贯相似性检测的算法 12
2.4.3 模板匹配相关算法 13
第三章 交通标志识别系统的设计 15
3.1 系统结构流程图 15
3.2 图像处理与识别系统的构成 16
3.3基于颜色特征的目标提取 16
3.4 基于颜色模型的图像分割 17
3.5图像模式识别 19
第四章 交通标志识别系统的实现 20
4.1 交通标识简介 20
4.2 GUI设计与制作 20
4.2.1 图片读取 20
4.2.2 特征提取 22
4.2.3图片分割 22
4.2.4 图片识别 23
4.3 GUI界面系统测试 24
第五章 总结与展望 27
参考文献 28
致 谢 30

  • 2
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值