【交通标志识别】基于matlab BP神经网络交通标志识别【源码30期】

一、简介

基于matlab BP神经网络交通标志识别,交通标志识别系统作为智能交通系统与先进辅助驾驶系统的重要组成部分,提高交通标志检测与识别算法的准确率和实时性非常重要。算法的实时性决定了研究成果能否转化为具有实际应用价值的产品。在汽车数量日益增加、交通安全事故居高不下,要求不断提升汽车的驾驶智能化的现实压力面前,开展以实时应用为目标的交通标志检测与识别技术研究,具有重大的研究意义。

二、部分源码

clear all;
close all;
I=imread('1.jpg');
I=imresize(I,[640,480]);
figure,imshow(I);title('原图');
[m,n]=size(I);
Hsv=rgb2hsv(I);   %将图像由RGB颜色空间转化为HSV颜色空间

I1=Hsv(:,:,1);    
I2=Hsv(:,:,2);  
I3=Hsv(:,:,3);    

BW1=roicolor(I1,0,0.35); 
BW2=roicolor(I2,0.6,1);
BW=BW1&BW2;

se=strel('square',3);
figure,imshow(BW);title('二值化图象');
%腐蚀
BW=imerode(BW,se);%将二值图象腐蚀;
BW=imerode(BW,se);
figure,imshow(BW);title('腐蚀后的图象');
se=strel('disk',10); %创建一个指定半径10的平面圆盘形的结构元素
BW1=imclose(BW,se);%将图象置白色;
SE=ones(10);
PZ=imdilate(BW1,SE);%将二值图象膨胀;

TC=bwfill(PZ,'holes');

LK=bwareaopen(TC,1500);  
figure,imshow(LK);title('最大轮廓的图象');
[B,L] = bwboundaries(LK,'noholes');%B中坐标表示相反(y,x)
len=length(B);
temp_mean=zeros(len,2);
temp_std=zeros(len,2);
temp_min=zeros(len,2);
temp_max=zeros(len,2);
for i=1:len
    temp_mean(i,:)=mean(B{i},1);
    temp_std(i,:)=std(B{i});
    temp_min(i,:)=min(B{i});
    temp_max(i,:)=max(B{i});    
end
out=imcrop(I,[fliplr(temp_min),fliplr(temp_max-temp_min)]); 
figure,imshow(out);title('结果');
out_final=imresize(out,[32 32]);
figure,imshow(out_final);title('最终结果');

三、运行结果

四、matlab版本

MATLAB R2019a

五、学习与交流

文中不足之处请大家多多指教,学习与交流可以联系企鹅:3752243968
文中部分源码仅供参考,若需要全部代码可以私信

  • 25
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值