版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 提高大跨钢屋架制作安装质量
- 催款居间协议
- 班主任与学生的情感联结计划
- 班级生物项目合作学习方案计划
- 科研助理劳动合同三篇
- 海湾明珠豪华海景住宅买卖协议三篇
- 2024年桂林c1客运资格证模拟考试题下载
- 2024年南京考客运资格证的题目
- 2024年海南客运人员安全知识考试题
- 2024年甘肃客运从业资格证的考试题目及答案是什么
- 地铁线路下穿铁路路线风险评估报告
- 餐饮企业消毒记录表模版
- 解除父女关系协议书怎么写(7篇)
- 初中数学北师大八年级上册 一次函数《与一次函数有关的三角形面积问题》教学设计
- 拖欠房租起诉书【5篇】
- 质量问题投诉登记、处理台账
- 弱电智能工程施工资料
- (优质)一年级趣味数学题课件
- (新教材)湘教湘科版四年级上册科学 5.3 怎样比较运动的快慢教学课件
- 多模态环境下的笔译课堂教学模式探究
- 《虞美人》课件29张-统编版高中语文必修上册
评论
0/150
提交评论