周春荣
摘 要:根据矩不变的图像识别理论,并且与别的数字化图像处理技术相融合,针对条码中出现残缺或者受到污染这种状况的图像识别进行深入的研究,研发出的条码图像识别系统,还可以快速识别出任何角度出现畸形变化的条码图像。基于此,本文重点对一维及二维条码图像识别系统展开研究与开发。
关键词:一维条码 二维条码 识别系统 图像识别
中图分类号:TP391 文献标识码:A 文章编号:1672-3791(2018)02(c)-0023-02
由于条码技术具备快捷、精准等特征,因此,在计算机管理方面的各个领域都得到了广泛普及,渗透到了生活生产中的方方面面。通过传统模式进行条码信息提取主要运用光电扫描技术。随着数字化图像识别处理技术的不断进步,通过数码相机的图像摄入提取形式在近些年来得到了广泛的应用,并且相应的条码识别系统也得以出现。但是针对于任何角度发生畸形变化的条形码识别问题,在现阶段仍然没有得到有效的解决。codel28条码是一种具有一定的连续性、长度可以变化的字母数字条码,相较于其他条码,該条码较为复杂,并且能够支持更多的资源,并且能够通过多种编码方式进行交互运用,因此其应用十分广泛。本文以codel28条码为例,对条码图像识别系统进行全新的设计,也就是在通过阈值变换处理之后,运用计算中心距,将条码图形的椭圆倾角确定出来,并且根据条码图像的相关信息,将条码图像调整至水平的方向,这样就能使条码图像在任何角度畸形变化的状况进行快速轻松的识别。
1 条码的基本内容与特征
结合特定的编制规则,将很多宽度不相同的空白与黑条排列在一起,用来进行信息表达的图标就是条形码。由反射率较强的条与孔组合而成的平行图案是较为常见的条形码。一维条形码能够充分反映物体的基本信息,例如对生产商家、国家、种类、商品名称以及生产日期进行表示。条码在各行各业都得到了十分广泛的应用,例如在邮政管理系统、运输管理系统、银行系统以及交通管理系统等多种领域都得到了有效的普及。
传统的一维条码存在着很大的缺陷,例如可靠性差、信息容量不足、纠错能力差,必须在有网络的环境中才能够使用。因此,为了有效解决一维条码中存在的缺陷,二维条码油然而生。相较于一维条码,二维条码有着大量的优势,其作为一种新型的自动识别技术,具有非常高的可靠性与经济性,逐渐被社会各界的人士所认可,所以,二维条码将会被应用于更加宽广的领域之中。现阶段,西方的很多发达国家已经将二维条码技术应用到了交通、国防以及海关等多种领域之中。
2 技术方案及数学模型
2.1 技术方案
codel28条码是一种长度可以进行变化,并且具有一定的连续性条码图像。如图1所示,这种条码运用一组平行的空与条来表示数据符、起始符、终止符、检验符以及左右侧的空白区域。
把条码图像的格式转换为较为标准位图,从而转化为二值图;之后通过经矩计算得出条码的倾斜角度与相对的位置,并且及时地对条码图像进行相关的处理与调节,这样就能够通过扫描来得出条码的结果。
2.2 数学模型
在通常情况下,数码相机和条码图像之间并没有达到严格意义上的垂直,通常都会具有一定的偏移距离以及倾斜角度。本文主要利用数字图像中的几何变换来解决条码图像识别中的相关问题。
2.2.1 矩不变量
所谓矩不变量,指的是物体图像通过比例缩放、旋转、平移等变化过程中仍然具备不变的矩特征量,其对于解决畸形变化图像的识别与理解方面有着非常大的作用。
2.2.2 条码图像椭圆模型
对于那些比较细长的条码图像,可以通过椭圆模型来表示他的方向特征以及尺寸大小,运用条码图像中的3个二阶中间矩,建立出条码图像的椭圆模型如图2所示。a与b分别用来表示椭圆的长半轴与短半轴。
对于一维条码图像识别系统的开发集成主要是基于VC++6.0环境中的“文档—视图”模式下来进行的。在该模式中,类C Standard Code能够使条码图像的格式更加标准化,而类C Std Code Object能够为条码图像提供准确的几何位置信息数据,函数My angle(,,,star)就处于此类之中;类C Code View当中使条码图像的阈值变化、降噪、几何变换等图像处理函数得到了有效集成。该系统能够有效解决条码图像任何角度的畸形变化、条码图像上的轻度污染等影响条码图像识别的因素,能够在一秒钟之内就识别出条码图像,从而在实际应用的过程中更加高效便捷,达到人们使用的需求。
4 二维条码识别系统技术方案
因为codel28条码的二维条码图像根据很多层的一维条码叠加而成,因此,对于二维条码的识别系统继承了一维的识别方式,但是其矩阵分割模块得到大幅度增加。实现了它的主要原理是对二维条码图像的水平模进行切割,切成很多个子块矩阵,然后图像识别系统中的程序对子块矩阵进行逐一的扫描,并且进行详细的分析,当它读出起始符信息数据时,就是提出了层号信息而且开始对条码进行破译,当碰到终止符时,就会跳跃到另一个子块矩阵中进行分析与扫描,当程序扫描完所有的子块矩阵值周才会停止。要想避免信息数据的丢失,并且有效提高扫描分析的工作效率,就应当将每一层的条码分成两个子块矩阵。
5 二维条码识别系统设计及调试
对于二维条码图像识别系统的开发集成也是基于VC++6.0环境中的“文档—视图”模式下来进行的。其中类C Std Data Object在进行二维条码图像的读取过程中,能够将其储存为数组矩阵,并且对矩阵进行有效的分割,分成许许多多的子块矩阵;类CTwoBl28Doc中具有功能函数的设定,结合层号的信息与数据进行子块矩阵的循环。
二维条码图像的识别系统能够在0.5s之内对那些有比较严重噪音的二层二维条码图像进行有效的识别。在现阶段的二维条码图像识别系统仍然处于完善与改进的过程中,仅仅对于两个由单层条码组合成的二维条码图像进行了调试。
6 结语
总而言之,条码在使用以及印刷的过程中,非常容易出现污染或者损坏,因此,进行一维以及二维条码图像识别系统的研发是十分必要的,对于条码的实际应用范围进行了有效的拓展。该系统能够对条码图像进行自动识别,并且这个系统还能应用到其他的领域之中,例如机器人自动寻道系统等。
参考文献
[1] 于忠清.基于图像处理的嵌入式条码识别系统及应用研究[D].中国海洋大学,2017.
[2] 万菁.二维条码的编解码及系统实现[D].上海交通大学,2017.
[3] 范永法,何江庄.一维及二维条码图像识别系统研究[J].仪表仪器学报,2003,24(22):488-489.