一种圆形二维识别码及其扫描识别方法与流程

文档序号:14736124发布日期:2018-06-19 20:31阅读:4325来源:国知局
一种圆形二维识别码及其扫描识别方法与流程

本发明涉及一种圆形二维识别码及其扫描识别方法,属于物联网领域,更具体来说属于计算机图像智能分析领域。



背景技术:

在物联网的产业链中,感知技术是核心基础技术,而二维码则是感知技术的重要组成内容。当前,二维码技术对物联网产业的发展具有明显的推动作用。

二维码是指在一维码的基础上扩展出另一维度的具有计算机可读性的条码,其通常使用黑白图案,被相应设备扫描后即可识别其中所包含的数据信息。常见的二维码包括QR码(快速响应矩阵图码)、PDF417条码、汉信码等。

现有技术中的二维码以QR码最为常见。QR码具有定位点和容错机制,使得其在即使没有辨识到全部的二维码图案、或是二维码有污损时,也可以正确地还原二维码上的信息。

然而现有技术的QR码存在以下缺点:1)识别算法较为复杂,导致扫码速度较慢,识别时间较长;2)图案占用面积较大,产品较小时二维码难以印刷在其上;3)扫描分辨率较低(例如640*480)时无法使用;4)不能在同一画面中同时扫描识别多个二维码。



技术实现要素:

为了克服上述现有技术的不足之处,本发明提供了一种圆形二维识别码及其扫描识别方法。

一种圆形二维识别码,其由深色的封闭内圆环10和位于所述内圆环10外周、且与所述内圆环10相分离的深色圆弧20、21组成,所述圆弧20、21与所述内圆环10具有同一圆心30,所述圆形二维识别码的其余部分为浅色;其特征在于:所述圆弧20、21是开口圆弧,其是以所述圆心30为圆心、以圆弧20、21的半径为半径的外圆环40的一部分。

根据所述的圆形二维识别码,其特征在于:所述圆弧20、21为1段圆弧,或为相互分离的2段、3段、4段或5段圆弧,全部所述圆弧20、21的周向长度之和是所述外圆环40周长的8/13。

根据所述的圆形二维识别码,其特征在于:所述内圆环10的宽度与所述圆弧20、21的宽度相等,且所述圆弧20、21的半径是所述内圆环10半径的两倍。

根据所述的圆形二维识别码,其特征在于:圆形二维识别码图案不小于25*25像素。

根据所述的圆形二维识别码,其特征在于:所述圆弧20、21的外周还具有至少一圈附加圆弧51,该附加圆弧是开口圆弧、或是封闭圆环。

根据所述的圆形二维识别码,其特征在于:所述内圆环10的宽度与所述附加圆弧51的宽度相等,且所述附加圆弧51的半径是所述内圆环10半径的整数倍。

一种如前所述的圆形二维识别码的扫描识别方法,其步骤为:

步骤1:将一张含有圆形二维识别码的图片文件通过摄像头拍摄、或直接输入计算设备;

步骤2:计算设备将所述图片文件灰度化,并识别其中的所有深色的封闭内圆环10图案;

步骤3:计算设备扫描每一个内圆环10外周的外圆环40,识别所述外圆环40的深浅色交界处;

步骤4:计算设备从上述深浅色交界处起将每一个所述外圆环40等分分割为13个扇区40a-40m,并识别每个扇区的灰度;若深色扇区的数量等于8、或浅色扇区的数量等于5,则认定该图案为正确的圆形二维识别码,并将深色扇区记为0、浅色扇区记为1,按逆时针或顺时针顺序将上述的13个扇区40a-40m排列为一个13位的二进制数据,并继续进入下一步骤;若深色扇区的数量不等于8、或浅色扇区的数量不等于5,则认定该图案不是圆形二维识别码,不再对其作进一步处理;

步骤5:将每一个上述13位二进制数据分别进行移位操作,所述移位操作为:将二进制数据的首位数字挪至末位,或将二进制数据的末位数字挪至首位;对每一个13位二进制数据分别循环进行12次移位操作,每个二进制数据产生12个移位后的二进制数据,而后在上述12个移位后的二进制数据和未经移位的初始的二进制数据中,对其中首位为0且末位为1的二进制数据进行保存,其他数据不保存,再而后在上述所有保存的二进制数据中取最小值,该最小值的即为一个圆形二维识别码所存储的二进制数据;如此循环往复得到每一个圆形二维识别码所存储的二进制数据。

