一种圆形二维条码及其编码解码方法

文档序号:6537134阅读:487来源:国知局
一种圆形二维条码及其编码解码方法
【专利摘要】本发明公开了一种圆形二维条码及其编码解码方法,该二维条码包括一个实心圆以及从实心圆依次向外分布的四个同心圆环,所述四个同心圆环由内向外依次为第一至第四圆环,所述实心圆的半径、第一至第四圆环的宽度相同;所述第一圆环的内径与实心圆半径相同;所述第二圆环的内径与第一圆环外径相同;所述第三圆环与第二圆环之间为数据区域;所述第四圆环的内径与第三圆环外径相同;所述实心圆、第一至第四圆环中相邻两者颜色的灰度值不同;所述数据区域的数据以实心圆的圆心为圆心按照同心圆的形式由内向外层层分布。
【专利说明】—种圆形二维条码及其编码解码方法【技术领域】
[0001]本发明涉及一种圆形二维条码及其编码解码方法,属于计算机工程的【技术领域】。【背景技术】
[0002]二维条码是指在一维条码的基础上扩展出另一维具有可读性的条码。二维条码相比一维条码具有很多优势:
1)二维条码增加了容错机制,即使在没有辨识到全部的条码、或者条码有污损时,也可以正确地解析条码上的信息;
2)二维条码比一维条码记载数据量更多,可以记载更复杂的数据,比如图片、网络链接
等;
3)二维条码通常有特定的定位标记(如QR码为三个大的定位点),通过定位标记使读码机正确辨识进行解读,所以二维条码不管是从何种方向读取都可以被辨识; 二维条码的种类很多,不同的机构开发出的二维条码具有不同的结构以及编码、解码方法。目前QR码是最为流行的二维条码。虽然现有的二维条码相比一维条码具有很多优点,但是仍然存在一些不足:
1)解码算法复杂,速度仍然不够快。尤其现在二维码被大批量使用,各种读取设备不断出现,为迎接即将到来的物联网时代,速度显得越来越重要。以最流行的QR码为例,QR码解码要经过一系列的过程,如扫描图像、灰度化二值化、寻找定位块、图像纠正、读取信息块等过程,其中有些过程速度很慢,本发明的圆形二维条码做了针对性的措施简化了一些过程;
2)抗畸变能力差。同样以QR码为例,虽然经过复杂的算法,能够应付大部分如图像颠倒、镜像、旋转、少许几何畸变等,但是对复杂畸变如贴在非平面上的二维条码识别效果不好。
[0003]因此,解决现有条码存在的诸多缺点,发明新型的二维条码成为研究性的课题。

【发明内容】

[0004]本发明所要解决的技术问题是提供一种圆形二维条码及其编码解码方法,采用圆形二维设计方式,能够很好地规避一些复杂情况,使解码复杂度大为降低。
[0005]本发明为解决上述技术问题采用以下技术方案:
一种圆形二维条码,该二维条码包括一个实心圆以及从实心圆依次向外分布的四个同心圆环,所述四个同心圆环由内向外依次为第一至第四圆环,所述实心圆的半径、第一至第四圆环的宽度相同;所述第一圆环的内径与实心圆半径相同;所述第二圆环的内径与第一圆环外径相同;所述第三圆环与第二圆环之间为数据区域;所述第四圆环的内径与第三圆环外径相同;所述实心圆、第一至第四圆环中相邻两者颜色的灰度值不同;所述数据区域的数据以实心圆的圆心为圆心按照同心圆的形式由内向外层层分布。
[0006]作为本发明的进一步优化方案,所述实心圆、第一至第四圆环的颜色选取黑色或白色。实心圆、第一至第四圆环中相邻两者颜色的灰度值相差越大,二维条码的识别正确率越闻。
[0007]作为本发明的进一步优化方案,所述数据区域中最内层的数据为标识块,用以解析正确的数据读取方向以及起始点;所述标识块包括圆形二维码标识符、版本信息和保留块、正反识别块,所述圆形二维码标识符、版本信息和保留块的信息均对称分布,所述正反识别块位于实心圆正下方。
[0008]作为本发明的进一步优化方案,所述数据区域的数据默认为UTF — 8字符串,由应用层增加编码和其他格式信息组成。
[0009]本发明还包括一种圆形二维条码的编码方法,包括以下步骤:
步骤I,数据在应用层被打包为一个字节流,根据字节流的比特位数确定数据区域的大小,从而确定圆形二维条码的大小;
步骤2,确定实心圆以及四个同心圆环的分布;
步骤3,确定数据区域中的标识块,用以解析正确的数据读取方向以及起始点,具体为:以同心圆的形式、以实心圆正上方为起点,分别按照顺、逆时针方向重复写入;所述冗余级别的数值写入标识块中;
步骤4,根据冗余级别的不同,将应用层传入的数据写入不同数据层;并且为了更快校正二维码的镜像、颠倒和其他几何畸变,在每个数据层增加位于实心圆正上方的方向信息、位于实心圆正下方的正反识别块信息。
[0010]步骤5,生成圆形二维条码图像。
[0011]本发明还包括一种圆形二维条码的解码方法,包括以下步骤:
步骤1,扫描圆形二维条码图像,进行灰度化和二值化处理;
步骤2,以水平线性方式从图像中心点开始扫描实心圆和第一、第二圆环,识别比例为1:1:2:1:1 ;若被识别,则按照相同的识别比例垂直进行校验,否则继续向外侧扫描;
步骤3,从水平和垂直两个方向扫描圆形二维码图像的外围,以识别第三、第四圆环,识别比列为1:1并对称分布;若步骤2中未能识别实心圆和第一、第二圆环,则被识别的圆环圆心处即为实心圆的圆心;
步骤4,按照同心圆的方式从第二圆环外侧向外,逐层读取数据区域的数据;
步骤5,对读取的数据进行校验后,进入字节流返回应用层,即完成解码。
[0012]本发明采用以上技术方案与现有技术相比,具有以下技术效果:
1)圆形二维条码比方形二维条码的更容易识别,特别是对付旋转颠倒图像的效果甚
优;
2)圆形二维条码与方形二维条码相比较,抗图片变形能力更强,倾斜算法处理速度要
快;
3)本发明能够更好的规避一些复杂情况,使解码复杂度大为降低。
【专利附图】

