车牌识别-模板匹配-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
车牌识别-模板匹配-BP神经网络-卷积神经网络[深度学习]
文章图片

%% 开始二值化处理
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
车牌识别-模板匹配-BP神经网络-卷积神经网络[深度学习]
文章图片

调用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
车牌识别-模板匹配-BP神经网络-卷积神经网络[深度学习]
文章图片

%% %调用训练好的cnn网络识别车牌
resault=recognize(plate_word)

  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4
车牌识别-模板匹配-BP神经网络-卷积神经网络[深度学习]
文章图片

上面大体是,车牌识别的大概步骤,
识别采用卷积神经网络识别,效果最好.训练网络时样本数一定要大,
我的样本数大概是800多,
车牌识别-模板匹配-BP神经网络-卷积神经网络[深度学习]
文章图片

别的例子,证明卷积神经网络的优越性.
【车牌识别-模板匹配-BP神经网络-卷积神经网络[深度学习]】 车牌识别-模板匹配-BP神经网络-卷积神经网络[深度学习]
文章图片

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

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

    推荐阅读