根据所述的扫描识别方法,其特征在于:所述图片文件包括至少一个圆形二维识别码。

根据所述的扫描识别方法,其特征在于:所述圆形二维识别码所存储的二进制数据为如下二进制数据中的一个:0000000011111、0000000101111、0000000110111、0000000111011、0000000111101、0000001001111、0000001010111、0000001011011、0000001011101、0000001100111、0000001101011、0000001101101、0000001110011、0000001110101、0000001111001、0000010001111、0000010010111、0000010011011、0000010011101、0000010100111、0000010101011、0000010101101、0000010110011、0000010110101、0000010111001、0000011000111、0000011001011、0000011001101、0000011010011、0000011010101、0000011011001、0000011100011、0000011100101、0000011101001、0000011110001、0000100001111、0000100010111、0000100011011、0000100011101、0000100100111、0000100101011、0000100101101、0000100110011、0000100110101、0000100111001、0000101000111、0000101001011、0000101001101、0000101010011、0000101010101、0000101011001、0000101100011、0000101100101、0000101101001、0000101110001、0000110000111、0000110001011、0000110001101、0000110010011、0000110010101、0000110011001、0000110100011、0000110100101、0000110101001、0000110110001、0000111000101、0000111001001、0000111010001、0001000100111、0001000101011、0001000101101、0001000110011、0001000110101、0001000111001、0001001000111、0001001001011、0001001001101、0001001010011、0001001010101、0001001011001、0001001100011、0001001100101、0001001101001、0001010001011、0001010001101、0001010010011、0001010010101、0001010011001、0001010100011、0001010100101、0001010101001、0001011001001、0001100011001、0001100100101、0001100101001、0001101001001、0010010010011、0010010010101、0010010100101。

根据所述的扫描识别方法,其特征在于:

1)在上述步骤4和步骤5之间,还包括如下步骤:

步骤4.1:计算设备扫描每个正确的圆形二维识别码的附加圆环52,将附加圆环52等分分割为13个扇区,并检测每个扇区的灰度,将深色扇区记为0、浅色扇区记为1,按逆时针或顺时针顺序将上述的13个扇区排列为一个13位的附加二进制数据,并继续进入下一步骤;且2)在上述步骤5之后,还包括如下步骤:

步骤5.1:对每个附加二进制数据进行移位操作,每个移位操作的方向和次数和与该附加二进制数据位于同一圆形二维识别码图案中的步骤5中的二进制数据相同,如此得到每一个圆形二维识别码的附加圆环所存储的附加二进制数据。

通过上述方案和手段,本发明提供了一种圆形二维识别码及其扫描识别方法,其在保证识别准确的前提下提升了识别速度,且图案简单,能够印刷在面积较小的产品上,也能在较低扫描分辨率的情况下使用,还能在同一画面中同时识别多个圆形二维识别码,特别适用于需要同时快速扫描多个产品的物联网应用场景。

附图说明

图1是本发明第一实施例圆形二维识别码的印刷图案。

图2是本发明第一实施例圆形二维识别码的原理图。

图3是本发明第一实施例圆形二维识别码的扫描识别流程图。

图4是本发明第二实施例圆形二维识别码的印刷图案。

图5是本发明第二实施例圆形二维识别码的原理图。

附图标记:10、内圆环;20、圆弧;21、圆弧;30、中心点;40、外圆环;40a至40m:扇区;50、具有附加圆弧的圆形二维识别码;51附加圆弧;52、附加圆环。

具体实施方式

实施例1

下面介绍本发明圆形二维识别码的图案。

图1示出了本发明圆形二维识别码的印刷图案,其由内部的内圆环10和外周的圆弧20、21组成。

