一、简介
基于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
文中部分源码仅供参考,若需要全部代码可以私信