CN100504909C - 二维条码图形畸变校正的方法 - Google Patents

二维条码图形畸变校正的方法 Download PDF

Info

Publication number
CN100504909C
CN100504909C CNB2006101385308A CN200610138530A CN100504909C CN 100504909 C CN100504909 C CN 100504909C CN B2006101385308 A CNB2006101385308 A CN B2006101385308A CN 200610138530 A CN200610138530 A CN 200610138530A CN 100504909 C CN100504909 C CN 100504909C
Authority
CN
China
Prior art keywords
bar code
dimensional bar
module
function information
view finding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CNB2006101385308A
Other languages
English (en)
Other versions
CN1963838A (zh
Inventor
张成海
罗秋科
王毅
黄燕滨
王越
杨楚威
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ARTICLE NUMBERING CENTER OF CHINA
Original Assignee
ARTICLE NUMBERING CENTER OF CHINA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ARTICLE NUMBERING CENTER OF CHINA filed Critical ARTICLE NUMBERING CENTER OF CHINA
Priority to CNB2006101385308A priority Critical patent/CN100504909C/zh
Publication of CN1963838A publication Critical patent/CN1963838A/zh
Application granted granted Critical
Publication of CN100504909C publication Critical patent/CN100504909C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Processing (AREA)

Abstract

本发明公开了一种二维条码图形畸变校正的方法,包括:在识读的码图中,寻找寻像图形;从寻像图形附近的功能信息区域获得版本信息;根据版本信息获得标准的二维条码图形的图像空间并确定二维条码图形中采样点坐标;将二维条码图形中的各数据元素,变换为标准的二维条码图形图像空间的数据元素。本发明根据二维条码图形的结构,并根据校正图形将整个条码图形分成若干个子区域,分块校正,图像处理速度快,校正精度高,能够广泛应用于自动识别的各个领域。本发明可有效解决二维条码图形中的畸变、残损及不规则图形及后续识读速度慢的问题,可提供经过校正后的图形,为以后的识读和译码提供了符合标准的符号图形。

Description

二维条码图形畸变校正的方法
技术领域
本发明涉及一种自动识别技术中的图形校正方法,特别是一种对发生畸变的二维条码图形进行校正的方法,属于自动识别技术领域。
背景技术
条码技术是在计算机技术与信息技术基础上发展起来的一门容编码、印刷、识别、数据采集和处理于一身的新兴技术。人们日常见到的印刷在商品包装上的条码,是普通的一维条码。作为一项自动识别技术,一维条码自本世纪70年代初期问世以来,由于其识读快速、准确、可靠、制作成本低等优点,很快受到了人们的青睐,被广泛应用在商业、图书管理、仓储、邮电、交通和工业控制等领域。
一维条码只是在一个方向(一般是水平方向)表达信息,其一定的高度宽度通常是为了便于阅读器的对准,同时也为了防止因印刷质量不好或条码符号损坏给识读造成困难。一维条码的应用可以提高信息录入的速度,减少差错率,但是一维条码也存在一些不足之处,例如:数据容量较小,多数一维条码所能表示的字符集不过是10个数字,26个英文字母及一些特殊字符。条码字符集最大的Code128条码,所能表示的字符个数也不过是128个ASCII符;条码图形的尺寸相对较大,即空间利用率较低;条码遭到损坏后便不能阅读等等。
由于受信息容量的限制,一维条码仅仅能用于对“物品”进行标识,而不能对“物品”进行描述。故一维条码的使用,不得不依赖数据库的存在。在没有数据库和不便联网的地方,一维条码的使用会受到较大的限制,有时甚至变得毫无意义。另外,要用一维条码表示汉字的场合,就显得十分不方便,且效率很低。
二维条码在正是为了解一维条码无法解决的问题而产生的。因为它具有高密度、高可靠性等特点,所以可以用它存储和表示数据文件(包括汉字文件)、图像文件等。
二维条码可以分为堆叠式二维条码和矩阵式二维条码。堆叠式二维条码形态上是由多行短截的一维条码堆叠而成,矩阵式二维条码以矩阵的形式组成,在矩阵相应元素位置上用点的出现表示二进制"1",空的出现表示二进制"0",由点的排列组合确定了代码表示的含义。具有代表性的堆叠式二维条码包括PDF417、Code 49、Code 16K等。具有代表性的矩阵式二维条码包括Code one、Aztec、Date Matrix、QR码等。二维条码可以使用激光或CCD阅读器识读。
堆叠式二维条码中包含附加的格式信息,信息容量最大可以达到1000个字节左右,例如:PDF417码可用来为运输/收货标签的信息编码,它作为ANSI MH10.8标准的一部分为"纸上EDI"的送货标签内容编码,这种编码方法被许多的工业组织和机构采用。但是,堆叠式二维条码图形存储信息的能力最大也只有1000个字节,如果采用较高的纠错等级,堆叠式二维条码存储有效数据的能力会进一步下降。另外,堆叠式二维条码对于识读的方向性有一定的要求,一般只能与条码码字设置方向相同,旋转90°以后则无法识读。
矩阵式二维条码与堆叠式二维条码相比,具有更高的信息密度(如:Data Matrix、Maxicode、Aztec、QR码),可以作为包装箱的信息表达符号,在电子半导体工业中,将DataMatrix或QR码用于标识小型的零部件。矩阵式二维条码能被二维的CCD图像式阅读器识读,而且能以360°全向的方式扫描。
由于二维条码能够编码存储的信息量较大,因此能够将任何语言(包括汉字)和二进制信息(如签字、照片)进行编码,并可以由用户选择的不同程度的纠错级别,以在符号残损的情况下恢复所有信息。
但是,现有的矩阵式二维条码图形,例如:QR码,参见图1,由于其所具有的寻像图形、校正图形都由不同颜色正方形相互交替重叠构成。利用现有的识读方法对QR码进行识读和定位时,要求所有的寻像图形都必须存在,或者在只有一部分寻像图形存在的情况下,必须有一定数量和固定位置的校正图形存在;否则就不能对其进行定位,进而影响对QR码中存储的信息进行还原。
另外,在二维条码使用过程中,由于符号打印,光照等因素的影响,二维条码的条空模块会发生一定的畸变,例如:采用喷墨打印机打印一个二维条码时,墨滴通常在未干的情况下,会沿纸张的毛细纤维进行扩散,最终形成比实际需要图形还略大一些的图形。尽管可以利用软件对输出的图形进行事先误差补偿控制,但畸变的情形还会因为各种各样的因素而发生。另外,被挤压、扭曲、缩小或放大、偏移等原因,导致整个二维条码图形图像发生较大畸变时,就需要较多地使用寻像图形和校正图形。即使如此,由于是在固定位置设定规则的寻像图形,当二维条码图形发生较大畸变后,寻像图形和校正图形也会变得不规则,这时对其中的数据进行还原就会非常困难,甚至无法进行。
发明内容
为了解决二维条码图形中的畸变、残损及不规则图形所带来的识读困难及数据还原效率低等问题,本发明提供一种二维条码图形畸变校正的方法。
申请人研究并开发出一种新的矩阵式二维条码——汉信码。参见图2,本发明涉及的汉信码符号由设置在一个矩形区域四角处的寻像图形1、功能信息区域5以及校正图形2、辅助校正图形3、信息编码区域4(包括数据编码和纠错编码以及填充码字等信息)所构成。容纳信息量较小(版本号低于4)的汉信码符号中不设置校正图形2和辅助校正图形3。校正图形是由相邻的深色和浅色两条线组成阶梯形的折线,位于二维条码图形左边缘和下边缘的校正图形,简化为单模块宽的黑线。对于二维条码图形和四个边重叠的校正线,在没有与其它校正折线相交的那个端点构造辅助校正图形3,即构造一个2×3模块大小的图形,中心为黑色模块,剩下5个为白色模块,其中的黑色模块为辅助校正点。另外,每个二维条码图形的右上角区域校正图形的校正折线稀疏,也分别布置两个2×3模块的辅助校正图形。这种二维条码图形的寻像图形、校正图形及其分布结构本身具有确定的定位信息,因此这种新的二维条码结构具备了进行符号畸变校正的基础。
本发明提供了一种二维条码图形畸变校正的方法,包括:
步骤1:在二维条码图形顶点位置附近寻找寻像图形;
步骤2:寻找寻像图形附近功能信息区域的功能信息图形,获取二维条码图形的功能信息和版本信息;
步骤3:根据所述版本信息计算标准的二维条码图形的图像空间;
步骤4:确定二维条码图形中采样点坐标;
步骤5:在二维条码图形的采样点坐标处读取数据,将二维条码图形中的各数据元素,变换为标准的二维条码图形图像空间的数据元素;
步骤6:结束。
上述技术方案中,步骤4中还包括:寻找校正图形和辅助校正图形,将校正图形和辅助校正图形作为控制点,将二维条码图形分成若干子区域,分块采集子区域的各个采样点,校正图形是由相邻的深色和浅色两条线组成阶梯形的折线,通过折线的交点来达到分块校正码图的目的。。
本发明提供了一种二维条码图形畸变校正的方法,根据二维条码图形的结构,对发生畸变的二维条码图形进行校正,为后续的识读和译码提供符合标准的汉信码符号图形。找到寻像图形和校正图形,利用寻像图形、校正图形和辅助校正图形把整个图形分割成一系列的子区域。由于子区域尺寸较小,可以近似认为各子区域在一个平面上且形变为线性形变,从而具有一定的抗曲面畸变的能力。对于每一个子区域平面,利用仿射变换把子区域映射到标准图形相应位置。从而,整个图形也即映射到标准条码图形。通过把整个图形进行子区域拆分进行曲面到平面的近似,把非线性运算简化为线性运算,可以有效提高处理速度。并且由于整个条码图形校正图形和辅助校正图形的设计,通过折线的交点可达到分块校正码图的目的,使得图像处理速度快,能够广泛应用于自动识别的各个领域。本发明可有效解决二维条码图形中的畸变、残损及不规则图形及后续识读速度慢的问题,可提供经过校正后的标准二维条码图形,为以后的识读和译码提供了符合标准的符号图形。
附图说明
图1为QR码的结构示意图;
图2为汉信码的结构示意图;
图3为本发明二维条码图形畸变校正的方法流程图;
图4为汉信码寻像图形的示意图;
图5为步骤2.2的流程图;
图6为确定寻像图形宽度示意图;
图7为获取功能信息示意图;
图8为步骤3流程图;
图9为不同版本中存在的校正图形形状;
图10为存在校正图形时步骤4.1流程图;
图11为辅助校正点的中心坐标;
图12为校正图形的中心坐标;
图13为确定二维条码图形的左上角采样子区域的示意图;
图14为确定二维条码图形的右下角采样子区域的示意图。
具体实施方式
图2为汉信码的结构示意图,汉信码的码图整体结构设计具有不同于已有二维条码的明显特征。码图图形是由n×n个模块构成的正方形,其中n与版本号有关,不同版本号的图形存储容量大小不同,n不同。汉信码符号由设置在一个矩形区域四顶点处的寻像图形1、功能信息区域5以及校正图形2、辅助校正图形3和信息编码区域4构成,信息编码区域包括数据编码、纠错编码和填充码字等信息。汉信码中的寻像图形形状相同,但放置方向不同,如图2所示,位于右上角和左下角的寻像图形摆放方向相同,其余各角的寻像图形为旋转一定的角度获得。功能信息区域5与寻像图形1之间为1个单位模块宽度的空白区域,将寻像图形1与功能信息区域5分开。
容纳信息量较小(版本号低于4)的汉信码符号中不设置校正图形2和辅助校正图形3。校正图形2是由相邻的深色和浅色两条线组成阶梯形的折线。对于位于二维条码图形左边缘和下边缘的校正图形2,简化为单模块宽的黑线。对于二维条码图形和四个边重叠的校正线,在没有与其它校正折线相交的那个端点构造辅助校正图形3。辅助校正图形为一个2×3大小的模块,中间为黑色模块,剩下5个为白色模块,黑色模块为辅助校正点。另外,每个二维条码图形的右上角区域的校正图形折线稀疏,也分别布置两个2×3模块的辅助校正图形。这种二维条码图形的寻像图形、校正图形及其分布结构本身具有确定的定位信息,因此这种新的二维条码结构具备了进行符号畸变校正的基础。相邻两个顶点附近的功能信息区域5中的数据组成功能信息,功能信息中包括版本信息及纠错位等。
如图3所示,本发明二维条码图形畸变校正的方法,包括:
步骤1:在二维条码图形顶点位置附近寻找寻像图形;
步骤2:寻找寻像图形附近功能信息区域的功能信息图形,获取二维条码图形的功能信息和版本信息;
步骤3:根据所述版本信息计算标准的二维条码图形的图像空间;
步骤4:确定二维条码图形中采样点坐标;
步骤5:在二维条码图形的采样点坐标处读取数据,将二维条码图形中的各数据元素,变换为标准的二维条码图形图像空间的数据元素;
步骤6:结束。
为保证达到快速识读译码的要求,步骤1在寻找寻像图形过程中可以采用线性扫描特征比例的方式进行码图寻像。如图4所示,寻像图形由5个深色和浅色正方形重叠组成,每一寻像图形的模块序列由一个深色—浅色—深色—浅色—深色次序构成,各元素的相对宽度的比例是1:1:1:1:1:3或者3:1:1:1:1。对二维条码符号的四个顶点位置附近的区域进行线性扫描,寻找深色与浅色模式比例符合1:1:1:1:3或者3:1:1:1:1的阵列,如果找到深色与浅色模式比例符合1:1:1:1:3或者3:1:1:1:1的阵列则找到寻像图形。确定寻像图形中,每一模块宽度的允许偏差为0.5(即单个模块的尺寸允许范围为0.5~1.5,3个模块宽度的允许尺寸范围为2.5~3.5)。
步骤1在寻找寻像图形中也可采用模糊识别的方式判断二维条码图形四个顶点位置附近是否存在寻像图形:在二维条码图形的顶点位置附近寻找寻像图形,将二维条码图形的四个顶点位置附近图像与事先存储的寻像图形模板(如图4)进行匹配,如果二维条码图形的顶点位置附近图像与寻像图形模板之间的相似度不小于某一设定的阈值,则找到寻像图形。经过判断四个顶点附近的图形是否与图4所示的寻像图形模块相匹配,当相似度大于某一值,即认定找到寻像图形。模糊识别为现在公知的一种技术,在此不再详述。
本发明步骤2包括:
步骤2.1 根据找到的寻像图形确定寻像图形的宽度;获得模块尺寸;
步骤2.2 根据模块尺寸,读取并合并相邻两顶点附近的功能信息区域,获得功能信息以获得版本信息。
如图5所示,本发明步骤2.2包括:
步骤2.2.1 读取步骤1所找到的任一寻像图形附近的功能信息区域中每一模块的数据;
步骤2.2.2 读取与寻像图形任意一相邻顶点附近的功能信息区域中每一模块的数据;
步骤2.2.3 合并寻像图形及相邻顶点附近的两个功能信息区域中的数据,如果纠错无解,执行步骤2.2.4;否则进行纠错处理,获得版本信息和功能信息,执行步骤3;
步骤2.2.4 读取寻像图形另一相邻顶点附近的功能信息区域中每一模块的数据和在对角线寻像图形附近的功能信息区域中每一模块的数据;
步骤2.2.5 合并寻像图形附近的功能信息区域数据和另一相邻顶点附近的功能信息区域数据,或者合并另一相邻顶点附近的功能信息区域数据和对角线寻像图形附近的功能信息区域数据;
步骤2.2.6 判断纠错是否有解,如果有解则进行纠错处理,获得功能信息和版本信息,执行步骤3;否则结束。
功能信息中包括版本、纠错等级与掩模信息以及纠错位等,纠错位对功能信息进行纠错,纠错后即可得正确的功能信息。获得了正确的功能信息即可得到版本、纠错等级和掩模信息。其中版本信息中包含了二维条码图形的版本号以及与版本相关的校正图形信息等,纠错等级和掩模信息用来为后续的识读提供纠错的手段,以获得正确的编码信息,由于本发明为二维条码图形畸变校正的方法,不涉及识读,所以在获得正确的功能信息后主要用到的是版本信息。纠错等级和掩模信息为本领域技术人员公知常识,在此不再赘述。
步骤2 寻找功能信息区域获得版本信息的一个实施例为:
1)由找到的寻像图形确定寻像图形的宽度(如图6所示),例如图中所示一个寻像图形的宽度WUR
2)用7除以寻像图形的宽度尺寸例如:WUR,得到模块尺寸CPUR
CPUR=WUR/7
3)确定在A附近的功能信息区域5中每一模块的数据(图7所示);寻像图形1为模块比例符合1:1:1:1:3或3:1:1:1:1所构成的7×7正方形模块,功能信息区域与寻像图形中的一个顶点组成9×9的正方形模块,因此在知道单位模块的尺寸CPUR之后,可初步确定功能信息区域的位置,从而读取功能信息区域中每一模块的数据。二进制值0和1根据采样网格上的深色浅色的图形来确定;
4)按照3)中描述的方法,确定在B寻像图形附近的功能信息区域中每一模块的数据;
5)合并A和B寻像图形附近的功能信息区域数据,通过检测并纠错确定功能信息,如果纠错有解,根据功能信息中的纠错位,对功能信息模块进行纠错,转到8),否则转到6);
6)判断纠错是否有解,如果无解,按照3)中描述的方法,确定在C寻像图形附近的功能信息区域中每一模块的数据和在D寻像图形附近的功能信息区域中每一模块的数据;合并A寻像图形附近的功能信息区域数据和C寻像图形附近的功能信息区域数据,或者合并B寻像图形附近的功能信息区域数据和D寻像图形附近的功能信息区域数据重新进行译码尝试;
7)判断纠错是否有解,如果有解,对功能信息模块出现的错误进行纠错,转到步骤8);否则纠错无解,无法获得功能信息和版本信息,结束本方法;
8)获得正确的功能信息和版本信息。
注意:在合并两个相邻顶点附近的功能信息区域中的数据时,合并时先后顺序有两种情况,但只要有一种纠错有解即可:因为功能信息在相邻顶点功能信息区域中存储时有先后顺序。比如图7所示,对于A、B两寻像图形,功能信息先在A寻像图形附近的功能信息区域中存储,然后在B寻像图形附近的功能信息区域中存储,只有按合并A和B附近的功能信息区域中数据的顺序时才可能纠错有解,如果按合并B和A附近的功能信息区域中数据时纠错无解,所以进行合并时需要进行两种尝试,但只要找到纠错有解的情况时即可。其中对角线位置的存放相同的功能数据,功能信息区域的这种数据存放方式,使得即使二维条码图形缺失某一边,仍可对数据进行恢复,增加了识读的能力。
如图8所示,本发明的步骤3包括:
步骤3.1 由版本信息获得版本号,计算二维条码图形每一边的模块数K:K=21+2*N;
其中,K为二维条码图形任意边的模块数,N为二维条码图形的版本号,且为正整数;
步骤3.2 计算标准的二维条码图形的图像空间,标准的二维条码图形的图像空间为K*K个正方形模块组成的正方形阵列。
对于上述步骤3获得了标准图形空间的大小,步骤4可以直接将二维条码图形分成分成K*K个模块,在每个模块中设置采样点。步骤5即可方便读取每个模块的数据值,将二维条码图形每个模块中的数据值对应到标准的图像空间中,增加了抗畸变的能力。
对存在校正图形的较高版本的二维条码图形,还可由校正图形将图形分成若干个子区域,进一步对子区域中每个模块设置采样点进行采样。较高版本的二维条码图形中,步骤4还包括:寻找校正图形,所述的校正图形为相邻的深色和浅色两条线组成的阶梯形的折线;还包括寻找辅助校正图形。
对于存在校正图形的版本,步骤4包括:
步骤4.1 根据校正图形中相邻的转折点和辅助校正图形,将二维条码图形分成若干个子区域;
步骤4.2 在子区域的每个模块内设置采样点。
根据版本信息的不同,寻像图形和校正图形2的空间位置也不同。如图9所示,不同版本的校正图形在二维条码图形空间中的位置不同,但不同版本寻找校正图形确定二维条码图形的分块区域的步骤大致相同。
如图10所示,寻找校正图形和辅助校正图形,将二维条码图形分成若干子区域的具体步骤包括:
4.1.1 初步确定校正图形与二维条码图形左边或上边相重叠的校正线中心坐标;
4.1.2 从初定的中心坐标开始,确定辅助校正图形中辅助校正点的坐标,根据辅助校正点的位置,确定校正图形的左边或上边相重叠的校正线位置中心坐标;
4.1.3 估计校正图形左上角转折点的初步坐标;
4.1.4 按照4.1.2中同样的步骤找到校正图形左上角转折点的实际中心坐标;
4.1.5 根据所获得的转折点坐标和寻像图形的中心坐标计算位于二维条码图形符号左上角区域的模块距离,确定覆盖二维条码图形的左上角区域的采样子区域;
4.1.6 确定图形右上角区域和左下角区域的采样子区域;
4.1.7 确定未覆盖区域的采样子区域。
现对照图11-图14介绍它的一个优选实施例为:
a)左上角寻像图形的宽度WUL除以7,计算模块尺寸CPUL:CPUL=WUL/7;
初步确定校正图形P1和P2的坐标,校正图形与版本号的关系为:N=R+M*L,其中N为版本号,可由版本信息得知;R为二维条码图形最左边与最下边区域的校正折线长度,是一个特殊值R,剩余区域的校正折线则是平均分布,宽度为L,M为平均分布的折线宽度的个数;由版本信息可获知校正图形平均分布的折线宽度L、R及M,再结合模块尺寸CPUL初步确定校正图形P1和P2的坐标;
b)从初定的坐标开始,扫描辅助校正图形的空白方框轮廓,确定辅助校正点的位置坐标Xi和Yj(图11所示),从辅助校正点的位置出发,水平或者垂直扫描校正图形由黑白临边组成的阶梯形的折线转折点位置,确定校正图形P1和P2的坐标,如图12所示;
c)根据得到的校正图形P1和P2的坐标值和校正图形平均分布的折线宽度K,估计校正图形P3的初步中心坐标;
d)按照b)中同样的步骤找到校正图形P3的实际中心坐标;
e)如图13所示,确定LX和Ly,LX是P2和P3两点之间的距离,Ly是P1和P3两点之间的距离。用校正图形的已定义的间距除Lx和Ly,获得位于二维条码图形左上角区域下边的模块节距CPX和右边的模块节距Cpy值。
CPx=Lx/AP,CPy=Ly/AP,其中,AP是标准的校正图形中心的模块间距;
以同样方式,找出Lx’和Ly’,Lx’是左上部寻像图形PUL的中心坐标与校正图形P1之间的水平距离;Ly’是左上部寻像图形PUL的中心坐标与校正图形P2之间的垂直距离。由下面给出的公式计算二维条码图形左上角区域中上边的模块节距CPx和左边的节距CPx’值:
CPx’=Lx’/(校正图形P1的列坐标—PUL的中心模块的列坐标)
CPy’=Ly’/(校正图形P2的行坐标—PUL的中心模块的行坐标);
f)根据二维条码图形左上角区域的每一边的模块节距值CPx,CPx’,CPy和CPy’,确定覆盖左上区的采样子区域;
g)以同样方法,确定图形右上角区域(被右上角寻像图形PUR,校正图形和P4以及其余校正图形所覆盖)和图形右下角区域(被右下角寻像图形和周围校正图形如P6所覆盖)的采样区域,如图14所示;
h)根据步骤d)—g)所述方法,确定图形左下区的采样区域;
i)用同样原则确定图形未覆盖区域的采样子区域。
根据校正图形和辅助校正点将二维条码图形分成若干子区域进行采样时,将较大的二维条码图形划分成一系列子区域分别进行处理和识别,在二维条码内存在多个畸变校正点,在图像的识别过程中便于建立畸变模型,达到强抗畸变能力。
在将二维条码图形分成若干子区域后,将每个子区域分成L×L个模块;其中L为校正图形中平均分布的折线宽度;然后在每个模块中设置采样点。对于每一个子区域平面,利用仿射变换把子图形映射到标准位置。从而,整个图形也即映射到标准位置。通过把整个图形进行拆分进行曲面到平面的近似,把非线性运算简化为线性运算,可以有效提高处理速度。
对子区域的每个模块可以设置一个采样点进行读取,也可以进一步将每个模块分成n行m列,将每个模块中n行m列的交点作为的采样点,其中n≧1,m≧1(n和m可以相同,也可以不同);进一步将每个模块细分,采样每个模块中的n×m个采样值,增加了识读的精度和正确率。
对于每个正方形模块只设置一个采样点的情况,此时,步骤5包括:
从二维条码图形某一顶点开始依次对个每个正方形模块中设置的采样点进行采样,根据阈值确定是深色块还是浅色块,映射到标准的二维条码图形对应模块上。
上述技术方案中,步骤4在每个模块设置多个采样点的情况时,步骤5包括:
步骤5.1’对每个模块中n行m列交点上的采样点在灰度图内进行采样,对n×m个采样值进行处理,结果做为每个模块的采样值;
步骤5.2’从二维条码图形某一顶点开始依次读取每个模块的采样值,根据采样值确定是深色块还是浅色块,映射到标准的二维条码图形对应模块上。
对网格的每一交点上的图像采样,并根据采样值确定是深色块还是浅色块,用二进制的“1”表示深色的,用二进制的“0”表示浅色的。
步骤5.1’中对每个模块的n行m列交点上的采样点进行采样,有n×m个采样值,可以采用最简单的取平均值的方法将平均值作为每一模块的采样值;也可采用其它方法,使每个模块的采样值取决于n×m个采样值中占多数的采样值。每个模块的采样值确定后,根据映射关系,将二维条码图形的每个模块的采样值映射到标准图像空间中,可得到经过几何校准的二维条码图形。
本发明根据找到的校正图形转折点的位置,利用校正图形将整个图形分割成一系列的子区域,由于子区域尺寸较小,可以近似认为各子区域在一个平面上,从而具有一定的抗曲面畸变的能力。对发生畸变的二维条码图形进行校正,为后续的识读和译码提供符合标准的汉信码符号图形。根据寻像图形和校正图形,将较大的二维条码图形划分成一系列子区域分别进行处理和识别,在图形内存在多个畸变辅助校正图形,在图像的识别过程中便于建立畸变模型,达到强抗畸变能力。对于每一个子区域平面,利用仿射变换把子区域映射到标准位置,从而,整个图形也即映射到标准位置。通过把整个图形进行拆分进行曲面到平面的近似,把非线性运算简化为线性运算,可以有效提高处理速度。本发明可有效解决现有二维条码图形中的畸变、残损及不规则图形所带来的识读困难和数据还原效率低等问题。
最后应说明的是:以上实施例仅用以说明本发明的技术方案而非对本发明作限制性理解。尽管参照上述较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解:其依然可以对本发明的技术方案进行修改或者等同替换,而这种修改或者等同替换并不脱离本发明技术方案的精神和范围。