图2为上述圆形二维识别码的原理示意图。内圆环10为封闭的圆环,其圆心为中心点30,该中心点30即为整个圆形二维识别码图案的中心点。圆弧20和21具有相同的圆心和半径,即圆弧20和21位于同一外圆环40上,且外圆环40的圆心即为中心点30;外圆环40的半径为内圆环10的两倍;外圆环40被等分为13段,每一段为一个扇区,形成扇区40a至40m。图2中连续的六个扇区40a、40m、40l、40k、40j和40i为黑色,形成了圆弧20;连续的两个扇区40g和40f也为黑色,形成了圆弧21。剩余的五个扇区40b、40c、40d、40e和40h未被涂色,为原始的白色。13个扇区40a至40m代表一个13位二进制码,其中黑色扇区编码为0、白色扇区为1。如图2的图案,扇区40a至40m按顺序形成的二进制码为“0111100100000”。

由此可见,本发明圆形二维识别码图案简单,因此适合印刷在面积较小的产品上,且即使在较低扫描分辨率的情况下也能被识别。本发明的圆形二维识别码图案最小可在25*25像素的情况下被识别。

需要说明的是:图1和图2仅为本发明圆形二维识别码的一个示例,根据13个扇区40a至40m不同的黑白组合,本发明的圆形二维识别码可以形成多种不同的图案,每种图案对应唯一一种二进制码;此外,本发明圆形二维识别码并不要求一定是黑白两色,仅要求是经灰度化后能够明显区分出明暗的深色和浅色即可。

进一步地,本发明圆形二维识别码共有99个不同的图案,对应99个不同的二进制码,编码表如下:

如前所述,图2中扇区40a至40m形成的二进制码为“0111100100000”,但若改变扇区的排序,从40a开始逆时针排序,即按照40a、40m、40l、40k、40j、40i、40h、40g、40f、40e、40d、40c、40b的顺序,则相应的二进制码为“0000001001111”,由此可见其与上表中编号6的二进制码相对应。

上述99个二进制码是经过特别设计编制而成,其具有如下特点:1)每个二进制码中“1”的数目总计均为五个、“0”的数目总计均为八个;2)每个二进制码的首位均为“0”、末位均为“1”;3)若对编码表中的任意一个二进制码进行移位操作(即将首位数字挪至末位、或将末位数字挪至首位),形成的其他首位为“0”、末位为“1”的二进制码中,没有一个二进制码会比上述编码表中的二进制码数值更小。

上述特点非常有利于提高该圆形二维识别码的识别速度和精度,具体识别方法将在下文介绍。

下面结合图3介绍本发明圆形二维识别码的扫描识别方法。

S1.获取图片

计算机通过摄像头拍摄图像,获取图片;或输入一张现有的图片。图片中包含m个圆形二维识别码。

S2.识别图片中的封闭圆环

计算机逐行扫描图片,对图片进行灰度化,并识别出图片中所有深色的封闭内圆环图案。此处识别封闭圆环的算法可以采用现有技术中的常用算法,如霍夫变换法、最小二乘椭圆检测法等。由于识别存在误差以及容错要求,总计将识别到n个封闭内圆环(n≥m),在此将封闭的内圆环图案依次标记为C1、C2……Cn;并计算出每个封闭内圆环的圆心位置O1、O2……On、宽度W1、W2……Wn和内圆环外周半径R1、R2……Rn。

S3.扫描封闭圆环的外周圆环图案

首先以圆心O1为中心点,扫描其半径范围为2R1-W1至2R1之间的外周圆环图案,识别上述外周圆环图案中灰度突然变化的位置,该位置即为图案中深浅色交界处,在此将该外周圆环图案标记为Z1;而后以圆心O2为中心点,扫描其半径范围为2R2-W2至2R2之间的外周圆环图案,识别上述外周圆环图案中灰度突然变化的位置,在此将该外周圆环图案标记为Z2;如此循环,分别以圆心O3、O4……On为中心点,扫描其半径范围为2R3-W3至2R3、2R4-W4至2R4……2Rn-Wn至2Rn之间的外周圆环图案,上述外周圆环图案为Z3、Z4……Zn。

S4.校验外周圆环图案的二进制数据

