知识中心

KNOWLEDGE CENTER

彩色二维码

背景技术

Datamatrix矩阵二维码因其编码密度高,体积小的优势而被广泛应用。但随着二维码应用领域越来越多,需要二维码带有的信息容量也越来越大。但在某些领域能用于标记二维码的空间非常有限,例如,用于保存药物化合物,核酸或痕量样品的保存管体积很小,但数量很大且不能重复。受限于读码设备的分辨率和管底面积的限制,靠增加二维码矩阵数量来提高编码信息容量已近极限,无法通过增加编码矩阵的数量来增加编码信息容量。通过引入8种颜色构建彩色二维码,使原有单一色块所代表的1字节数据提高到三个字节,提高编码容量至原有的三倍,即在编码矩阵和识别符号(symbol)大小不变的条件下,原本编码12位信息的二维码可容纳36位信息,同时相应的纠错码容量也增加了三倍,不仅彻底解决小面积二维码编码容量不足的问题还增加了二维码解析的可靠性。尽管市面上已有一些彩色二维码的设计方法,但其编码和解码方法均不能很好的兼容现有的Datamatrix标准,造成用户系统在转换时存在一定的难度。
综上所述,需要发明一种新的彩色二维码编码和解码方法,能够更好的兼容Datamatrix标准,提高编码容量。

彩色二维码生成方法

读取源数据信息;根据Datamtrix编码规则中的相应规则将源数据信息转换为二进制的数据码流;将所述二进制的数据码流按三个值为一组依次进行分组得到若干数据段;按照编码映射规则将每个数据段转换为相应的颜色,所述编码映射规则为:将每个数据段中的1等同于255,将0等同于0;按照特定的上色顺序依次将数据段中的0和255对应到RGB每个颜色通道中从而生成为特定的颜色;按照转换的颜色和Datamtrix编码规则里的填充规则填充色块生成二维码图像。所述编码映射规则中,所述特定的上色顺序依次为红、绿、蓝时,数据段与每种颜色的对应关系为:111对应黑色,001对应蓝色,010对应绿色,011对应天青色,100对应红色,101对应品红色,110对应黄色,000对应白色。

彩色二维码解码方法

首先,读取二维码图像;其次,通过RGB三个颜色通道依次过滤得到三个分别对应每个颜色通道的编码灰度图像,根据获得的灰度图像确定二维码图像的定位区和编码区;接着,根据解码映射规则将每个色块的颜色转化为一个包含三个二进制值的数据段,所述解码映射规则为:将灰度值接近0的等同于0,灰度值接近255的等同于1,按照特定的过滤顺序将色块的灰度值对应为由0和1构成的特定的数据段,根据数据段的排列顺序,将所有数据段依次取消分组形成完整的二进制的数据码流;最后,根据Datamtrix解码规则中的相应规则将二进制的数据码流转换为源数据信息。

结论

随着编码信息的增大,彩色二维码所使用的面积逐渐缩小为普通二维码的40%(Figure 1)。在目前常用的二维码冻存管底部可供编码的区域最大为3*3毫米的正方形,按照高精度二维码解码器可有效识别的二维码基本像素为6mils计算,每个二维码像素为0.152毫米。3*3毫米区域最多可容纳20*20的二维码矩阵。在黑白二维码条件下,容纳信息最多为22位编码信息和18位纠错信息。但换成彩色二维码后,同样是20*20的矩阵,则可以容纳62位编码信息和36位的纠错信息1。所以,在相同矩阵条件下,彩色二维码拥有更多的编码容量和纠错容量。或者在相同的数据编码容量要求下,彩色二维码占用更小的面积并容纳更多的纠错信息。