【图像识别】国外车牌识别【Matlab 128期】【图像处理41】

1.简介
智能交通系统利用先进的信息技术改善交通状况,使交通更畅通、更安全、更绿色。车牌识别系统是的核心技术之一,它主要包括车牌定位、字符分割和字符识别三个核心模块。随着安防视频步入高清时代,视频的分辨率越来越高,智能交通系统对车牌识别技术有了更高的要求:处理速度更快、环境适应性更强、识别率更高。

本文从预处理、边缘检测、车牌定位、字符分割、字符识别五个方面,具体介绍了车牌自动识别的原理。并用MATLAB软件编程来实现每一个部分,最后识别出汽车牌照。

在这里插入图片描述
2 牌照字符分割

完成牌照区域的定位后,再将牌照区域分割成单个字符,然后进行识别。字符分割一般采用垂直投影法。由于字符在垂直方向上的投影必然在字符间或字符内的间隙处取得局部最小值的附近,并且这个位置应满足牌照的字符书写格式、字符、尺寸限制和一些其他条件。利用垂直投影法对复杂环境下的汽车图像中的字符分割有较好的效果。

计算水平投影进行车牌水平矫正。

去掉车牌的框架。

分析垂直投影找到每个字符中心的位置。

按左右宽度切割出字符。
在这里插入图片描述
3. 牌照字符识别

字符识别方法目前主要有基于模板匹配算法和基于人工神经网络算法。基于模板匹配算法首先将分割后的字符二值化,并将其尺寸大小缩放为字符数据库中模板的大小,然后与所有的模板进行匹配,最后选最佳匹配作为结果。基于人工神经元网络的算法有两种:一种是先对待识别字符进行特征提取,然后用所获得特征来训练神经网络分配器;另一种方法是直接把待处理图像输入网络,由网络自动实现特征提取直至识别出结果。实际应用中,牌照识别系统的识别率与牌照质量和拍摄质量密切相关。牌照质量会受到各种因素的影响,如生锈、污损、油漆剥落、字体褪色、牌照被遮挡、牌照倾斜、高亮反光、多牌照、假牌照等等;实际拍摄过程也会受到环境亮度、拍摄亮度、车辆速度等等因素的影响。这些影响因素不同程度上降低了牌照识别的识别率,也正是牌照识别系统的困难和挑战所在。为了提高识别率,除了不断的完善识别算法,还应该想办法克服各种光照条件,使采集到的图像最利于识别。

在这里插入图片描述

支持从导入原始图像,到最后的图像中的最后牌照输出到excel表格,其中经历了灰度处理,中值滤波,边缘检测,腐蚀,平滑等各种处理手段,之后产生了定位切割后的牌照图像,再对此牌照进字符识别处理,最后输出在excel表格上。
 
clc
close all;
clear;
load imgfildata;
 
[file,path]=uigetfile({
    
    '*.jpg;*.bmp;*.png;*.tif'},'Choose an image');
s=[path,file];
picture=imread(s);
[~,cc]=size(picture);
picture=imresize(picture,[300 500]);
 
if size(picture,3)==3
  picture=rgb2gray(picture);
end
% se=strel('rectangle',[5,5]);
% a=imerode(picture,se);
% figure,imshow(a);
% b=imdilate(a,se);
threshold = graythresh(picture);
picture =~im2bw(picture,threshold);
picture = bwareaopen(picture,30);
imshow(picture)
if cc>2000
    picture1=bwareaopen(picture,3500);
else
picture1=bwareaopen(picture,3000);
end
figure,imshow(picture1)
picture2=picture-picture1;
figure,imshow(picture2)
picture2=bwareaopen(picture2,200);
figure,imshow(picture2)
 
[L,Ne]=bwlabel(picture2);
propied=regionprops(L,'BoundingBox');
hold on
pause(1)
for n=1:size(propied,1)
  rectangle('Position',propied(n).BoundingBox,'EdgeColor','g','LineWidth',2)
end
hold off
 
figure
final_output=[];
t=[];
for n=1:Ne
  [r,c] = find(L==n);
  n1=picture(min(r):max(r),min(c):max(c));
  n1=imresize(n1,[42,24]);
  imshow(n1)
  pause(0.2)
  x=[ ];
 
totalLetters=size(imgfile,2);
 
 for k=1:totalLetters
    
    y=corr2(imgfile{
    
    1,k},n1);
    x=[x y];
    
 end
 t=[t max(x)];
 if max(x)>.45
 z=find(x==max(x));
 out=cell2mat(imgfile(2,z));
 
