一种二维码系统及其识别方法

文档序号:6572967阅读:197来源:国知局
专利名称:一种二维码系统及其识别方法
技术领域
本发明涉及信息存储、定位和识别技术领域,特别是一种全方位可识读的二维码系统极其识别方法。
背景技术
条形码简称条码,它是一种具有特殊形状和特殊排列方式的光学符号。目前常见的条码可分为一维条码和二维条码。
一维条码(以下简称一维码)在全世界都已经广泛应用并且为人们所熟知。一维码只在水平方向上表示信息,而在竖直方向则不表示任何信息。自20世纪70年代问世以来,一维码发展非常迅速,已经广泛应用于物流仓储、生产制造、图书出版物、邮政、交通运输、生产自动化管理等各个领域。Code 39码是其中一种比较著名的一维码。
一维条码虽然应用广泛,但是其存储数据量相对较少,主要依靠后台数据库的支持,条码只是提供了对物品的一种索引。此外,一维码对汉字编码的支持很差,尺寸相对较大,保密性低。针对一维码的这些不足之处,迫切需要一种更大存储容量、更高的保密性、更强的纠错性、可以独立于数据库支持、具有多种编码甚至可扩展编码方式的条码系统。针对这些问题应运而生了一种新的条码系统——二维条码。
二维条码简称二维码,它采用不同灰度或者不同颜色的图形单元表示特定的数据信息,图形单元按照矩阵形式进行排列。由于在水平和竖直方向上同时存储信息,因此信息量更大。信息容量的提升为差错编码算法和加密算法的应用提供了空间,很多经典的算法广泛应用到二维码中,提高了系统的容错性和鲁棒性。
二维码的主要特点是(1)信息容量大二维码在一维码的基础上将信息表示的空间维数从一维增加到了二维,因而容量大大增加。例如,在GB/T1828-2000国家标准中,版本40的QR码能容纳1817个汉字,这种信息容量是一维条码远远达不到的。
(2)强纠错能力一维码没有考虑纠错功能。二维码引入了纠错码,使得二维码在部分受损时,仍然可以部分或者全部识读出信息。二维码的纠错算法采用通用的差错编码算法,例如,在GB/T1828-2000国家标准中的QR码采用RS算法,当纠错等级为H时,纠错容量为30%。
(3)编码范围广二维码不仅可以表示常规的阿拉伯数字、英文字母、ASCll符,通过扩展编码,还可以表示中文字符、日文字符等多种字符集,而且可扩展编码集方式使得它可以适应未来更多的字符集编码方式。
(4)引入加密机制二维码超大信息容量为众多优秀的加密算法提供了发挥空间,这样可以防止各种证件、卡片等的伪造。
二维码有许多不同的码制,大致可分为以下两种类型(1)堆叠式二维码简单的将多个一维码在纵向堆叠起来,并且在码的两端放置了条状图形分别表示整个码字的左右边界。其中以美国的PDF417最为著名。
(2)矩阵式二维码在平面图形上的矩形区域内通过不同灰度或者不同颜色的正方形图形单元的不同排列组合表示信息。码字的定位往往依靠码字图形中具有特殊形状的定位图形。典型的矩阵式二维码包括QR Code、Data Matrix、Visual Code、紫光码等等。
QR码是由日本的Nippondenso公司于1994年开发的。在QR码图形的左上侧、右上侧和左下侧,存在三个特殊的较复杂的定位图形符号,如图2所示。通过特殊的定位图形,系统能迅速的定位整个码字图形区域,并判别码字图形的识读方向。QR码使用著名的Reed-Solomon算法(简称RS算法)用于差错译码,并且它能进行三种等级的容量选择。QR码是一种工业级的二位条码技术,在日本本国已经得到了充分的发展和应用。
随着个人无线通信业务的迅猛发展,带摄像头的智能手机日益普及和流行,使用手机摄像头作为二维码的扫描设备成为二维码应用的一个新的亮点,也就是通常说的手机二维码,这是二维码的一个极具发展空间的应用领域。通过智能手机上安装的专门的识读软件,用户可以方便的进行网页浏览、下载并欣赏音视频内容等等。很多国家和地区的手机上都预装了二维码识读软件,许多出版物和平面媒体广告上都印刷有可供手机识读软件使用的二维码。
但是传统的二维码系统应用于手机二维码有一些不足,例如QR码,它是一种工业级的条码系统。大尺寸的QR码需要专业的识读设备,例如激光扫描器等等。在手机应用领域,由于手机摄像头拍摄的图象精度较低,因此只能使用小尺寸的条码。实际应用表明,大于30×30的QR码在手机上的应用效果很差。但是小尺寸的QR码的容量有限,且没有提供尺寸小于20×20的版本,其纠错能力得不到充分体现。此外,QR码的定位图形也较复杂,面积较大,这就占用了更多的空间,降低了信息容量。换句话说,在手机应用领域,QR码的容量和纠错等优点得不到充分体现。
将手机二维码作为一个独立的分支进行研究和开发,涌现出一大批优秀的手机二维码系统。德意志电信的Michael Rohs发明的Visual Code采用了条状定位图形的方法,它借助相互垂直一根长导航条和一根短导航条作为定位图形,如图4所示。
在专利申请号200610086966.7中,北京紫光捷通科技有限公司公布的“一种基于定位图形的可快速定位的二维条码系统”里公布了紫光码。该码的快速定位核心在于使用了由离心率趋于0的导航条靶、离心率趋于1的导航条锚、导航条空隙共同组成的定位图形,并且由导航条锚、导航条靶、导航条空隙可以组成更多的定位模式和图形,如图5所示。该条码实际上借鉴了Visual Code二维码系统中的导航条的概念,均属于条形定位方式。
Visual Code和紫光码等二维码的共同特点都是采用条状图形定位方式。这种定位图形特征较明显,在一定程度上可提高定位和识别速度,但是长条形定位图形占用了更多的条码位置,使得条码信息容量减少;并且条形区域周围有更多的浅色间隔区域,这些浅色间隔区域也占用了更多的信息位置,而且大面积的浅色区域极易受到污染而影响识读结果,甚至造成整个条码区域的误判,甚至定位失败。
我国自1991年正式加入国际EAN组织以来,截止到2004年,已有两种条码码制通过国家标准,即(1)美国的PDF417码(标准编号GB/T 17172-1997);(2)日本的QR码(标准编号GB/T 18284-2000);这两项标准并不是“强制性”标准,属于“推荐性”标准。

