版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上精选优质文档-倾情为你奉上专心-专注-专业专心-专注-专业精选优质文档-倾情为你奉上专心-专注-专业基于matlab的车牌识别的源程序clcclearfilename=E:matlab7.0car.jpg;%图片的路径I=im2gray(filename);%调用自编函数读取图像,并转化为灰度图象;tic %计时开始height,width=size(I);%预处理I_edge=zeros(height,width);%创建height*width矩阵for i=1:width-1%对每一列进行遍历 I_edge(:,i)=abs(I(:,i+1)-I(:,i);%每
2、列的值赋为原图像中左右两列相减的绝对值(即梯度)end% 归一化处理(0255)I_edge=(255/(max(max(I_edge)-min(min(I_edge)*(I_edge-min(min(I_edge);I_edge,y1=select(I_edge,height,width); %调用select函数选择图像的某个区域BW2 = I_edge;%一些形态学处理SE=strel(rectangle,10,10);%创建10*10的建构元素IM2=imerode(BW2,SE);%腐蚀IM2=bwareaopen(IM2,20);%删除小面积IM3=imdilate(IM2,SE)
3、;%膨胀 %先腐蚀再膨胀,进行了开运算,消除小物体%投影以粗略估计车牌位置p_h=projection(double(IM3),h); %调用projection函数,水平方向if(p_h(1)0) p_h=0,p_h;endp_v=projection(double(IM3),v); %调用projection函数,垂直方向if(p_v(1)0) p_v=0,p_v;end%p_h=double(p_h5);%水平方向p_h=find(p_h(1:end-1)-p_h(2:end)=0);len_h=length(p_h)/2;%p_v=double(p_v5);%垂直方向p_v=find(
4、p_v(1:end-1)-p_v(2:end)=0);len_v=length(p_v)/2;%粗略计算车牌候选区k=1;for i=1:len_h for j=1:len_v s=IM3(p_h(2*i-1):p_h(2*i),p_v(2*j-1):p_v(2*j); if(mean(mean(s)0.1) pk=p_h(2*i-1),p_h(2*i)+1,p_v(2*j-1),p_v(2*j)+1; k=k+1; end endendk=k-1;%进一步缩小车牌候选区for i=1:k edge_IM3=double(edge(double(IM3(pi(1):pi(2),pi(3):pi
5、(4),canny); x,y=find(edge_IM3=1); pi=pi(1)+min(x),pi(2)-(pi(2)-pi(1)+1-max(x),. pi(3)+min(y),pi(4)-(pi(4)-pi(3)+1-max(y); p_centeri=fix(pi(1)+pi(2)/2),fix(pi(3)+pi(4)/2); p_ratio(i)=(pi(4)-pi(3)/(pi(2)-pi(1);end%对上面参数和变量的说明:p为一胞元,用于存放每个图像块的左上和右下两个点的坐标;%存放格式为:pk=x1,x2,y1,y2;x1,x2分别为行坐标,y1,y2为列坐标%p_ce
6、nter为一胞元,用于存放每个图像块的中心坐标,p_centerk=x,y;x,y分别为行,列坐标%p_ratio为一矩阵,用来存放图像块的长宽比例%合并临近区域%如果有多个区域则执行合并if k1 n=0; ncount=zeros(1,k); for i=1:k-1 %需要调整if条件中的比例 %需要调整 %检查是否满足合并条件 if(abs(pi(1)+pi(2)-pi+1(1)-pi+1(2)=height/30&abs(pi+1(3)-pi(4)0) d_ncount=ncount(2:n+1)-ncount(1:n); %避免重复记录临近的多个区域。 index=find(d_nc
7、ount=1); m=length(index); for i=1:m ppi=pncount(index(i); %重新记录合并区域的比例 pp_ratio(i)=(ppi(4)-ppi(3)/(ppi(2)-ppi(1); end p=pp; %更新区域记录 p_ratio=pp_ratio; %更新区域比例记录 clear pp;clear pp_ratio; %清除部分变量 endendk=length(p); %更新区域个数%合并结束%根据区域比例判断是否为车牌区域%m=1;T=0.6*max(p_ratio);for i=1:k if(p_ratio(i)=T&p_ratio(i)
8、=thr*mean(max(ImageData);BW2=bwareaopen(y,10);%删除小面积对象 %格式:BW2 = bwareaopen(BW,P,conn) %作用:删除二值图像BW中面积小于P的对象,默认情况下conn使用8邻域。SE=strel(square,15);%创建一个正方形的结构元素 %SE = strel(shape, parameters) %根据shape指定的类型创建一个结构元素SE。IM2=imdilate(BW2,SE);%图像膨胀IM3=imerode(IM2,SE);%图像腐蚀 %1.开运算(先腐蚀后膨胀的过程):利用它可以消除小物体,在纤细点处分离物体,平滑较大物体边界,但同时并不明显改变原来物体的面积。OPEN(X,B) %2.闭运算(先膨胀后腐蚀的过程):利用它可以填充物体内细小空洞,连接临近物体、平滑其边界,但同时并不明显改变原来物体的面积。CLOSE(X,B)average=sum(sum(IM3)/(h*w); %将图像二值化while(average0.08) if(average=thr*mean(max(ImageData);%求向
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 题组18:期末综合测试(冲刺夺分卷)-(解析版)
- 月嫂培训实操课件
- 手术室等级评审条款汇报
- 2025年昌吉a2货运从业资格证考试
- 2025年浙江从业资格货运资格考试题库及答案解析
- 2025年长春从业资格证货运题库答案解析
- 口语交际 爱妈妈课件
- 2025不动产附负担赠与契约合同范本
- 图文预防手足口病
- 妇科肿瘤的PET-CT评估
- 配电房管理制度
- 腹腔镜肝切除手术配合
- 国开数据结构课程实验报告2
- 高中数学-2.1.1 数列教学设计学情分析教材分析课后反思
- 2023琅琊榜入榜统一考试(江左卷)语文试题及答案
- 中国式现代化成功推进和拓展的内在逻辑PPT课件(带内容)
- 七氟丙烷灭火系统产品出厂检验报告
- IGCSE经济学课件(英文版)
- 施工现场临时用电安全检查要点
- 高等级沥青路面柔性基层
- 2023版数学课程标准
评论
0/150
提交评论