OCR识别:纸币(人民币)号码识别
随着近几年支付宝、微信等非现支付手段的兴起,现金支付好像离我们的生活越来越远,笔者现在出门基本不带钱包,凭着手机就可以走遍全中国,尤其笔者目前从事支付宝和微信推广刷脸支付方面的工作,感觉若干年后真的如马云所说,手机都可以不要了。笔者从2011研究生毕业到2015年都是在从事嵌入式终端的纸币研究的工作,比如纸币的面额识别、纸币的新旧、残损识别以及号码识别等。笔者借着2019年新版人民币的发行就自己的纸币方面研究的工作做些总结,以及就传统图像处理的方法和目前比较火的深度学习做些思考。
纸币鉴伪和识别设备特点是速度快,基本上20ms左右的时间处理完一张纸币4幅图像并得到结果。如下图所示:
处理设备的CPU一般是DSP或者arm等嵌入式芯片,目前一些高大上的深度学习方面的算法很难达到实时性,致力于在嵌入式终端上实现机器学习算法的实时性是笔者今后努力的方向。下面就针对人民币上的号码(冠字号码)识别运用到的一些传统方法做些介绍。
上图是经过一些预处理得到的冠字号码的图像,这些预处理的步骤后面会和大家分享,不再这次的分享范围内。要对上面的冠字号码图像进行识别,第一步就要进行分割处理,步骤如下:
1、二值化
2、采用投影法进行分割处理
1)通过计算冠字号码区域图像的水平投影,得到其水平梯度投影矩阵,确定字符的上边界和下边界。通过扫描,得到一个最小值的位置和一个最大值的位置,即分别对应冠字号码区域图像中字符的上下边界。字符图像的高度。因为在冠字号码区域图像中每个字符的高度都基本一致,通过其水平投影梯度能很好确定它们的上下边界。如图所示:
2)在确定冠字号码区域图像中字符的上下边界后,通过计算其垂直投影来确定每个字符的左右边界,具体过程如下:
计算冠字号码区域图像的垂直投影,得到其垂直投影梯度矩阵。如图所示:
根据计算得到的垂直投影梯度,确定10个字符的整体宽度。扫描两次,第一次从左到右,得到第一个波峰的位置,即整个字符的左边界;第二次从右到左,得到第一个波谷的位置,即整个字符的右边界。整个字符图像的宽度。如图所示:
计算冠字号码区域图像的垂直投影,得到其垂直梯度矩阵,如图所示:
从左到右扫描 T 1 T1 T1中的值,遇到第一处值小于 t h r e s h 0 thresh0 thresh0投影标记为 t 1 a t_{1a} t1a ,继续扫描,遇到值大于 t h r e s h 0 thresh0 thresh0投影标记为 t 1 b t_{1b} t1b,接下来如果在遇到用值小于 t h r e s h 0 thresh0 thresh0投影标记为 t 2 a t_{2a} t2a,遇到大于 t h r e s h 0 thresh0 thresh0投影标记为 t 2 b t_{2b} t2b,以此类推,知道扫描结束,这样每处值为 t h r e s h 0 thresh0 thresh0的两侧都有标记对: ( t 1 a , t 1 b ) , ( t 2 a , t 2 b ) , . . . ( t n a , t n b ) (t_{1a}, t_{1b}),(t_{2a}, t_{2b}),...(t_{na}, t_{nb}) (t1a,t
网址:OCR识别:纸币(人民币)号码识别 https://www.yuejiaxmz.com/news/view/1427
相关内容
伦敦爆发游行抗议生活成本飙升 加满一箱油约人民币826元旅行必备清单:让你的行程无忧无虑
出门旅游十大必备物品
整理房间,用这8个收纳技巧告别杂乱
关于环保建议书15篇.doc
五星级保洁师为您分享9招超实用家居清洁技巧
全球低成本生活调查:各国家庭如何省钱
8个收纳小技巧!告别脏乱!收纳整理经验
家用电器使用小常识有哪些
大班十二月育儿知识:父母该如何科学育儿