Claims (16)

1.一种二维条码图形畸变校正的方法,其特征在于,包括:
步骤1:在二维条码图形顶点位置附近寻找寻像图形;
步骤2:寻找寻像图形附近功能信息区域的功能信息图形,获取二维条码图形的功能信息和版本信息;
步骤3:根据所述版本信息计算标准的二维条码图形的图像空间;
步骤4:确定二维条码图形中采样点坐标;
步骤5:在二维条码图形的采样点坐标处读取数据,将二维条码图形中的各数据元素,变换为标准的二维条码图形图像空间的数据元素;
步骤6:结束。
2.根据权利要求1所述的方法,其特征在于,步骤1包括:对二维条码图形的顶点位置附近的区域进行线性扫描,寻找深色与浅色模式比例符合1:1:1:1:3或者3:1:1:1:1的阵列,如果找到深色与浅色模式比例符合1:1:1:1:3或者3:1:1:1:1的阵列则找到寻像图形。
3.根据权利要求1所述的方法,其特征在于,步骤1包括:将二维条码图形的顶点位置附近的图像与事先存储的寻像图形模板进行匹配,如果二维条码图形的顶点位置附近的图像与寻像图形模板之间的相似度不小于某一设定的阈值,则找到寻像图形。
4.根据权利要求1、2或3所述的方法,其特征在于,步骤2包括:
步骤2.1根据找到的寻像图形确定寻像图形的宽度;获得模块尺寸;
步骤2.2根据模块尺寸,读取并合并相邻两顶点附近的功能信息区域,获得功能信息以获得版本信息。
5.根据权利要求4所述的方法,其特征在于,步骤2.2包括:
步骤2.2.1读取步骤1所找到的任一寻像图形附近的功能信息区域中每一模块的数据;
步骤2.2.2读取与寻像图形任意一相邻顶点附近的功能信息区域中每一模块的数据;
步骤2.2.3合并寻像图形及相邻顶点附近的两个功能信息区域中的数据,如果纠错无解,执行步骤2.2.4;否则进行纠错处理,获得版本信息和功能信息,执行步骤3;
步骤2.2.4读取寻像图形另一相邻顶点附近的功能信息区域中每一模块的数据和在对角线寻像图形附近的功能信息区域中每一模块的数据;
步骤2.2.5合并寻像图形附近的功能信息区域数据和另一相邻顶点附近的功能信息区域数据,或者合并另一相邻顶点附近的功能信息区域数据和对角线寻像图形附近的功能信息区域数据;
步骤2.2.6判断纠错是否有解,如果有解则进行纠错处理,获得功能信息和版本信息,执行步骤3;否则结束。
6.根据权利要求1、2、3或5所述的方法,其特征在于,所述的步骤3包括:
步骤3.1由版本信息获得版本号,计算二维条码图形每一边的模块数K:K=21+2*N;
其中,K为二维条码图形任意边的模块数,N为二维条码图形的版本号,且为正整数;
步骤3.2计算标准的二维条码图形的图像空间,标准的二维条码图形的图像空间为K*K个正方形模块组成的正方形阵列。
7.根据权利要求1、2、3或5所述的方法,其特征在于,所述的步骤4包括:
将版本号不小于4的二维条码图形分成若干个采样子区域,在每个子区域中设置采样点。
8.根据权利要求6所述的方法,其特征在于,所述的步骤4包括:
将二维条码图形分成K*K个模块,在每个模块内设置采样点。
9.根据权利要求7所述的方法,其特征在于,所述的步骤4中包括:在版本号不小于4的二维条码图形的图像空间中寻找校正图形,所述校正图形为相邻的深色和浅色两条线组成的阶梯形的折线。
10.根据权利要求9所述的方法,其特征在于,在步骤4中还包括:在二维条码图形的四个边线附近寻找辅助校正图形,所述辅助校正图形为2*3模块大小的图形,其中中间为黑色模块,为辅助校正点,剩下5个为白色模块。
11.根据权利要求10所述的方法,其特征在于,所述步骤4包括:
步骤4.1根据校正图形中相邻的转折点和辅助校正图形,将二维条码图形分成若干个子区域;
步骤4.2在子区域的每个模块内设置采样点。
12.根据权利要求11所述的方法,其特征在于,所述步骤4.1包括:
4.1.1初步确定校正图形与二维条码图形左边或上边相重叠的校正线中心坐标;
4.1.2从初定的校正线坐标开始,确定辅助校正图形中辅助校正点的坐标,根据辅助校正点的位置,确定校正图形的左边或上边相重叠的校正线位置中心坐标;
4.1.3估计校正图形左上角转折点的初步坐标;
4.1.4按照4.1.2中同样的步骤找到校正图形左上角转折点的实际中心坐标;
4.1.5根据所获得的转折点坐标和寻像图形的中心坐标,计算位于二维条码图形符号左上角区域的模块距离,确定覆盖二维条码图形的左上角区域的采样子区域;
4.1.6确定图形右上角区域和左下角区域的采样子区域;
4.1.7确定未覆盖的采样子区域。
13.根据权利要求11所述的方法,其特征在于,所述步骤4.2包括:
4.2.1将每个子区域分成L×L个模块;其中L为校正图形中平均分布的折线宽度,可由版本信息得知;
4.2.2在每个模块内设置采样点。
14.根据权利要求1、2、3、5、8、9、10、11、12或13所述的方法,其特征在于,步骤5包括:
从二维条码图形某一顶点开始依次对每个模块中设置的采样点进行采样,根据阈值确定是深色块还是浅色块,映射到标准的二维条码图形对应模块上。
15.根据权利要求8、11、12或13所述的方法,其特征在于,所述每个模块设置采样点包括:进一步将每个模块分成n行m列,确定每个模块中n行m列交点上的采样点坐标,其中n≧1,m≧1,n和m可以相等,也可以不相等。
16.根据权利要求15所述的方法,其特征在于,步骤5包括:
步骤5.1’对每个模块中n行m列交点上的采样点在灰度图内进行采样,对n×m个采样值进行处理,处理结果做为每个模块的采样值;
步骤5.2’从二维条码图形某一顶点开始依次读取每个模块的采样值,根据采样值确定是深色块还是浅色块,映射到标准的二维条码图形对应模块上。
CNB2006101385308A 2006-11-07 2006-11-07 二维条码图形畸变校正的方法 Active CN100504909C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006101385308A CN100504909C (zh) 2006-11-07 2006-11-07 二维条码图形畸变校正的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006101385308A CN100504909C (zh) 2006-11-07 2006-11-07 二维条码图形畸变校正的方法

