当前位置:首页 > 代码 > 正文

车牌识别matlab代码的简单介绍

admin 发布:2022-12-19 19:32 130


今天给各位分享车牌识别matlab代码的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

急求用BP神经网络实现车牌识别的MATLAB程序代码

车牌识别技术(Vehicle License Plate Recognition,VLPR) 是计算机视频图像识别技术在车辆牌照识别中的一种应用。车牌识别技术要求能够将运动中的汽车牌照从复杂背景中提取并识别出来,通过车牌提取、图像预处理、特征提取、车牌字符识别等技术,识别车辆牌号,目前的技术水平为字母和数字的识别率可达到96%,汉字的识别率可达到95%。

附件为基于matlab的车牌识别的源程序(可以实现),其中包括车牌定位,车牌矫正,字符分割,字符识别4部分。还有已训练好的BP神经网络用于字符识别。

你好请问你有matlab车牌识别的字符模板吗?

车牌字符识别模板

篇一:车牌识别的matlab程序(程序,讲解,模板)

clc

clear close all

I=imread('chepai.jpg');

subplot(3,2,1);imshow(I), title('原始图像');

I_gray=rgb2gray(I);

subplot(3,2,2),imshow(I_gray),title('灰度图像');

%======================形态学预处理 ====================== I_edge=edge(I_gray,'sobel');

subplot(3,2,3),imshow(I_edge),title('边缘检测后图像'); se=[1;1;1];

I_erode=imerode(I_edge,se);

subplot(3,2,4),imshow(I_erode),title('腐蚀后边缘图像');

se=strel('rectangle',[25,25]);

I_close=imclose(I_erode,se);%图像闭合、填充图像 subplot(3,2,5),imshow(I_close),title('填充后图像');

I_final=bwareaopen(I_close,2000); %去除聚团灰度值小于2000的部分 subplot(3,2,6),imshow(I_final),title('形态滤波后图像');

%==========================车牌分割 ============================= I_new=zeros(size(I_final,1),size(I_final,2)); location_of_1=[];

for i=1:size(I_final,1) %寻找二值图像中白的点的位置 for j=1:size(I_final,2)

if I_final(i,j)==1;

newlocation=[i,j];

location_of_1=[location_of_1;newlocation];end end end

mini=inf;maxi=0;

for i=1:size(location_of_1,1)

%寻找所有白点中,x坐标与y坐标的和最大,最小的两个点的位置 temp=location_of_1(i,1)+location_of_1(i,2); if temp

if tempmaximaxi=temp;b=i;

end

end

first_point=location_of_1(a,:); %和最小的点为车牌的左上角 last_point=location_of_1(b,:);%和最大的点为车牌的右下角 x1=first_point(1)+4; %坐标值修正 x2=last_point(1)-4; y1=first_point(2)+4;

y2=last_point(2)-4; I_plate=I(x1:x2,y1:y2);

I_plate=OTSU(I_plate); %以OTSU算法对分割出的车牌进行自适应二值化处理

I_plate=bwareaopen(I_plate,50);

figure,imshow(I_plate),title('车牌提取') %画出最终车牌

%=========================字符分割============================ X=[]; %用来存放水平分割线的横坐标 flag=0;

for j=1:size(I_plate,2)

sum_y=sum(I_plate(:,j));

if logical(sum_y)~=flag%列和有变化时,记录下此列X=[X j];

flag=logical(sum_y); end end

figure

for n=1:7

char=I_plate(:,X(2*n-1):X(2*n)-1); %进行粗分割

for i=1:size(char,1)%这两个for循环对分割字符的上下进行裁剪if sum(char(i,:))~=0 top=i; breakend end

for i=1:size(char,1)

if sum(char(size(char,1)-i,:))~=0 bottom=size(char,1)-i; breakend en

求数字信号处理有关车牌识别的MATLAB代码

虽然我未必能帮助你解决这个问题,但是还是想说几句来帮助你。

(1)车牌照识别是属于图像处理里面的内容,MATLAB里面有图像处理工具箱可以帮助你,但是不能帮你彻底解决问题。

(2)能否无错识别肯定和图片的清晰度有关,没有任何一个软件或者代码可以保证完全识别出来,当然,在仅仅考虑图片清晰的前提下(即肉眼可以很轻松识别),还是可以保证比较高的识别率。

(3)这个问题涉及到图片的方位判断,边界提取,字符匹配 等算法,本质上不是一个代码问题,而是一个算法问题。也不局限于MATLAB来解决,GIS,C++,等软件都可以用来做。但是算法才是关键。

(4)给你一些参考文献,希望能对你有启发。