发明内容
本发明的目的是一种二维码系统,将定位图形与编码方式相结合,并实现快速定位、提高容量、全方位识读。
本发明的目的是这样实现的一种二维码系统及其识别方法,码字由正方形单元块排列组成,码字区域分为定位区、定位间隔区以及数据区;定位区由四个相同的深色正方形定位图形组成,且四个正方形定位图形的中心点恰好位于正四边形的四个顶点位置;所述数据区中的数据按具有唯一识读方向的编码方法生成;所述定位界隔区为浅色单元块,它将四个正方形定位图形与数据区分隔开。
本发明发另一目的是提供前述二维码的识别方法。
本发明的另一目的是这样实现的一种二维码系统识别方法,按以下步骤进行识读1)使用图象采集设备采集图象信号,将采集的模拟信号转换并输出为数字图象信号;2)对步骤1获得的数字图象信号进行灰度转换、直方图均衡、去噪、锐化、边缘保持的预处理;
3)对预处理后的信号进行二值化操作根据单阈值分割算法将转化后得到的灰度图象转化为二值图象;4)采用基于四连通域的迭代区域生长算法进行区域标记,得到多个连通域,并提取连通域的边缘;5)采用霍夫(Hough)变换对得到连通区域边缘进行形状检测,并进行筛选,根据形状因子,筛选出多个候选的正方形定位图形;6)完成正方形定位图形之间的成组筛选从步骤5中筛选出的多个候选点中依次选出4个,如果其中心点的相对位置满足正方形顶点的相对位置关系,那么这4个点就可以成组,它能确定一个准码字区域;否则再依次选出其他4个点进行成组筛选;这样,可以从多个候选点中挑选出几组成组的候选点;7)进行空间采样根据步骤6中得到的其中一组4个定位点,确定数据区,根据4个定位点的位置,得到M×N个空间采样位置,取出二值图像中M×N个位置对应的二值图像的值,并按顺序放到数据矩阵D中;8)完成识读方向的确定和获取信息比特序列对于步骤7得到的数据矩阵D,从上、下、左、右四个方向进行识读,根据编码设计规则,有且仅有一个方向的识读结果能通过解码校验算法,依次进行数据校验,当有一个方向通过校验时,这个方向就是正确的识读方向,且从这个方向可以得到比特流信息;如果四个方向的校验都没有通过校验算法,则返回步骤7选取下一组进行处理;如果所有可成组的定位点采样后的数据都没有通过校验算法,那么就解码失败;9)完成字符集映射根据步骤8中得到的比特流进行进一步的数据转换,映射为特定的字符集,从而得到原始的字符数据信息。
本发明提供了一种二维码系统及其识别方法。码字由正方形单元块排列组成,画布上的码字图形包含有边界区、定位区、数据区。边界区为条码四周围绕条码图形的空白区域或浅色区域。定位区包括四个完全相同的矩形定位图形和相应的定位间隔区。矩形定位图形是深色正方形图形,正方形内部不包含任何浅色图形,且正方形的边长为单元块边长的奇数倍。浅色的定位间隔区把矩形定位图形与数据区之间隔开。定位区的图形可以不包含识读方向信息。数据区中包含若干个正方形单元块,若干个单元块按照一定的平面几何规律分布在数据区中。
与现有二维码系统相比,本发明的有益效果在于定位图形更加简单、码字容量更大,特别适合手机二维码应用领域。
现有的基于条形定位特征的二维码系统,例如Visual Code、紫光码等等,其定位图形为长条状图形,其结构较大,而且间隔区域较大,这就使得被污染的可能性很大,并且降低了码字容量。此外,类似于本发明定位方法的QR码系统中,定位图形比较复杂,码字中包含了三个相同的定位图形,每一个定位图形可以看作由三个重叠的同心的正方形组成,他们分别是7×7的深色模块、5×5的浅色模块和3×3的深色模块(参见GB/T18284-2000)。这种定位图形较复杂且尺寸较大,占用的图形空间更多,特别在手机应用需要的小尺寸版本中,信息容量很小(没有提供小于20×20的版本)。在小版本的QR码中,大容量、强纠错等优点得不到充分体现。
本发明提出的“双四边形准则”为特征的定位图形,结构简单。当每一个定位图形采用1个单元块时,与现有的所有二维码系统相比,定位图形的尺寸最小。在小尺寸版本时,定位图形的定位效率很高,特别适合于需要小尺寸版本的手机二维码应用。在大尺寸版本时,可以使用3×3或者5×5的定位图形,以提高定位精度。另外,本发明提出的定位图形结构简单,定位间隔区也很小,二者被污染的可能性大大减小,从而增强了定位抗干扰性。此外,定位图形和间隔区占用的图形空间更少,可供信息表示的空间更多。在同等码字尺寸条件下,可以表示更多的信息,从而提高了码字信息容量。以紫光码为例,在不考虑校验信息的时候,具有两条相互垂直的导航条的10×10版本的码字的信息容量约为260,而该发明中的二维码的10×10版本的信息容量为284,约为前者的1600万倍。
以往的二维码系统解决识读方向主要是依靠码字中的定位图形的非对称性来确定。例如在QR码中,三个定位图形位于码字矩阵的四个顶点的其中三个,这三个顶点的排列方式可以唯一的确定识读方向。Visual Code中相互垂直的导航条位于码字的右下角,因此右下角可以视为码字坐标的原点,长导航条方向可以视为y轴方向,短导航条可以视为x轴方向。
本发明中的二维码系统提出了一种新颖的确定识读方向的方法,其识读方向是依靠解码校验来确定的,即码字信息只有在唯一的方向进行识读时,才能通过解码校验算法的验证,从而确定的正确的识读结果。根据本发明中码型设计原理,可能的识读方向只有4个,即上、下、左、右。当前电子技术的飞速发展,硬件计算的能力大大提高,短时间(数百毫秒)内对4个方向进行校验计算已经很容易实现。


