车牌识别初笔:车牌定位之精确定位与block精简

花了挺长时间在定位上,精确定位与block精简貌似是无法战胜的鸿沟,横在我眼前。调测百遍千遍,虽无硕果累累,却也心有所得。

一、精确定位

        车牌上下边界一般都比较准确,稍作修改一般无需大幅度调整。有一种情况-----倾斜,倒是需花点时间分析研究改动。基本上难点是在左右边界,就那两条短短的竖线,要费去尔等多少心思心血奋斗

        方法:灰度(边缘、跳变、波形、投影),颜色(YUV 、 RGB、  HSV),二值化(局部、全局),角点,haar。

        极难有一种方法适用所有情况,只能权衡一个最佳组合。到精确定位的环节,只能逐步细分,例如颜色一个枝节,大框一个枝节,小框一个枝节等等。小车牌,颜色丢失或光线不足的暗车牌这两种情况问题较多。

        YUV色差C=(255 + U - V)的区分度不错,蓝色最高,C一般255以上,一些非车牌block一般在260以下。当然很多蓝色不明显的暗车牌block、白底车牌、黑底车牌的C值也会在260以下。蓝色U值一般取150以上且V值130以下,需根据图像实际效果定

       灰度投影波形分析及竖直边缘密度统计是一个常用方法。水平逐行、逐列灰度跳变,灰度跳变又分为两个范围,一个是Y值60到90,一个是大于90,阈值需根据图像实际效果定。灰度投影波形波峰波谷判断极具分析判断空间,从原始图像来说,灰度是一个未经破坏原汁原味的表征车牌的一个重要特征,得灰度精髓者得精确度。

       二值化方法效果取决于二值化效果。不是原汁原味的特征故受影响因素多。局部(水平每25像素作为步长)与全局二值化同或,再利用简单角点处理,对于二值化效果好的图像基本能求得正确左右边界。阈值判断以每列灰度均值,升序排序后来确定。局部二值化以80%到95%左右的值作为条件的来判断选取哪一个值为阈值,而全局二值化用50%左右的值作为条件来判断选取哪一个值作为阈值。

       简单角点方法其实是n * n邻域内和中心点的差值满足一定条件,则保留,本质上利用的是车牌竖直边缘特征。用在二值图像上则差值是255,当然选取255还是0为中心点具有不一样的效果,有些情况可用if让两种都用上。得到处理后的图像就要得到左右边界就比较简单了。

二、block精简

         关乎效率,略微影响识别率。

         方法:色差,水平灰度投影波峰波谷,haar,局部与全局二值化加简单角点、二值化后统计跳变特征

         色差较粗糙,水平灰度投影波峰波谷数量判断是常用方法,经验阈值在15以上,40以下。

         好的haar模型,定位有较高的准确率,因为对象为block,不会花销很大时间,做好了完全能满足效率。

         局部与全局二值化加简单角点和上面精确定位说到的一样,得到处理后的图像,遍历每行,计算出255到0的跳变的次数,算出最大值,正常车牌一般大于10。小车牌需另设置。

         二值化统计跳变特征,是对二值化图像做每列统计白点像素,得到投影图后,分析实际情况得到经验阈值,然后判断最高波峰与相邻最低波谷差值是否大于此阈值,是则计数加1,正常车牌block的最终值会在10左右,之前设置了范围6~15。



       目前为止,运用二值化加简单角点来排除block效果较好,误排率较低,而haar如果模板训练得好,效果好于前者。精确定位上还没有发现哪种方法凌驾与其他方法之上,具有很显著的效果,待进一步研究。

       以上数据均本人经验值,理论均本人心得,欢迎同行交流指正

        

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值