Publications (2)

Publication Number Publication Date
CN1963838A CN1963838A (zh) 2007-05-16
CN100504909C true CN100504909C (zh) 2009-06-24

Family

ID=38082882

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006101385308A Active CN100504909C (zh) 2006-11-07 2006-11-07 二维条码图形畸变校正的方法

Country Status (1)

Country Link
CN (1) CN100504909C (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101882221B (zh) * 2010-06-01 2016-08-17 福建新大陆电脑股份有限公司 基于轨道线的条码图像校正方法
CN101840499B (zh) * 2010-06-01 2013-07-31 福建新大陆电脑股份有限公司 一种条码解码方法及其二值化方法
CN101882203B (zh) * 2010-06-01 2012-12-12 福建新大陆电脑股份有限公司 一种条码图像亚分辨率采样方法
TWI423659B (zh) 2010-11-09 2014-01-11 Avisonic Technology Corp 影像校正方法與相關影像校正系統
CN102479379B (zh) * 2010-11-19 2014-09-03 义晶科技股份有限公司 图像校正方法与相关图像校正***
CN102810150B (zh) * 2011-06-02 2015-04-08 航天信息股份有限公司 错位优先异形矩阵式二维条码排布方法
CN102231187B (zh) * 2011-07-12 2013-07-24 四川大学 一种基于计算机视觉检测技术的qr码检测识别方法
CN103679106B (zh) * 2012-09-11 2016-09-21 上海新大陆翼码信息科技股份有限公司 二维码切割与拼接鉴权方法及***
CN104517109B (zh) * 2013-09-29 2018-03-06 北大方正集团有限公司 一种qr码图像的校正方法及***
CN105512595B (zh) * 2015-12-04 2018-10-02 北京奇虎科技有限公司 条码修正方法和装置
CN112800798B (zh) * 2021-01-15 2023-11-03 广东奥普特科技股份有限公司 一种Aztec码的定位方法
CN113435556B (zh) * 2021-07-14 2022-09-30 三维码(厦门)网络科技有限公司 一种点阵码的生码、解码方法及防伪方法
CN116385742B (zh) * 2023-03-20 2024-04-12 北京兆讯恒达技术有限公司 一种低质量条码图像信号提取方法和装置

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
一种快速响应码图像的分割和校正方法. 刘慧娟.电子测量与仪器学报,第20卷第1期. 2006
一种快速响应码图像的分割和校正方法. 刘慧娟.电子测量与仪器学报,第20卷第1期. 2006 *
二维条码技术及其在我国的应用前景. 矫云起,张成海.信息与电脑,第12期. 1997
二维条码技术及其在我国的应用前景. 矫云起,张成海.信息与电脑,第12期. 1997 *

Also Published As

Publication number Publication date
CN1963838A (zh) 2007-05-16

Similar Documents

Publication Publication Date Title
CN100504909C (zh) 二维条码图形畸变校正的方法
US4896029A (en) Polygonal information encoding article, process and system
US4998010A (en) Polygonal information encoding article, process and system
US5725253A (en) Identification system
EP1612724B1 (en) System and method for encoding high density geometric symbol set
US5298731A (en) Method for printing and reading for orthogonal bar code patterns
US7510125B2 (en) Multi-dimensional symbologies and related methods
IE66487B1 (en) Hexagonal information encoding article process and system
WO1995030206A1 (en) Machine readable binary codes
AU660506B2 (en) Identification system
JPH035893A (ja) バーコードのマーク付け及び読み取りの方法及び装置
CN102081747A (zh) 一种二维真知码
CN100356399C (zh) 二维条形码码图印刷方法及解码方法
US6869022B2 (en) Computer-and human-readable part markings and system and method using same
CN100504912C (zh) 二维条码符号的生成方法
CN201927063U (zh) 一种二维真知码
CN102806788B (zh) 一种在多联票据上打印异形矩阵式二维条码的方法
WO2024147032A1 (en) The method the information is dynamically encoded, and a method of decoding the information, in particular using a combination with unique characteristics and patterns on the surface structure of the material
LV10820B (en) Polygonal information encouding article,process and system
EP0299066B1 (en) Four-point correspondence type individual information mark sheet
NZ314609A (en) Readable label set: machine location of information field
JPH07102755B2 (ja) 個別情報マークシート
JPH04223584A (ja) 光学式文字読取装置
JPH02297688A (ja) 文字認識装置
JPS58195984A (ja) 光学的文字読取装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant