论文部分内容阅读
字符识别是计算机视觉领域一个研究较深、应用较广的分支。字符识别已经广泛应用于汽车牌照识别、身份证系统、字符验证码识别等领域。目前很多商家都采用在商品包装盒上印刷防伪码的方法来实现商品防伪,设计识别系统来自动识别防伪码并与商家数据库对比来辨别商品真伪,具有很高的研究价值和广泛的应用前景。但是现有成熟的技术大多数用在图像背景较简单、字符较规则、平台为PC或者服务器的情况,而不能直接应用在某些特定的场景。本文以某产品包装防伪码为研究对象,针对图像背景复杂、目标对比度低、字符有粘连等问题,设计一种能够在有限的计算资源上运行的识别算法及其系统,主要研究内容如下:(1)对图像进行了增强、二值化、去噪等字符图像预处理。在关键的二值化部分,比较了各种成熟的算法,针对防伪码图像背景复杂、光照不均匀等问题,采用局部二值化算法去除背景,边缘检测提取字符轮廓,OSTU算法确定笔画大致区域。最终提出了一种结合Sauvola算法、Canny边缘检测算法、OSTU算法、以及背景估计的二值化算法,大大地改善了二值化效果。(2)对防伪码字符进行了分割和识别。在分割过程中,比较了常见的几种分割算法,针对字符粘连的问题,提出一种改进的算法,该算法首先对图像进行垂直投影得到上下轮廓两个直方图,找到直方图中的所有极值作为备选分割点,同时考虑字符本身的估计高度、宽度、目标字符个数等特征,在极值序列中找到最佳分割点组合。通过对比分析,该算法极大地提高了粘连字符的分割效果。在识别阶段,采集了大量的样本图像并制作了合适的样本库,采用基于ANN的方法,实现了训练和识别过程,达到了95%以上的识别率。(3)选用三星的S5PV210作为核心处理器设计了手持式识别系统的硬件电路。采用核心板和外围电路分离的设计方式,核心板上包括处理器、内存、电源、时钟和复位电路等模块,外围包括电源管理、触摸和显示控制、SD卡存储、USB扩展、无线通信接口、图像采集单元等模块。在设计的硬件平台上,选择Android作为操作系统,并在其上实现防伪码识别算法以及防伪码采集和识别应用软件。