车牌识别及验证码识别.doc

车牌识别及验证码识别.doc

ID:28592977

大小:261.00 KB

页数:13页

时间:2018-12-11

车牌识别及验证码识别.doc_第1页
车牌识别及验证码识别.doc_第2页
车牌识别及验证码识别.doc_第3页
车牌识别及验证码识别.doc_第4页
车牌识别及验证码识别.doc_第5页
资源描述:

《车牌识别及验证码识别.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、车牌识别及验证码识别引言:本文主要对于车牌识别系统来说,D,0,O,I,1等等太相似了。然后,汉字的识别难度也不小,因此很难达到分辨率在95%以上,但是可以作为图像处理技术的小论文,在此放出,同时描述一下思路及算法。一、车牌/验证码识别的普通方法车牌、验证码识别的普通方法为:(1)将图片灰度化与二值化(2)去噪,然后切割成一个一个的字符(3)提取每一个字符的特征,生成特征矢量或特征矩阵(4)分类与学习。将特征矢量或特征矩阵与样本库进行比对,挑选出相似的那类样本,将这类样本的值作为输出结果。下面借着代码,描述一下上述过程。因为更新SVNServer,我以前以bd

2、b储存的代码访问不了,因此部分代码是用Reflector反编译过来的,望见谅。(1)图片的灰度化与二值化这样做的目的是将图片的每一个象素变成0或者255,以便以计算。同时,也可以去除部分噪音。图片的灰度化与二值化的前提是bmp图片,如果不是,则需要首先转换为bmp图片。用代码说话,我的将图片灰度化的代码(算法是在网上搜到的):Code1protectedstaticColorGray(Colorc)2{3intrgb=Convert.ToInt32((double)(((0.3*c.R)+(0.59*c.G))+(0.11*c.B)));4returnColo

3、r.FromArgb(rgb,rgb,rgb);5}6通过将图片灰度化,每一个象素就变成了一个0-255的灰度值。然后是将灰度值二值化为0或255。一般的处理方法是设定一个区间,比如,[a,b],将[a,b]之间的灰度全部变成255,其它的变成0。这里我采用的是网上广为流行的自适应二值化算法。Code1publicstaticvoidBinarizate(Bitmapmap)2{3inttv=ComputeThresholdValue(map);4intx=map.Width;5inty=map.Height;6for(inti=0;i

4、r(intj=0;j=tv)11{12map.SetPixel(i,j,Color.FromArgb(0xff,0xff,0xff));13}14else15{16map.SetPixel(i,j,Color.FromArgb(0,0,0));17}18}19}20}2122privatestaticintComputeThresholdValue(Bitmapimg)23{24inti;25intk;26doublecsum;27intthresholdValue=1;28int[]ihis

5、t=newint[0x100];29for(i=0;i<0x100;i++)30{31ihist[i]=0;32}33intgmin=0xff;34intgmax=0;35for(i=1;i<(img.Width-1);i++)36{37for(intj=1;j<(img.Height-1);j++)38{39intcn=img.GetPixel(i,j).R;40ihist[cn]++;41if(cn>gmax)42{43gmax=cn;44}45if(cn

6、intn=0;53for(k=0;k<=0xff;k++)54{55sum+=k*ihist[k];56n+=ihist[k];57}58if(n==0)59{60return60;61}62doublefmax=-1.0;63intn1=0;64for(k=0;k<0xff;k++)65{66n1+=ihist[k];67if(n1!=0)68{69intn2=n-n1;70if(n2==0)71{72returnthresholdValue;73}74csum+=k*ihist[k];75doublem1=csum/((double)n1);76doubl

7、em2=(sum-csum)/((double)n2);77doublesb=((n1*n2)*(m1-m2))*(m1-m2);78if(sb>fmax)79{80fmax=sb;81thresholdValue=k;82}83}84}85returnthresholdValue;86}8788灰度化与二值化之前的图片:灰度化与二值化之后的图片:注:对于车牌识别来说,这个算法还不错。对于验证码识别,可能需要针对特定的网站设计特殊的二值化算法,以过滤杂色。(2)去噪,然后切割成一个一个的字符上面这张车牌切割是比较简单的,从左到右扫描一下,碰见空大的,咔嚓一刀,

8、就解决了。但有一些车牌,比如这张:简单

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。