车牌识别-模板匹配-BP神经网络-卷积神经网络[深度学习]

文章来源:http://blog.csdn.net/fighting_dreamer/article/details/56285738


1 车牌识别的步骤

  1. 车牌定位
  2. 车牌分割
  3. 字符识别 
    正如上面所讲,车牌识别主要分为3个部分,其中第一部分车牌定位,一般采用颜色定位,特征定位等,这方面一堆资料我就不写了.分割一般采用投影法.识别的话方法就比较多了,有模板匹配,bp神经网络,卷积神经网络等.

2 一个简单的例子

先读取车牌图片


 [uuu,vvv]=uigetfile({'*.jpg;*.tif;*.png;*.gif;*.BMP;*.JPEG','All Image Files'} ,'MultiSelect', 'on');%获取一张车牌照片
path=strcat(vvv,uuu);%拼接图片路径
img_rgb=imread(path);
imshow(img_rgb);title('原图');
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

这里写图片描述

%% 开始二值化处理


figure1=figure(1);subplot(231);imshow(img_rgb);title('原图');
subplot(232);imshow(img_rgb);title('二值化后的图 ")

  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

这里写图片描述 
调用rot_angle子函数,计算图像需要旋转的最佳角度要旋转的最佳角度,返回 后旋转图像.


Angle=rot_angle(s_b,6,-6,1)
if Angle~=0
    s_bw1=imrotate(s_bw1,Angle,'nearest','crop');
end 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

%% % 调用字符分割函数分割处理好的车牌


devide_word=devide_word(plate);
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

这里写图片描述

%% %调用训练好的cnn网络识别车牌


resault=recognize(plate_word)

  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

这里写图片描述

上面大体是,车牌识别的大概步骤, 
识别采用卷积神经网络识别,效果最好.训练网络时样本数一定要大, 
我的样本数大概是800多,

这里写图片描述

别的例子,证明卷积神经网络的优越性.

这里写图片描述 
这里写图片描述 
这里写图片描述 

你可能感兴趣的:(MATLAB)