资源描述:
《基于图像处理的车牌识别B》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、研究生期末论文基于数字图像处理的车牌识别学院、系电子信息工程学院自动化系专业名称控制工程学生姓名苏良碧指导老师王振华2010年6月基于数字图像处理的车牌识别2.6.1上下边框的去除投影法是一种很简便的方法,有些类似于灰度直方图。借助投影法可以得到图像的投影曲线,分析投影曲线可以帮助获得图像中目标的位置信息。分析投影曲线是图像处理中最常用的方法。水平投影是图像中每一行在Y轴上的投影,统计白色像素点的个数(或者灰度值之和),画出水平投影曲线。经过目标增强和二值化之后,车牌图像中只有黑白两种颜色。水平投影(即向Y轴投影)之后,水
2、平边框部分和字符部分出现波峰。观察曲线,在曲线的上部和下部有两个极大值,那是车牌的上下边缘水平投影的结果,中间部分有曲线波动,是字符区域,字符区域一定在两个波谷之间。因此,由曲线的上下两个极大值分别从上向下和从下向上搜索波谷,由这两个波谷位置水平分割车牌,截去车牌的上下边框。搜索的波谷满足以下条件:(1)波谷值小于一个阈值;(2)两波谷之间的垂直距离在一定范围内(因为车牌的字符高度有一定范围)。2.6.2左边框的去除垂直投影是图像中每一列在X轴上的投影,统计白色像素点的个数(或者灰度值之和),画出垂直投影曲线。垂直投影(即
3、向X轴投影)之后,垂直边框部分和字符部分出现波峰。由于车牌第一个字符是汉字,不会出现象“1”这样的宽度极小的字符,因此垂直投影曲线左侧的第一个由波峰转入波谷的区域可能是左边框。增加3个判定条件用以删除左边框:(1)波峰值较大;(2)波谷值较小;(3)波峰与波谷的X轴距离较小。Matlab主程序:bw=im2bw(bw,graythresh(bw));figure,imshow(bw);bw=bwmorph(bw,'hbreak',inf);figure,imshow(bw);bw=bwmorph(bw,'spur',inf
4、);figure,imshow(bw);title('擦除之前');bw=bwmorph(bw,'open',5);figure,imshow(bw);title('闭合运算');bw=bwareaopen(bw,threshold);figure,imshow(bw);title('擦除');%%加入进度条h=waitbar(0,'程序运行中,请稍等......')fori=1:10000waitbar(i/5000,h)endclose(h);wavplay(wavread('程序运行中.wav'),22000);%%
5、bw=~bw;figure,imshow(bw);title('擦除反色');-2-基于数字图像处理的车牌识别%%对图像进一步裁剪,保证边框贴近字体bw=touying(bw);figure;imshow(bw);title('Y方向处理');bw=~bw;bw=bwareaopen(bw,threshold);bw=~bw;figure,imshow(bw);title('二次擦除');[y,x]=size(bw);%对长宽重新赋值投影Matlab程序:functionbw_fir=touying(imane_bw)X_
6、yuzhi=1;[y,x]=size(imane_bw);Y_touying=(sum((~imane_bw)'))';%往左边投影统计黑点X_touying=sum((~imane_bw));%往下面投影%找黑体边缘Y_up=fix(y/2);Y_yuzhi=mean(Y_touying((fix(y/2)-10):(fix(y/2)+10),1))/1.6;while((Y_touying(Y_up,1)>=Y_yuzhi)&&(Y_up>1))%找到图片上边界Y_up=Y_up-1;endY_down=fix(y/2
7、);while((Y_touying(Y_down,1)>=Y_yuzhi)&&(Y_down8、别图2.12擦除反色后的车牌图像Y图2.13Y方向处理后的车牌图像图2.14二次擦除后的车牌图像2.7文字分割至今人们己经提出了很多字符切分方法,这些算法大多成功用于解决文本文字识别问题,这些算法经过改进和扩展可以应用到车牌字符切分中去,总结起来看,常见的字符水平切分方法主要有:(1)基于字符区域纹理特