【附图说明】
[0013]图1是圆形二维条码的结构示意图。
[0014]其中:1_圆心;2-第一圆环;3_第二圆环;4_第二圆环;5_第四圆环;6_数据区域。【具体实施方式】
[0015]下面结合附图对本发明的技术方案做进一步的详细说明:
如图1所示,一种圆形二维条码,该二维条码包括一个实心圆I以及从实心圆I依次向外分布的四个同心圆环,所述四个同心圆环由内向外依次为第一至第四圆环,所述实心圆I的半径、第一至第四圆环的宽度相同;所述第一圆环2的内径与实心圆半径相同;所述第二圆环3的内径与第一圆环外径相同;所述第三圆环4与第二圆环3之间为数据区域;所述第四圆环5的内径与第三圆环4外径相同;所述实心圆1、第一至第四圆环的颜色分别为黑色、白色、黑色、白色、黑色。
[0016]实心圆I以及依次向外分布的四个同心圆环,通过先行扫描即可识别,扫描比例为黑白黑白黑白黑白黑(I:1:1:1:2:1:1:1:1);四个同心圆环到圆心的距离均相等,少数不相等的为几何畸变,可以识别并纠正;这种扫描方式不但速度快,多个方向的扫描还可以增加扫描准确率,对几何畸变的识别效果也显著增强。
[0017]数据区域6的数据以实心圆I的圆心为圆心按照同心圆的形式由内向外层层分布;数据区域中最内层的数据为标识块,用以解析正确的数据读取方向以及起始点;所述标识块包括圆形二维码标识符、版本信息和保留块、正反识别块,所述圆形二维码标识符、版本信息和保留块的信息均对称分布,所述正反识别块位于实心圆I正下方。按照圆形曲线不分方向和起始点循环读取标识块数据,保存入循环双向链表,再经处理后可以解析正确的读取方向、起始点以及其他版本信息;根据已知读取方向和起始点后,再同样按照圆形曲线读取余下数据内容,并增加冗余校正信息;数据的内容由应用层增加编码和其他格式信息,默认为UTF — 8字符串。
[0018]圆形二维条码使用中包括编码和解码两部分,详细步骤如下:
一、编码:从应用层传入的数据开始:
1.应用层将数据打包成一个字节流,根据字节流的比特位数确定数据区域的大小,从而确定圆形二维条码的大小;
2.根据圆形二维条码的分布比例设定同心圆I和四个同心圆环;
3.确定数据区域6中的标识块,用以解析正确的数据读取方向以及起始点:标识块的开始是圆形二维码标识符,其次是版本信息和一个保留块,最后是正反识别块;标识块按照圆形曲线以实心圆I正上方为起始点,分别按照顺、逆时针方向重复写入,到接近实心圆I正下方时写入正反识别块;其中数据为对称分布,而正反识别块除外;
4.根据冗余级别(冗余级别数值写入标识块)不同将应用层传入的数据写入不同数据层,;为了更快校正二维码的镜像、颠倒和其他几何畸变,在每层的数据部分都增加方向(实心圆I的正上方)和正反识别块信息(实心圆I的正下方);
5.编码完成,生成圆形二维条码图像了。
[0019]二、解码:从扫描图像开始:
1.扫描图像,并进行灰度化和二值化处理;
2.从图像中心点开始水平线性扫描以确定实心圆和第一、第二圆环,识别比例为黑白黑白黑(I:1:2:1:1);
3.如果实心圆I和第一、第二圆环被识别,则从垂直方向进行校验,扫描比例同上;否则继续向外侧方向扫描。如果始终无法扫描到实心圆I和第一、第二圆环,则直接扫描边缘I;
4.实心圆I和第一、第二圆环被识别后或无法识别,则从水平垂直2个方向线性扫描圆形二维码图像的外围,扫描比例为黑白(I:1)并对称分布;如果实心圆I和第一、第二圆环已经被正确识别,则此步骤的扫描仅仅是冗余操作,目的是校验和几何畸变纠正;否则通过此步骤的扫描,即可确定实心圆的圆心;通过多次线性扫描验证,即可准确识别和校正;
5.按照同心圆的方式从第二圆环3外侧向外,逐层读入数据区域的数据;其中最内层为标识块,读取标识块可以正确找到数据的起始点坐标和正反方向(镜像或颠倒),因此圆形二维码读取时不需要对图像进行复杂的校正处理;
6.数据读取后,进行校验,校验通过后数据进入字节流返回应用层。
[0020]以上所述,仅为本发明中的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可理解想到的变换或替换,都应涵盖在本发明的包含范围之内,因此,本发明的保护范围应该以权利要求书的保护范围为准。
【权利要求】
1.一种圆形二维条码,其特征在于,该二维条码包括一个实心圆以及从实心圆依次向外分布的四个同心圆环,所述四个同心圆环由内向外依次为第一至第四圆环,所述实心圆的半径、第一至第四圆环的宽度相同;所述第一圆环的内径与实心圆半径相同;所述第二圆环的内径与第一圆环外径相同;所述第三圆环与第二圆环之间为数据区域;所述第四圆环的内径与第三圆环外径相同;所述实心圆、第一至第四圆环中相邻两者颜色的灰度值不同;所述数据区域的数据以实心圆的圆心为圆心按照同心圆的形式由内向外层层分布。
2.根据权利要求1所述的一种圆形二维条码,其特征在于,所述实心圆、第一至第四圆环的颜色选取黑色或白色。
3.根据权利要求1所述的一种圆形二维条码,其特征在于,所述数据区域中最内层的数据为标识块,用以解析正确的数据读取方向以及起始点;所述标识块包括圆形二维码标识符、版本信息和保留块、正反识别块,所述圆形二维码标识符、版本信息和保留块的信息均对称分布,所述正反识别块位于实心圆正下方。
4.根据权利要求1所述的一种圆形二维条码,其特征在于,所述数据区域的数据默认为UTF — 8字符串,由应用层增加编码和其他格式信息组成。
5.一种圆形二维条码的编码方法,其特征在于,包括以下步骤: 步骤1,数据在应用层被打包为一个字节流,根据字节流的比特位数,确定圆形二维条码的大小; 步骤2,确定实心圆以及四个同心圆环的分布; 步骤3,确定数据区域中的标识块,具体为:以同心圆的形式、以实心圆正上方为起点,分别按照顺、逆时针方向重复写入; 步骤4,根据冗余级别的不同,将数据写入不同数据层; 步骤5,生成圆形二维条码图像。
6.根据权利要求4所述的一种圆形二维条码的编码方法,其特征在于,步骤4中所述将数据写入不同数据层还包括在数据层增加位于实心圆正上方的方向信息、位于实心圆正下方的正反识别块彳目息。
7.根据权利要求4所述的一种圆形二维条码的编码方法,其特征在于,还包括将步骤4中所述冗余级别的数值写入标识块中。
8.一种圆形二维条码的解码方法,其特征在于,包括以下步骤: 步骤1,扫描圆形二维条码图像,进行灰度化和二值化处理; 步骤2,以水平线性方式从图像中心点开始扫描实心圆和第一、第二圆环,识别比例为I:1:2:1:1 ;若被识别,则按照相同的识别比例垂直进行校验,否则继续向外侧扫描; 步骤3,从水平和垂直两个方向扫描圆形二维码图像的外围,以识别第三、第四圆环,识别比列为1:1并对称分布;若步骤2中未能识别实心圆和第一、第二圆环,则被识别的圆环圆心处即为实心圆的圆心; 步骤4,按照同心圆的方式从第二圆环外侧向外,逐层读取数据区域的数据; 步骤5,对读取的数据进行校验后,进入字节流返回应用层,即完成解码。
【文档编号】G06K19/06GK103793735SQ201410041011
【公开日】2014年5月14日 申请日期:2014年1月28日 优先权日:2014年1月28日
【发明者】许军才, 张卫东, 沈振中, 任青文 申请人:河海大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1