适应logo形状的彩色QR码的设计
2016-10-13武警工程大学信息工程系冯立杰
武警工程大学信息工程系 李 栋 冯立杰 苏 航
适应logo形状的彩色QR码的设计
武警工程大学信息工程系 李 栋 冯立杰 苏 航
针对目前带有logo的普通黑白QR码信息容量比较小,并且logo会覆盖编码模块,造成误码率很高的问题,本文提出了一种适应logo大小的彩色QR码。论文首先通过选取多种颜色作为编码颜色提升了QR码的信息容量,并给出了要选取对比度最大的颜色的原则;然后提取logo的轮廓,并根据提取出来的logo的轮廓,将编码模块放置在logo轮廓的周围。容量分析以及MATLAB仿真表明,该方案达到了提升二维码容量以及解决由于编码模块被覆盖而造成的纠错能力下降的问题的目的。
彩色QR码;logo轮廓;信息容量;纠错能力;多进制
0 引言
二维码是一种表达数据的图形符号,是一种能够自动存储、携带商品等信息并且能够被机器自动识读的重要手段[1-2]。 20世纪80年代中期,我国开始对条码技术进行研究,一些科研部门和高等院校对条码技术的研究取得了一些成果[3]。由于二维条码是由黑白两种颜色构成的,比较单调,美观性较差;其次,二维条码的信息容量还是无法满足信息爆炸式发展的社会。针对二维条码不美观的问题,人们设计了一种中间带有Logo图形的二维条码,让二维码在美观方面有了一定的改善[4],但是这样设计出来的二维码存在纠错能力弱的问[5]。因此,为解决黑白二维条码信息容量小的问题,出现了彩色二维条码[6]。
1. 彩色QR二维条码的设计思想
我们生活中所见到的黑白QR码通过将数据变成二进制数,然后分别用黑白两种颜色表示0、1值,为了能够增加QR码的信息密度,因此需要考虑通过用一个模块表示多进制数来提升QR码的信息容量密度[7],这样就能够使相同版本的QR码容纳更多的信息量。
现在广告中使用的黑白QR码都是将logo单纯的放在二维码的中央,这样会导致QR码的纠错能力大幅度下降,并且如果logo过大还将导致二维码无法识读。为了解决这个问题,本文读取logo的轮廓,然后将编码模块放置在logo周围,从而提升二维码的纠错能力。
2. 颜色的选取及使用
彩色QR码的识别涉及到了图像的分割,彩色图像的分割常常是根据RGB彩色模型空间来进行的,这种办法简单直接而且效果很好[8], 根据RGB颜色模型图,可以看出黑、白、红、绿、蓝、品红、青、黄是最容易被识别的。本文规定数据位流得四进制值分别为0、1、2、3,对应的颜色分别为绿、黄、红、蓝。
3. 轮廓的提取及模块放置
3.1Logo图形轮廓提取
目前我们生活中所见的带有logo的黑白QR码都是先生成条码,然后再根据条码的纠错等级将logo图形缩小到其纠错能力的范围之内,然后将其加入到QR码之中。由于logo图形覆盖了部分码字,这样就大大降低QR码的纠错能力。
本文设计的自适应logo的彩色QR码先通过图像处理技术提取出logo图形的轮廓,具体步骤: (1)读取Logo图形并确定整个Logo的尺寸;(2)对确定了尺寸的logo图形进行灰度化和二值化操作;(3)进行边缘提取。
下面我们以图为例子提取轮廓。最终提取出来的边缘轮廓就是所要确定logo图形的形状。如图1所示。
下面我们在编码的时候将根据logo的边缘轮廓来放置编码模块。
3.2适应Logo轮廓的模块放置
彩色QR码中的logo图形是可以随意改变的,所以QR码的版本号也是不确定的。自适应logo的彩色QR码在布置功能图形时,布置方法基本和黑白QR码功能图形的布置方法是一样的:先放置三个位置探测图形在二维码的三个角,然后分别加入定位图形和校正图形。
而本文放置模块按照排列4×2的方式从左下角蛇形顺序布置,在遇到功能图形时放置模块参照文献。而当要放置模块的区域遇到logo图形的边界时则避开,不放置模块。
图1 logo的轮廓提取方法
4. 彩色二维码编码实例
本文以一段号码20160309576432为例子(符号版本5-L),将信息通过下面步骤转换为最终位流序列。
将数字的每3位进行分组,因为999转换为四进制是33213,所以如果转换后的四进制不足5位,则在前面补0。
(1)将各组后的数据分别转换为相应位数的四进制位流:201 603 095 764 32201→03021;603→21123;095→01133;764→23330;32→00200
(2)四进制数连接成位流序列:03021 21123 01133 23330 00200
(3)字符计数指示符转换成四进制位流:6→00012
(4)将数字模式指示符以及字符计数指示符加入到位流序列中:01 00012 03021 21123 01133 23330 00200,形成最终位流序列。
最后添加相应的版本信息和格式信息生成自适应logo的彩色QR码,得到图2。
图2 彩色二维码
5. 彩色QR码的容量以及纠错能力分析
一个黑白QR码如果具有n个模块的,那么黑白QR码的信息容量为2n。假设一个彩色QR码的选用的颜色数量为k,使用不同的颜色标识k进制中各个对应0,1,2,..,k,那么具有n个模块的彩色QR码的信息容量为kn,那么彩色QR码的信息量就变成黑色QR码的k/2)n倍 。
通过将编码模块放置在logo图形周围,有效避免了logo图形覆盖在编码模块上造成的模块丢失,有效提高了二维码的纠错能力。
6. 结论
二维码的出现极大地改变了人们的生活,但是黑白二维码仍然存在着诸多缺点。本文针对黑白QR码容量低的问题设计了彩色QR码。通过采用多种颜色编码的方式,提升了信息编码密度;由于本文中的模块是排布在logo周围的,所以不会造成模块丢失,从而提升了二维码的纠错能力。
本文设计的QR码充分考虑了应用的市场需求,在增强二维码的信息容量的同时不影响二维码的美观性,能够很好地刺激人们扫描的欲望,具有很大的实用价值。
[1]章莉,杜敏,吴百锋.连续型2维图形矩阵码格式设计及掩模方案[J].中国图象图形学报,2009,07:1426-1431.
[2]Leng Biao.A datamatrix-based mutant code design and recognition method research [C].Fourth International Conference on Image and Graphics.USA: IEEE Computer Society,2007:570-574.
[3]陈炯.QR code编解码技术的研究与实现[D].西安:西安电子科技大学,2012.
[4]Gaikwad A M,Singh K R. Embedding.QR code in color images using halftoning technique[C].Innovations in Information, Embedded and Communication Systems(ICIIECS), 2015 International Conference on.IEEE,2015:1-6.
[5]李朝辉.基于图像处理的彩色二维条码的研究[D].天津:天津工业大学,2009.
[6]贾华国.基于移动终端彩色二维条码编解码算法研究与应用[D].杭州:浙江工业大学,2009.
[7]黄翠翠.中心区域可视二维条码的设计和编码方法[D].大连:辽宁师范大学,2011.
[8]黄国祥.RGB颜色空间极其应用研究[D].湖南:中南大学.2002.