二维条码防伪系统的开发与应用

2022-03-28 08:32:59 | 浏览次数:

现代科技的发展在造福人类的同时也为造假者所利用,假冒伪造也日趋高科技化,一些违法犯罪分子结成现代化的造假团伙,甚至是国际性的犯罪集团。当今世界各国的商品市场,没有不受假冒伪劣产品冲击的。伪造和假冒与艾滋病、贩毒和吸毒、环境污染已并列为世界四大公害。

本项目主要从防伪技术开发的角度出发,结合分形理论和二维条码进行条码软件生成算法设计,并针对目前软件中存在的问题进行相关的调整优化,形成一种实用的防伪系统。

一,编码

1分形理论

分形是区别于欧几里德空间的另一种几何学,即关于自然界形态的几何学或者说分形几何学。分形图像都具有自相似性,所谓自相似性,就是指局部与整体相似。这种相似,不只限于严格的几何自相似性,也可能是通过大量的统计而呈现出的不很严格的自相似性。Julia集就是一种典型的分形图形。本项目正是利用它的白相似性和随机性进行分形图形的生成。

2 PDF417条码

PDF417条码是一种堆叠式二维条码,简单来说,就是一维条码在纵向上的堆叠。其编码设计、校验原理、识读方式等方面都继承了一维条码的特点,识读设备与条码印刷也与一维条码技术兼容,只是随着堆叠层数的增加,其编、译码算法要有所变化。它相对于一维条码而言,存储信息容量大、纠错能力强、具有一定的防伪功能,所以本项目利用它进行产品信息的编码。

3,含有产品信息的PDF417条码的程序化实现

流程图如下,

(1)Julia集图形的生成

利用扩展的Julia集f(z)=Zn+C(c=a+bi),对其中的三个参数进行随意设定,并随意设定相应的颜色,然后进行迭代,我们设定经过200次迭代仍在限定范围内的集合可以作为用于编码的分形图形,所以得到的图形非常丰富,如下图。

(2)产品信息的编码

由于生成的随机分形图形是彩色的,它在计算机上的每一个象素点都要用三个字节来表示,而一个标准的PDF417条码所能容纳的最大信息量只有1K左右,因此我们只能选择其中有代表性的区域进行编码。而分形图形又具有无限相似特性,因此可以将得到的分形图形进行放大,截取一部分色彩变化丰富的图形进行编码,截取方法采用Cohen-Sutherland算法进行计算,得到的图形放大如图3所示。

接下来就可以采集放大图形的颜色信息进行编码了。利用字节编码模式,对图形的R、G、B值进行编码得到图形信息。产品的其他信息也是必不可少的,包括数字、字母、汉字等。但由于PDF417条码国家标准中并不支持汉字的编码,因此,本课题对PDF417国家标准进行了扩展。我国国标规定汉字用内码表示,内码为两个字节。内码与区位码有着固定的转换关系,它们之间有一个简单的数学关系:

内码第一字节=区码+160

内码第二字节=位码+160

根据这样的计算公式,课题对汉字进行字节压缩模式编码。最后按照PDF417国家标准,对连续13位及以上的数字进行数字压缩模式编码,13位以下数字及其他字母、符号进行文本压缩模式编码。我们将图3和“200904181226580336DRB管兰芳guanlanfang@126.com”这样的信息进行编码,得到的条码如图4所示。

(3)纠错编码

纠错编码是为了以保证在识读时能够准确还原数据信息而加入到条码中的码字。纠错编码算法通过Reed-Solomon错误控制码算法进行编码。由于篇幅限制,编码算法就不在此罗列了。

4,条码识读

在PDF417条码流通过程中,可能会受到磨损、脏污等问题,如图5所示。这样会影响条码的准确读取。为了提高条码识读的准确率,首先要对条码进行处理。通过二值化、阈值选取将图像分割,将条码图像从背景中分离出来,再利用中值滤波的方法对条码去噪,得到清晰连贯的二维条码,如图6所示。

接下来对在采集过程中出现的条码歪斜的问题进行处理。首先计算条码的倾斜角度,然后进行旋转和双线性插值的方法得到校正后的条码。如图8所示。

下一步就是利用水平边缘算子进行条码行数和行高的计算。水平边缘检测图如图9所示。然后对其进行水平方向的投影,图10黑色线条的高度代表了该列上黑色点的个数,其中高峰部分就是要找的水平方向上条码的行边界所在的位置。

最后一步就是条码条、空边界检测了。对投影信号进行边缘检测,在边缘中根据可信度选取条空边界,计算条空序列宽度,考虑到条码在边缘位置的噪声较大,因此对投影信号的1/2高度处进行检测,就可以得到该行条码较为准确的条空宽度序列。最后进行条码译码。

由于PDF417条码的起始码的条空序列是固定的,为81111113,因此,根据左侧第一个符号字符条空的宽度就可以计算得到符号的模块宽度。

5,条码译码

在条码进行修正后,就可以对其进行译码了。需要译码的内容有数字译码、字节译码、文本译码、纠错码字译码四部分,译码原理与编码原理正好相反,在PDF417条码国家标准中有算法介绍,在此就不介绍了。得到的结果如图11。通过对照,产品信息得到了较准确的识读。

推荐访问: 条码 防伪 开发 系统