MATLAB_GUI项目 自然场景下限速标志识别

**实验要求:**基于数字图像处理,设计实现一个自然场景下公路交通限速标志分割和识别的程序。要求系统具有界面,并实现以下功能:
1)读入自然场景下包含交通标志的图像
2)对图像进行预处理
3)交通标志区域的定位
4)限速交通标志的分割
5)对限速标志中的数字进行分离和识别

选取的实验图像:
实验用图
图像预处理:这里为了满足实验要求添加了一个预处理环节,主要方法采用CLAHE方法,具体解释可以参考链接

采用该方法,可以直接在灰度图进行限制对比度自适应直方图均衡,也可以将彩色RGB图转化到LAB空间对L分量进行处理,也可以转化到HSV空间对H分量进行处理,这里附上转换至LAB空间进行CLAHE处理后的图像,其它方法读者可自行验证实验。
CLAHE处理

RGB = imread('traffic_sign.jpg');
LAB = rgb2lab(RGB);
L = LAB(:,:,1)/100;
L = adapthisteq(L,'NumTiles',[8 8],'ClipLimit',0.005);
LAB(:,:,1) = L*100;
J = lab2rgb(LAB);
figure
imshowpair(RGB,J,'montage')
title('原图(左)和经CLAHE增强后图(右) ')

**交通标志定位:**通过先验知识可以得知限速标志大都是红色外框的圆形标志,内含有限速数字,因此我们的定位方法为将图片转换到HSV空间,在HSV模型,H表示色调,S表示饱和度,V表示数值(对应图像亮度),提取出红色分量的像素区域
在这里插入图片描述

hsv=rgb2hsv(J);%转换到HSV空间
h1=hsv(:,:,1);%H分量
s1=hsv(:,:,2);%S分量
v1=hsv(:,:,3);%V分量
%提取红色分量   
hsvR=((h1<=0.056&h1>=0)|(h1>=0.740&h1<=1.0))&s1>=0.169&s1<=1.0&v1>=0.180&v1<=1.0;
figure,imshow(hsvR);title('原图hsv检测图像');

然后再使用二值化分析中的面积和离心率参数分离出图像中的面积较大(去除噪声红色)且呈圆形的区域,并定位加框。
GUI
**限速标志识别:**将定位区域的图像切下,循环处理进行识别,识别器的选择可以自己设计分类器,也可以直接调用MATLAB中的OCR函数进行识别,修改参数后可以进行识别,识别效果还可以接受。
ps:实验图中去除了全线禁停标志的最后加框,是识别后其识别结果为空,加了个条件限制自然就可以去掉了。
识别结果

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值