基于hlcon的车牌的图像识别
其实车牌图像识别从技术上已经比较成熟,从理论上来说无外乎就是如下几个步骤:
灰度化:实际就是对原始车牌图片进行预处理,把彩色图片转化为黑白图片然后对不符合指定阙值范围的灰度值进行过滤。 车牌定位:这是技术难点之一,根据我的经验,定位车牌位置对于车牌的准确识别而言实际上就成功了6%。很多车牌识别的产品都对车牌的定位预留了很多配置参数例如截取原始图片的位置参数、车牌的长宽比例、大小等等,这些都是为了提高车牌定位的准确率。
字符分割车牌定位后是字符分割,本人使用的识别过程是:对定位的车牌位置进行降噪处理=>边界模糊=>从右向左找出前6个封闭的图形=>剩余的封闭图形综合为一个图形进行汉字的识别。
字符识别:就是根据字符模板进行模板匹配,因此需预先建立相应的字符模板。基于图像进行字符识别也可配置很多参数来大大提高字符的识别率。例如限定车牌头的字符车牌各位字符的识别优先级等等。
以下通过大车黄牌号码为例,看看车牌识别的效果。 、原始图片如下图所示:
2、限定车牌识别区域,本例中将裁剪掉上下左右各10%的区域:get_ ma g _po nter 1 (Fll ma g , inte r,Tpe Width, e ght)g en_ectangle 1 ectangle,He igt0.1,idth*0 1,Heigt* .9,Wdth*0.9rdue_doma (ull mage,ec tngle, mage)
看看裁剪结果:
3、把选中的区域灰度化,方便后续处理:d o m s 3 Image,Rd,reen, lue)tras_f mrb(d,Green, le,Hue,S atura on, Intens it 'hs v')
灰度化后的效果图:
4、灰度阙值过滤,本例中只选中灰度值在10至255之间的区域,可根据实际情况进行相应的设置,然后进行降噪处理
theshold(Saturatio,HihSatration, 10 , 55)rmvenois e_regin(HighSat tion,Outputegion 'n_48')
过滤降噪后的效果,和实际的位置很接近了吧!
、根据预定义的车牌长宽比例等查找符合特定特征的区域:
代码c onetion(OtpuRegin, onncteReg ios 1)c osing_ectng e 1 (on ct dRegions 1,RegionCl g 1, 1 , 10)sele t_shape(eg nC osi 1,AS lectedReg on 'rea', 'and' 300 00 sele _sha e(A ectedReg ons Sel edRegions 'heigh ', 'nd',30, 0) ects (HSe ecte
R o n s,Sle c e dRe go n , 'w idth', 'an d , 0, 180)
效果图如下,分割成了多个区域哈:
、呈现出车牌区域的灰度化图像:
eue_domin(Hue S e ec t Re He HighSturt n)效果如下是不是和实际位置一致啊
7、对上述车牌的精确区域进行阙值过滤,主要是为了去掉车牌周围的黑色边框:treshold(HueHighSaura on,eio, 3 , 0)
效果图如下:
8、填充有字符而没有在上述算法中被选中的内部区域:c os ig_ec a le 1 (Regon,Re onFillp, 0,20填充后的相关效果图如下:
9、根据选中的上述区域从原始图片中加载该区域:rdue_dmai ( mage,ReionF l Up Truc kagImage效果图如下,车牌又出现了哈
10、确定识别区域字符的偏移角度,根据摄像机位置的不同其倾斜度也会有所不同根据分割算法的不同其实此步骤可以省略):c on tion(eginill Conn eReduc edReios)text_lie_or ient on(C nc tedRedc eRegion ,Tr kTagImae, 3 ,0 53599,0.53599 Orietat onAng l)
11、显示真实的车牌位置图像,主要是方便调试:devd sp ay( uckT Image
效果图如下
12、进行字符分割,过滤掉非字符区域:
代码s n_charac tes (ReionFillp Trc kTgma , IageFoegoudRe
ionForegound, ' oc l_uto_shpe f s e', fals e' 'medum', 1 30,2, 10Us eThreshod)s e ec t_ha c t r (ReioF o und,ReioCar c ers, 'fa e'' als e', 15, 'c ompleti ') los ingre tang le 1 (Reg ionCh a ac t s,Re i nCharactersClosig, 1 2)
效果图如下,是不是离真正的识别又跟进了一步哈
1 、根据各个分割的区域的左上角坐标排序主要是方便从右向左依次进行字符识别):connectio RgioCaratersClos ing,Cnnc edegioharacterslosing)so_rgion onnec dRegionChrac ters Co ig,Sr dRgio , 'firs poit')
14、显示分割的字符区域的效果图,怎么样字符分割成功了吧 :
1 、加载字符模板从右向左依次进行字符识别,并把识别结果绘制到对应字符位置的上方 ./p>
代码
eaocr_clas _mlp D:/VTec HALCON/o /Indus ri l_0 omc' C le)fr dex:=1 to by i (Number>=Indx Selecte otedReg ion:=SrtedRegions[In ex] do_ocr_s n le_clas s_ml (Se ec edSortedRegi n, mage,OCRHadle, 1,Clss, nide e sma lestectangle1 (elec eS ortedegion,Row 1,Column 1,Ro ,Column2) s et_tp ition(WndwID,ow - 30, (Coumn +Co lun * .55)
ri e_ tr ng WnowD,ls s[0 )dv_display(SelectdotedRg ion) nienfor le ar_or_las _mp(OCanle)i (Numer>5)read_ocr_lssp(' /MVTc/HACON cr/Indu rial9A-Z om' OCRnle)
Selected rtedRegion:Sor ions[6]do_cr_ igle l s slp( l cteSort dRei , Imge,OHndle, 1 Clas s,Cofidec ) sall strec ang 1 (Sele t dSor Reg on,Row 1 Colun 1,R2 Column2) s et_tpsition(WndowID,Ro1 - 30, Column +oumn 1 *0.5 - )
r te_strig(WinowI,Clss[ ]) clea_ocr_lass_mlp(OCHandle
v_dis a S elec edS dgion)ed f
相关效果图如下字符识别的准确度挺高嘛
图中汉字“川”未进行识别,其实只需为其制作相应的字符识别模板后识别也极其容易,为方便演示此过程略去。再有就是D、 O、 的字符识别准确率偏低D、O经常识别为0),不过可以通过设置识别优先级等来提高真实环境的识别成功率。
DiyVM 香港沙田机房,也是采用的CN2优化线路,目前也有入手且在使用中,我个人感觉如果中文业务需要用到的话虽然日本机房也是CN2,但是线路的稳定性不如香港机房,所以我们在这篇文章中亲测看看香港机房,然后对比之前看到的日本机房。香港机房的配置信息。CPU内存 硬盘带宽IP价格购买地址2核2G50G2M1¥50/月选择方案4核4G60G3M1¥100/月选择方案4核8G70G3M4¥200/月选择...
Virtono是一家成立于2014年的国外VPS主机商,提供VPS和服务器租用等产品,商家支持PayPal、信用卡、支付宝等国内外付款方式,可选数据中心共7个:罗马尼亚2个,美国3个(圣何塞、达拉斯、迈阿密),英国和德国各1个。目前,商家针对美国圣何塞机房VPS提供75折优惠码,同时,下单后在LET回复订单号还能获得双倍内存的升级。下面以圣何塞为例,分享几款VPS主机配置信息。Cloud VPSC...
wordpress高级全行业大气外贸主题,wordpress通用全行业高级外贸企业在线询单自适应主题建站程序,完善的外贸企业建站功能模块 + 高效通用的后台自定义设置,更实用的移动设备特色功能模块 + 更适于欧美国外用户操作体验 大气简洁的网站风格设计 + 高效优化的网站程序结构,更利于Goolge等SEO搜索优化和站点收录排名。点击进入:wordpress高级全行业大气外贸主题主题价格:¥398...