0
点赞
收藏
分享

微信扫一扫

【车牌识别】基于卷积神经网络CNN实现车牌识别附matlab代码

左手梦圆 2022-02-23 阅读 156

1 简介

基于CNN的车牌识别精定位算法,可以改进传统的车牌识别算法,提高识别系统的准确率和鲁棒性。先采用Haar特征的级联分类器实现对图像中车牌位置的粗定位;而后综合随机抽样一致化算法与Sobel算子实现精定位算法的精确定位与车牌矫正;再针对精确定位算法中的车牌字符切割,对其进行直方图均衡化后,利用车牌字符分布特征的分割算法完成分割;最后,使用keras搭建深度卷积神经网络(CNN)有效地对分割后的字符进行准确的识别。实验结果表明,本设计提出的识别系统在保证鲁棒性良好前提下,准确性优于各传统算法,对应各变化场景的车牌识别准确率达98% 以上。车牌识别系统有3部分:一是车牌定位模块;二是字符分割模块;三是字符识别模块。车牌定位模块通过对图像进行灰度化处理、模糊处理、HAAR特征级联类器探测、车牌边缘精定位等操作实现对车牌区域的提取。字符分割模块则是通过对车牌进行灰度图像均值化处理,自适应二值化处理,文字边缘检测等手段,结合车牌的字符分布特征从车牌上分割字符。字符识别模块则是通过字符数据训练一个卷积神经网络实现字符识别。并将输入图片和输出结果使用GUI界面显示。具体的系统流程图见图3。

2 部分代码

function zimu = duquzimu(s10,s11,s12,s13,s14,s15,s16,s17,s18,s19,...                         s20,s21,s22,s23,s24,s25,s26,s27,s28,s29,...                         s30,s31,s32,s33)             %1-5 ABCDE 6-10FGHIJ 11-15 KLMNP 16-20 QRSTU 21-25 VWXYZzimu(:,:,1)   =imresize(im2bw(s10,graythresh(rgb2gray(s10))),[110 55],'bilinear');zimu(:,:,2)   =imresize(im2bw(s11,graythresh(rgb2gray(s11))),[110 55],'bilinear');zimu(:,:,3)   =imresize(im2bw(s12,graythresh(rgb2gray(s12))),[110 55],'bilinear');zimu(:,:,4)   =imresize(im2bw(s13,graythresh(rgb2gray(s13))),[110 55],'bilinear');zimu(:,:,5)   =imresize(im2bw(s14,graythresh(rgb2gray(s14))),[110 55],'bilinear');zimu(:,:,6)   =imresize(im2bw(s15,graythresh(rgb2gray(s15))),[110 55],'bilinear');zimu(:,:,7)   =imresize(im2bw(s16,graythresh(rgb2gray(s16))),[110 55],'bilinear');zimu(:,:,8)   =imresize(im2bw(s17,graythresh(rgb2gray(s17))),[110 55],'bilinear');zimu(:,:,9)   =imresize(im2bw(s18,graythresh(rgb2gray(s18))),[110 55],'bilinear');zimu(:,:,10)  =imresize(im2bw(s19,graythresh(rgb2gray(s19))),[110 55],'bilinear');zimu(:,:,11)  =imresize(im2bw(s20,graythresh(rgb2gray(s20))),[110 55],'bilinear');zimu(:,:,12)  =imresize(im2bw(s21,graythresh(rgb2gray(s21))),[110 55],'bilinear');zimu(:,:,13)  =imresize(im2bw(s22,graythresh(rgb2gray(s22))),[110 55],'bilinear');zimu(:,:,14)  =imresize(im2bw(s23,graythresh(rgb2gray(s23))),[110 55],'bilinear');zimu(:,:,15)  =imresize(im2bw(s24,graythresh(rgb2gray(s24))),[110 55],'bilinear');zimu(:,:,16)  =imresize(im2bw(s25,graythresh(rgb2gray(s25))),[110 55],'bilinear');zimu(:,:,17)  =imresize(im2bw(s26,graythresh(rgb2gray(s26))),[110 55],'bilinear');zimu(:,:,18)  =imresize(im2bw(s27,graythresh(rgb2gray(s27))),[110 55],'bilinear');zimu(:,:,19)  =imresize(im2bw(s28,graythresh(rgb2gray(s28))),[110 55],'bilinear');zimu(:,:,20)  =imresize(im2bw(s29,graythresh(rgb2gray(s29))),[110 55],'bilinear');zimu(:,:,21)  =imresize(im2bw(s30,graythresh(rgb2gray(s30))),[110 55],'bilinear');zimu(:,:,22)  =imresize(im2bw(s31,graythresh(rgb2gray(s31))),[110 55],'bilinear');zimu(:,:,23)  =imresize(im2bw(s32,graythresh(rgb2gray(s32))),[110 55],'bilinear');zimu(:,:,24)  =imresize(im2bw(s33,graythresh(rgb2gray(s33))),[110 55],'bilinear');

3 仿真结果

4 参考文献

[1]唐博. 基于卷积神经网络的运动模糊车牌识别. Diss. 西南交通大学, 2019.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

举报

相关推荐

0 条评论