图1为为按照本发明的二维码码字示意图;图2为按照本发明设计的一个较佳实施例的示意图;图3是现有QR码示意图;图4是现有Visual Code码示意图;
图5是现有紫光码示意图;图6是本发明二维码识别方法的程序流程图;图7-图9是本发明二维条码采用不同定位图形的示意图;图10示出的是本发明二维码的另一个实施例的示意图。
具体实施例方式
现结合附图及实施例对本发明中的二维码系统及其解码流程作进一步详细说明。
图1描述了二维码的码子结构。图1中,1、矩形定位图形;2、定位间隔区;3、数据区;4、边界区。
图形中包括了三个部分边界区、定位区和数据区。其中边界区4为码字四周的浅色区域。定位区由四个正方形定位图形组成,定位间隔区2将定位区与数据区3分隔,四个正方形定位图形位于码字矩形的四个顶点处,四个正方形定位图形的中心点之间的连线恰好构成一个正四边形。
该二维码的码字尺寸可以为任意大小。正方形定位图形的面积可以为任意大小。
该二维码的数据区中的单元块通过不同的颜色(一般呈黑、白两种颜色)表示特定的信息。
该二维码的定位区中的正方形定位图形满足“双四边形准则”,即每一个正方形定位图形是深色正方形,四个正方形定位图形的中心点的连线恰好构成一个更大的正四边形。
该二维码的数据区可为任意形状。数据区的个数可以为一个或者多个。数据区内可以含有图案区。
该二维码的定位区可以位于数据区内部或外部。
考虑到CCD采样并转换后的数字图像中,黑色单元块的边缘存在模糊情况,在二值化后必然造成黑色单元块边缘的腐蚀,其腐蚀程度依据环境光照、CCD敏感度、二值化算法等因素而不同。假设黑色单元块在上、下、左、右四个方向上的腐蚀程度相同(这种假设是接近真实情况的),腐蚀后的定位图形的几何中心仍处于原图形的几何中心。
当定位图块的边长恰好为单元块边长的奇数倍时,定位图形的几何中心恰好处于单元图块的几何中心,即使腐蚀后该几何中心也可以直接作为图像空间采样点的位置,也是确定其他采样点的基准点,引入的误差最小。
相反,如果为偶数倍时,定位图形的几何中心位于单元图块的边缘处,离空间采样点最远,在确定空间采样点时引入的误差最大,易误读,特别是在图像腐蚀比较严重的情况下很难确定采样点,极易造成误读。
该二维码可以通过设置掩膜方式或者编码过滤方式减少数据区中出现某种特定图形的数量,这种特定图形是内部不包含浅色图形的深色正方形图形,且四周相邻位置全部为浅色图块。
该二维码可以通过编码过滤的方式排除一些码字图形,它们的数据区中出现了满足“双四边形准则”的图形,即数据区中有四个孤立的区域是不含任何浅色图形的深色正方形图形,且这四个正方形的中点恰好位于另外一个正方形的四个顶点位置。
编码过滤方式指的是如果通过码字生成器获得的码字不满足过滤要求,则将该码字作为禁用码字废弃不用。
YUV颜色空间中,Y为灰度,表示色彩的亮度,所述浅色是指Y小于50%,所述深色是指Y大于等于50%。
该二维码的定位区可以不包含识读方向信息,识读方向的确定可以借助于数据区中数据信息的编码(如采用CRC8算法编码,CRC8的生成多项式G(X)=X8+X5+X4+1)解码校验算法。即在全部可能的识读方向均进行解码校验,有且仅有一个方向的识读结果能通过校验算法,从而找到正确的识读方向,实现全方向可读。
多个单个的二维码可以级联形成更大的二维码,这些二维码的数据区中加入级联信息,以便解码时将多组数据按顺序进行重组。
参照图6的流程图,对图2所示的二维码进行识读,其详细流程如下在步骤1中,首先进行图象采集601。采集图象需要用带有电荷耦合器件(CCD)的图象采集设备。通常CCD器件输出为模拟的电压或者电流信号,根据实际情况需要对这些模拟信号进行采样和量化,从而转化为数字图象,以便后续的数字图象处理算法进行处理和识读。目前,市场上也出现了很多数字摄像头或者手机摄像头,其输出信号为已经采用和量化后的彩色或者灰度图象。在本实施例中,采用了手机摄像头作为采集设备。
在步骤2中,主要是对步骤1获得的数字图象进行预处理602,其中包括灰度转换、直方图均衡、去噪、锐化、边缘保持等操作。这些预处理属于数字图象处理的通用算法,不属于本发明的内容。
在步骤3中,主要进行二值化操作603,将灰度图转换为黑白二值图象。首先将步骤2中得到的预处理灰度图象,根据单阈值分割算法将灰度图象转化为二值图象,即
f(x,y)=1,f(x,y)>T0,else]]>其中f(x,y)为坐标(x,y)处象素的灰度值,T为分割阈值。该分割阈值可以通过基于灰度直方图的迭代阈值算法求得,该迭代算法公式如下T(i+1)=12(Σk=0T(i)hk·kΣk=0T(i)hk+ΣT(i)+1L-1hk·kΣk=T(i)+1L-1hk)]]>在本实施例中,灰度图象共有L=256个灰度等级。式中,T(i)为第i次迭代得到的阈值,hk为灰度值为k的象素个数。
首先取灰度直方图中有效灰度的中值作为初始阈值T(0),反复使用上式的迭代算法,直到T(i+1)≈T(i)为止。此时的T(i)的值就可以作为最佳分割阈值进行二值化处理。
在步骤4中,主要采用基于四连通域的迭代区域生长算法进行区域标记604。设当前象素位置为(x,y),则(x-1,y),(x+1,y),(x,y-1),(x,y+1)称为其四连通域。其迭代算法描述如下void RegionTag(int x,int y)int visit_flag=3;if(f(x,y)==0)//0对应黑色点{fx,y)=visit_flag;RegionTag(x,y+1);RegionTag(x+1,y);RegionTag(x-1,y);RegionTag(x,y-1);}在步骤5中,主要采用霍夫(Hough)变换对连通区域边界进行形状检测并进行筛选605。
在步骤4中得到连通区域后,通过二值图象边缘检测得到连通区域的边界。
在霍夫变换得到的参数空间中,可以提取出区域的长度和宽度值,二者的比值称为形状因子,它是一个很好的检测物体形状的参量。例如,正方形的形状因子等于1。
根据形状因子,可以筛选出多个候选的正方形定位图形。
步骤6主要完成定位图形的成组筛选606。所谓成组指的是4个候选定位图形的中心点的连线构成一个较大的正四边形。
从步骤5中筛选出的多个候选点中依次选出4个,如果其中心点的连线能构成一个较大的正四边形,那么这4个点就可以成组,它能确定一个准码字区域。否则再依次选出其他4个点进行成组筛选。经过算法6,可以从多个候选点中挑选出几组成组的候选点。
所谓准码字区域,指的是该区域属于真实的码字区域的可能性较大,但其有效性最终还需要通过解码验证来确定。
步骤7主要完成空间采样607。根据步骤6中得到的其中一组成组4个定位点,可以确定数据区。根据4个定位点的位置,可以得到M×N个空间采样位置,取出二值图像中M×N个位置对应的二值图像的值,并按顺序放到数据矩阵D中。
在本例中,根据先验信息,码字为10×10尺寸版本,因此在二值图像上有10×10个空间采样位置。假设4个定位图形中,左上、右上、左下、右下4个点的坐标分别为(xp1,yp1),(xp2,yp2),(xp3,yp3),(xp4,yp4),则根据以下公式可以确定数据矩阵中第m行第n列元素的值对应于二值图像中坐标为[x(m,n),y(m,n)]的象素的值,其中0≤m≤M-1,0≤n≤N-1。
N=10,M=10x1(n)=(N-n-1)xp1+nxp2y1(n)=(N-n-1)yp1+nyp2x2(n)=(N-n-1)xp3+nxp4y2(n)=(N-n-1)yp3+nyp4x3(m)=(M-m-1)xp1+mxp3y3(m)=(M-m-1)yp1+myp3x4(m)=(M-m-1)xp2+mxp4y4(m)=(M-m-1)yp2+myp4
ABCD=x1(n)y1(n)00x2(n)y2(n)0000x3(m)y3(m)00x4(m)y4(m)-1N-1N-1M-1M-1]]>x(m,n)y(m,n)=ABCD-111]]>步骤8完成识读方向的确定和获取信息比特序列608。对于步骤7得到的数据矩阵D,可能从上、下、左、右四个方向进行识读,根据编码设计规则,有且仅有一个方向的识读结果能通过解码校验算法。因此,对数据矩阵依次从上、下、左、右四个方向进行识读,并依次进行数据校验,当有一个方向通过校验时,这个方向就是正确的识读方向,且从这个方向可以得到比特流信息。如果四个方向的校验都没有通过校验算法,那么就解码失败。
假设数据矩阵D的元素为如下图所示的排列D=d00d01Ld0,N-1d10d11Ld1,N-1MMOMdM-1,0dM-1,1LdM-1,N-1,]]>对于本例,有N=10,M=10,即D=d00d01Ld09d10d11Ld19MMOMd90d91Ld99,]]>从上往下读时,得到的比特序列为[d00,d01,d02,L,d08,d09,d10,d11,d12,L d18,d19,L d90,d91,d92,L d98,d99]从左往右读时,得到的比特序列为[d90,d80,d70,L,d10,d00,d91,d81,d71,L,d11,d01,L d99,d89,d79,L,d19,d09]从下往上读时,得到的比特序列为[d99,d98,d97,L,d91,d90,d89,d88,d87,L,d81,d80,Ld09,d08,d07,L,d01,d00]从右往左读时,得到的比特序列为[d09,d19,d29,L,d89,d99,d08,d18,d28,L,d88,d98,L d00,d10,d20,L,d80,d90]然后,依次对这4个序列进行解码校验,能通过校验算法的序列即为有效序列,可以送入算法9进行映射。现在以“从上往下”读时得到的序列为例,详细说明验证过程,其他方向序列的处理同理可得。
在100位比特序列中,由于以下16个象素恰好对应定位图形的位置,不包含数据信息。因此,在比特序列中将这16个象素去掉。
剩下的84个比特的序列即为数据序列,可以表示为[b0,b1,b2,...b83]其中[b0,b1,b2,...b75]为数据位,[b76,b78,...b83]为校验位。根据先验信息,本实施例中的数据编码采用了CRC8算法,因此解码时,可以通过CRC8校验算法判定[b0,b1,b2,...b83]中是否出现错误。
具体步骤为[b0,b1,b2,...b75]后面补足4个零,并与校验位形成新的长度为88位的数据序列,即[b0,b1,b2,...b75,0,0,0,0,b76,b78,...b83]每8比特对应1个字节,将序列转换为11个字节。将11个直接送入CRC8的解码验证算法;如果验证结果为0,表示验证成功,该序列为有效序列,否则验证失败。
CRC8的生成多项式为G(x)=x8+x5+x4+1。
步骤9主要完成字符集映射609。根据步骤8中得到的比特流进行进一步的数据转换,映射为特定的字符集,从而得到原始的字符数据信息,如阿拉伯数字、ASCII码等等。
在本实施例中,已知映射为数字集。将[b0,b1,b2,...b75]序列按照每10比特转换为一个3位十进制数的规则,可以得到最终的数字信息。
ti=bi9×29+bi8×28+bi7×27+L+bi0×20,t=0,1,L 6p7=b73×23+b72×22+b71×21+b70×20其中p7为1位十进制数。ti为3位十进制数,当数据ti<100时,需要在前面补足0。
最终解码数据为[t0,t1,t2...t6,p7]。
以上所述的实施例及实施方法仅为本发明的实施例,而本发明不限于上述实施例。对本领域的一般技术人员而言,在不违背本发明原理的前提下对它作出的任何显而易见的改动,都属于本发明的构思和所附权利要求的保护范围。
权利要求
1.一种二维码系统,码字由正方形单元块排列组成,码字区域分为定位区、定位间隔区以及数据区;其特征是所述定位区由四个相同的深色正方形定位图形组成,且四个正方形定位图形的中心点的连线恰好构成一个较大的正四边形;所述数据区中的数据按具有唯一识读方向的编码方法生成;所述定位界隔区为浅色单元块,它将四个正方形定位图形与数据区分隔开。
2.根据权利要求1所述的一种二维码系统,其特征是所述编码校验方法采用CRC8算法;CRC8的生成多项式为G(X)=X8+X5+X4+1。
3.根据权利要求1所述的一种二维码系统,其特征是所述每一正方形定形图形的边长为单元块边长的奇数倍。
4.根据权利要求1或2或3所述的一种二维码系统,其特征是所述定位区位于数据区的外部或内部。
5.根据权利要求4所述的一种二维码系统,其特征是所述数据区中出现某种特定图形时,可以通过设置掩膜方式或者编码过滤方式进行改变,这种特定图形是四个孤立的深色正方形,且这四个图形的中心点位于正方形的四个顶点位置,且这四个图形的四周相邻位置全部为浅色图块。
6.根据权利要求4所述的一种二维码系统,其特征是所述二维条码的数据区包含级联信息,可以级联形成更大的二维码,解码时将多组数据按顺序进行重组。
7.一种如权1所述的一种二维码系统的识别方法,其特征是按以下步骤进行识读1)使用图象采集设备采集图象信号,将采集的模拟信号转换并输出为数字图象信号;2)对步骤1获得的数字图象信号进行灰度转换、直方图均衡、去噪、锐化、边缘保持的预处理;3)对预处理后的信号进行二值化操作根据单阈值分割算法将转化后得到的灰度图象转化为二值图象;4)采用基于四连通域的迭代区域生长算法进行区域标记,得到多个连通域,并提取连通域的边缘;5)采用霍夫(Hough)变换对得到的连通区域边缘进行形状检测,并进行筛选,根据形状因子,筛选出多个候选的正方形定位图形;6)完成正方形定位图形之间的成组筛选从步骤5中筛选出的多个候选点中依次选出4个,如果其中心点的相对位置满足正方形顶点的相对位置关系,那么这4个点就可以成组,它能确定一个准码字区域;否则再依次选出其他4个点进行成组筛选;这样,可以从多个候选点中挑选出几组成组的候选点;7)进行空间采样根据步骤6中得到的其中一组4个定位点,确定数据区,根据4个定位点的位置,得到M×N个空间采样位置,取出二值图像中M×N个位置对应的二值图像的值,并按顺序放到数据矩阵D中;8)完成识读方向的确定和获取信息比特序列对于步骤7得到的数据矩阵D,依次从上、下、左、右四个方向进行识读,根据编码设计规则,有且仅有一个方向的识读结果能通过解码校验算法,依次进行数据校验,当有一个方向通过校验时,这个方向就是正确的识读方向,且从这个方向可以得到比特流信息;如果四个方向的校验都没有通过校验算法,则返回步骤7选取下一组进行处理;如果所有可成组的定位点采样后的数据都没有通过校验算法,那么就解码失败;9)完成字符集映射根据步骤8中得到的比特流进行进一步的数据转换,映射为特定的字符集,从而得到原始的字符数据信息。
8.根据权利要求7所述的一种二维码系统及其识别方法,其特征是所述图象采集设备为手机摄像头。
9.根据权利要求7所述的一种二维码系统及其识别方法,其特征是对数据矩阵D依次从上、下、左、右四个识读方向获取比特序列,并逐一采用CRC-8校验算法进行解码校验,当校验算法成功时,即找到正确的识读方向,实现全方向可读。
10.根据权利要求7所述的一种二维码系统及其识别方法,其特征是根据4个定位图形的左上、右上、左下、右下位置的4个定位点确定M×N个空间采样位置采用如下公式进行x1(n)=(N-n-1)xp1+nxp2y1(n)=(N-n-1)yp1+nyp2x2(n)=(N-n-1)xp3+nxp4y2(n)=(N-n-1)yp3+nyp4x3(m)=(M-m-1)xp1+mxp3y3(m)=(M-m-1)yp1+myp3x4(m)=(M-m-1)xp2+mxp4y4(m)=(M-m-1)yp2+myp4ABCD=x1(n)y1(n)00x2(n)y2(n)0000x3(m)y3(m)00x4(m)y4(m)-1N-1N-1M-1M-1]]>X(m,n)y(m,n)=ABCD-111;]]>0≤m<M,0≤n<N其中,(xp1,yp1),(xp2,yp2),(xp3,yp3),(xp4,yp4)分别为左上、右上、左下、右下位置的4个定位点的座标;M、N分别为数据矩阵的行数和列数。
全文摘要
一种二维码系统及其识别方法,码字由正方形单元块排列组成,码字区域分为定位区、定位间隔区以及数据区;定位区由四个相同的深色正方形定位图形组成,且四个正方形定位图形的中心点的连线恰好构成一个较大的正四边形;所述数据区中的数据按具有唯一识读方向的编码方法生成;所述定位界隔区为浅色单元块,它将四个正方形定位图形与数据区分隔开。该系统具有快速定位、提高容量、全方位识读的优点。
文档编号G06K9/80GK101093553SQ20071004954
公开日2007年12月26日 申请日期2007年7月19日 优先权日2007年7月19日
发明者刘涛, 周欣 申请人:成都博古天博科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1