final_output=[final_output out];
end
end
 
file = fopen('number_Plate.txt', 'wt');
    fprintf(file,'%s\n',final_output);
    fclose(file);                     
    winopen('number_Plate.txt')

在这里插入图片描述
在这里插入图片描述
注:完整代码或者代写添加QQ2449341593。
往期回顾>>>>>>
【Matlab 024期】【图像处理1】Matlab图像处理教程系列之图像压缩
【Matlab 025期】【图像处理2】Matlab图像处理教程系列之图像分割(一)
【Matlab 026期】【图像处理3】Matlab图像处理教程系列之图像分割(二)
【Matlab 029期】【图像处理4】Matlab指纹识别
【Matlab 030期】【图像处理5】银行卡号识别matlab源码
【Matlab 074期】【图像处理6】【图像聚类】基于FCM和改进的FCM脑部CT图像聚类处理
【Matlab 075期】【图像处理7】【图像评价】基于CCF算法的图像质量评价
【Matlab 076期】【图像处理8】【图像增强】基于局部对比度增强的CLAHE算法 --直方图增强
【Matlab 077期】【图像处理9】【图像融合】基于Frequency Partition的图像融合
【Matlab 078期】【图像处理10】【图像评价】基于svm的图像无参考质量评价
【图像边缘检测】基于最小二乘法的椭圆边缘检测matlab源码【Matlab 079期】【图像处理11】
【图像加密】基于混沌系统的图像加密解密matlab源码含GUI【Matlab 080期】【图像处理12】
【图像处理】基于DWT+DCT+PBFO改进图像水印隐藏提取matlab源码含GUI【Matlab 081期】【图像处理13】
【图像配准】基于sift算法的图像配准matlab源码【Matlab 082期】【图像处理14】
【图像融合】基于CBF算法的图像融合matlab源码【Matlab 083期】【图像处理15】
【图像分割】基于随机游走算法的图像分割matlab源码【Matlab 084期】【图像处理16】
【图像滤波】图像二维双边高斯滤波【Matlab 085期】【图像处理17】
【图像去噪】基于自适应形态学的图像去噪【Matlab 086期】【图像处理18】
【图像增强】基于DEHAZENET和HWD的水下去散射图像增强【Matlab 087期】【图像处理19】
【图像增强】PSO寻优ACE的图像增强matlab源码【Matlab 088期】【图像处理20】
【图像增强】基于区域相似变换函数和蜻蜓算法的灰度图像增强【Matlab 089期】【图像处理21】
【图像重建】图像重建之ASTRA算法【Matlab 090期】【图像处理22】
【图像分割】基于四叉树图像分割matlab源码【Matlab 091期】【图像处理23】
【图像分割】心脏中心线提取【Matlab 092期】【图像处理24】
【图像识别】基于svm植物叶子疾病检测和分类【Matlab 093期】【图像处理25】
【图像识别】基于模板匹配之手写数字识别系统GUI界面【Matlab 094期】【图像处理26】
【图像识别】基于不变矩的数字验证码识别含GUI界面【Matlab 095期】【图像处理27】
【图像识别】条形码识别系统【Matlab 096期】【图像处理28】
【图像识别】基于RGB和BP神经网络的人民币识别系统含GUI界面【Matlab 097期】【图像处理29】
【图像识别】基于cnn卷积神经网络之验证码识别matlab源码【Matlab 098期】【图像处理30】
【图像分类】基于极限学习分类器对遥感图像分类【Matlab 099期】【图像处理31】
【图像直线拟合】基于最小二乘法的图像直线拟合并平分角平分线【Matlab 100期】【图像处理32】
【图像去雾】基于暗通道图像去雾【Matlab 101期】【图像处理33】
【图像变换】DIBR-3D图像变换(3D Image Warping)【Matlab 117期】【图像处理34】
【图像分割】基于形态学重建和过滤改进FCM算法(FRFCM)的的图像分割【Matlab 118期】【图像处理35】
【图像分割】基于模糊聚类算法FCM的图像分割【Matlab 119期】【图像处理36】
【图像分割】直觉模糊C均值聚类的图像分割IFCM【Matlab 120期】【图像处理37】
【图像分割】最大类间方差法(otsu)图像分割【Matlab 121期】【图像处理38】
Matlab银行监控系统人脸识别【Matlab 124期】【图像处理39】
基于GUI界面的MATLAB疲劳检测系统【Matlab 126期】【图像处理40】

猜你喜欢

转载自blog.csdn.net/TIQCmatlab/article/details/112758713