[1] 刘峡壁,贾云得. 一种字符图像线段提取及细化算法[J]. 中国图象图形学报. 2005(01): 48-53.

[2] 李文举,梁德群,崔连延,等. 一种新的面向字符分割的车牌图像预处理方法[J]. 计算机应用研究. 2004(07): 258-260.

[3] 曹建海,路长厚. 基于小波变换和DCT的字符图像特征抽取新方法[J]. 光电子•激光. 2004(04): 477-482.

[4] 付仲良,陈江平,黄书强,等. 货车图像车牌区快速定位及字符切割算法[J]. 计算机工程与设计. 2003(01): 77-79.

[5] 王建平,盛军,朱程辉. 基于小波分析的视频图像字符特征提取方法研究[J]. 微电子学与计算机. 2002(05): 51-53.

[6] 吴大勇,魏平,侯朝桢,等. 一种车牌图像中的字符快速分割与识别方法[J]. 计算机工程与应用. 2002(03): 232-233.

[7] 陈锻生,谢志鹏,刘政凯. 复杂背景下彩色图像车牌提取与字符分割技术[J]. 小型微型计算机系统. 2002(09): 1144-1148.

[8] 顾晖,程晨,梁惺彦. 利用模糊边界提取算法实现医学图像边界提取[J]. 现代计算机(专业版). 2008(01): 38-40.

[9] 罗诗途,王艳玲,罗飞路,等. 基于分形几何边界提取的图像跟踪方法[J]. 应用光学. 2006(01): 19-22.

[10] 王少霞,颜钢峰. 基于张弛法的图像边界提取算法[J]. 江南大学学报. 2005(05): 53-55.

[11] 王艳玲,张玘,罗诗途. 基于分形几何边界提取的图像跟踪方法[J]. 光电子技术与信息. 2005(06): 49-52.

[12] 付青青,冯桂. 噪声图像中边界提取方法的研究[J]. 电脑与信息技术. 2003(01): 22-25.

[13] 王晖,张基宏. 多尺度图像边界提取的小波算法与最优准则[J]. 深圳大学学报. 1997(Z1): 21-25.

基于matlab的车牌识别系统

基于MATLAB的卷积神经网络CNN车牌识别,这个运行就无误,值得参考。

在必过源码也有很多车牌识别的相关资料,你可以去了解一下。

matlab车牌定位与识别代码,哪位大神能给逐句注释一下

逐句 可能没法呢 寡人已经在论坛解释过了 有问题呼我把

首先

1、定位部分 [temp MaxY]=max(white_y); %temp为向量white_y的元素中的最大值,MaxY为该值的索引(在向量中的位置),也就是说temp为车牌矩阵每一列求和的最大值,即车牌x方向最多像素的地方,(姑且叫他像素中线)那么

while ((Blue_y(PY1,1)=5)(PY11)) PY1=PY1-1; 就可以确实车牌上边缘,同理

while ((Blue_y(PY2,1)=5)(PY2y)) PY2=PY2+1;确定下边缘 。为什么是大于5呢,刚才已经知道是车牌x方向所有列的和,也就是宽,车牌单个字符,那么范围为0-128px,如果值越大,则上下边缘就像素中线就近了,那么车牌车牌横向就短了嘛

,同理。while ((Blue_y(1,PX1)3)(PX1x)) PX1=PX1+1;

为什么是3呢。,车牌单个字符的,值确定,那么车牌车牌纵向区域就窄了

2、分割:

首先对车牌图像自左向右逐列扫描,寻找连续有文字的区间块,将该区间块的有效宽度与某一固定阈值(本文设定的阈值为10,可更改)进行比较,若小于该设定阈值,则认为是左侧干扰,裁剪干扰区域;反之,分割出该模糊

字符块。

3)判断该字符区域是否为有效区域。首先建立矩阵,依据车牌先验知识,分析该字符区域的有效宽度及宽高比(1:2),即可判断是否为干扰区域,若为字符区域,进一步去除伪字符区域,则分割出第一个字符;反之,认为是左侧干扰区域进行裁剪。

解释:本程序对于定位部分比较理想的情况下 分割率为50%+,但对川字车牌没有鲁棒性,由于川字未连通,所以会被当作背景而切除,其他省份,暂时没有遇到过。当然如果定位后的车牌倾角大于20度这样,那么必须校正,否则会出错

3、分割:这部分就悲剧了,采用的是单纯的模板相减,并且程序没有标准模板

建议计算相关系数,用距离变换进行匹配把

车牌识别matlab代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、车牌识别matlab代码的信息别忘了在本站进行查找喔。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/20648.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载