首先以从外圆环图案Z1的上述深浅色交界处为起始位置,将外周圆环图案Z1等分分割为13个扇区,并检测每个扇区的灰度,令深色扇区数值为0、浅色扇区数值为1,计算上述数值之和,若上述数值之和为5,则表明外周圆环为合法的(即符合上述编码表规律的)二进制数据,并按顺时针顺序将上述的13个扇区排列为一个13位的二进制数据进行保存,然后继续校验下一个外周圆环图案Z2;若上述数值之和不为5,则表明外周圆环不含合法数据,不再对该图案作进一步处理,不保存任何数据,继续校验下一个外周圆环图案;如此循环校验所有的外周圆环图案Z1、Z2……Zn,经校验,总共识别到m个浅色扇区数值之和为5的外周圆环图案,将它们所对应的合法二进制数据标记为Y1、Y2……Ym。

S5.读取圆形二维识别码所存储的二进制数据

将二进制数据Y1进行移位操作,即将首位数字挪至末位(或将末位数字挪至首位);然后对移位后的数据再次进行移位操作,如此循环总计移位12次;包括未移位的二进制数据在内共得到13个二进制数据,对其中首位为0且末位为1的二进制数据进行保存,其他数据不保存;在所有保存的首位为0且末位为1的数据中,选取二进制值最小的数据,在此将最小的二进制数据标记为X1,并记录获得上述二进制数据X1所经历的移位操作的次数N1。;再依次对Y2、Y3……Ym作如上处理,依次得到二进制数据X2、X3……Xm,以及相应地移位次数N2、N3……Nm。上述二进制数据X1、X2……Xm即为m个圆形二维识别码分别存储的二进制数据。

上述扫描识别方法具有如下优点:1)校验算法简单,有利于提高识别速度:在步骤S4中,本发明仅需做简单的加法运算即可实现校验,无需使用复杂校验算法;2)无需定位块图案,节省图案面积;识别时也无需寻找定位块,有利于提高识别速度:QR码要通过3个定位块图案实现角度定位,而本发明在步骤S5中,进行简单的12次移位操作和对最多5个数值取最小值的操作巧妙地实现了在无定位块的情况下也能准确识别;3)能够在同一画面中同时识别多个圆形二维识别码:步骤S2至S5考虑了一张图片中具有多个圆形二维识别码的情形,可实现同时识别。

实施例2

实施例2是在实施例1基础上的进一步改进。参见附图4至5,该圆形二维识别码50与图1和2相比,增加了一圈圆弧,该圆弧的结构与圆弧20、21相似,在此称其为附加圆弧51,其为附加圆环52的一部分。附加圆弧51用于存储更多的二进制数据,其宽度与内圆环10相同、外周半径为内圆环10的两倍。

圆形二维识别码50的识别算法与上述步骤S1至S5基本相同,不同之处在于:

1)在上述步骤S4结束之后、在上述步骤S5开始之前,还包括如下步骤:

S4.1.首先,对于合法二进制数据标记为Y1所对应的圆形二维识别码,以其圆心为中心点,扫描其半径范围为3R1-W1至3R1之间的附加圆环52,并以上述步骤S3中的深浅色交界处与O1之间所形成的角度为起始位置,将附加圆环52等分分割为13个扇区,并检测每个扇区的灰度,令深色扇区数值为0、浅色扇区数值为1,并按顺时针顺序将上述的13个扇区排列为一个13位的二进制数据进行保存,在此将该保存的二进制数据标记为A1。如此循环,对其他合法二进制数据Y2、Y3……Ym所对应的圆形二维识别码也分别进行上述步骤,得到二进制数据A2、A3……Am。

2)在上述步骤S5结束之后,还包括如下步骤:

S5.1.首先,对于二进制数据A1,将其进行N1移位操作,得到的二进制数据在此标记为B1。如此循环,对其他二进制数据A2、A3……Am的也分别进行上述步骤,得到B2、B3……Bm。上述二进制数据B2、B3……Bm即为m个圆形二维识别码的附加圆弧所存储的二进制数据。

进一步地,上述附加圆弧51可以不止一圈,即在圆弧20、21之外设置多圈附加圆弧,可以增大本发明圆形二维识别码所存储的数据量。

通过上述方案和手段,本发明提供了一种圆形二维识别码及其扫描识别方法,其在保证识别准确的前提下提升了识别速度,且图案简单,能够印刷在面积较小的产品上,也能在较低扫描分辨率的情况下使用,还能在同一画面中同时识别多个圆形二维识别码,特别适用于需要同时快速扫描多个产品的物联网应用场景。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1