矩阵式二维码、其生成、解码方法及其设备与流程

文档序号:18109329发布日期:2019-07-06 11:53阅读:2702来源:国知局
矩阵式二维码、其生成、解码方法及其设备与流程
本发明属于二维码
技术领域
,具体涉及一种矩阵式二维码、其生成、解码方法及其设备。
背景技术
:datamatrix矩阵二维码因其编码密度高,体积小的优势而被广泛应用。但随着二维码应用领域越来越多,需要二维码带有的信息容量也越来越大。但在某些领域能用于标记二维码的空间非常有限,例如,用于保存药物化合物,核酸或痕量样品的保存管体积很小,但数量很大且不能重复。受限于读码设备的分辨率和管底面积的限制,靠增加二维码矩阵数量来提高编码信息容量已近极限,无法通过增加编码矩阵的数量来增加编码信息容量。通过引入8种颜色构建彩色二维码,使原有单一色块所代表的1字节数据提高到三个字节,提高编码容量至原有的三倍,即在编码矩阵和识别符号(symbol)大小不变的条件下,原本编码12位信息的二维码可容纳36位信息,同时相应的纠错码容量也增加了三倍,不仅彻底解决小面积二维码编码容量不足的问题还增加了二维码解析的可靠性。尽管市面上已有一些彩色二维码的设计方法,但其编码和解码方法均不能很好的兼容现有的datamatrix标准,造成用户系统在转换时存在一定的难度。综上所述,需要发明一种新的彩色二维码编码和解码方法,能够更好的兼容datamatrix标准,提高编码容量。技术实现要素:本发明的目的在于克服现有技术中的不足,提供一种矩阵式二维码、其生成、解码方法及其设备,通过在原有datamatrix数据结构上,增加6种颜色与原有的黑白二色组成新的颜色通道构建彩色二维码,提高编码容量至原有的3倍,同时最大限度的保持了与现有黑白datamatrix编码体系兼容。为解决现有技术问题,本发明公开了一种矩阵式二维码,所述矩阵式二维码的图像由若干色块以矩形阵列方式排列构成,所述图像的边缘一圈色块构成定位区,其内部色块构成编码区;所述定位区包括“l”型边和与所述“l”型边相对的定位边;所述色块的颜色包括rgb三种标准色、cmyk四种标准色和白色共八种颜色中的至少三种颜色,所述定位边由通过rgb中任一颜色通道过滤后为黑色和通过同一颜色通道过滤后为白色的两种颜色的色块交替排列而成。本发明还公开了一种矩阵式二维码的生成方法,包括如下过程:读取源数据信息;根据datamtrix编码规则中的相应规则将源数据信息转换为二进制的数据码流;还包括如下过程:将所述二进制的数据码流按三个值为一组依次进行分组得到若干数据段;按照编码映射规则将每个数据段转换为相应的颜色,所述编码映射规则为:将每个数据段中的1等同于255,将0等同于0;按照特定的上色顺序依次将数据段中的0和255对应到rgb每个颜色通道中从而生成为特定的颜色;按照转换的颜色和datamtrix编码规则里的填充规则填充色块生成二维码图像。进一步地,所述编码映射规则中,所述特定的上色顺序依次为红、绿、蓝时,数据段与每种颜色的对应关系为:000对应黑色,001对应蓝色,010对应绿色,011对应天青色,100对应红色,101对应品红色,110对应黄色,000对应白色。本发明还公开了一种矩阵式二维码的解码方法,包括如下过程:读取二维码图像;确定二维码图像的定位区和编码区;将所述编码区恢复为二进制的数据码流;根据datamtrix解码规则中的相应规则将二进制的数据码流转换为源数据信息;所述确定二维码图像的定位区和编码区的过程为:通过rgb三个颜色通道依次过滤得到三个分别对应每个颜色通道的编码灰度图像;根据获得的灰度图像确定二维码图像的定位区和编码区;所述将所述编码区恢复为二进制的数据码流的过程为:根据解码映射规则将每个色块的颜色转化为一个包含三个二进制值的数据段,所述解码映射规则为:将灰度值接近0的等同于0,灰度值接近255的等同于1,按照特定的过滤顺序将色块的灰度值对应为由0和1构成的特定的数据段;根据数据段的排列顺序,将所有数据段依次取消分组形成完整的二进制的数据码流。进一步地,所述解码映射规则中,所述特定的过滤顺序依次为红、绿、蓝时,每种颜色与数据段的对应关系为:黑色对应000,蓝色对应001,绿色对应010,天青色对应011,红色对应100,品红色对应101,黄色对应110,白色对应111。进一步地,还包括如下过程:对获得的二维码图像进行颜色判别,若二维码图像黑白二维码,则根据datamatrix解码规则对二维码图像进行解码,得到源数据信息;若二维码图像为彩色二维码,则转向根据映射规则将每个色块的颜色转化为一个包含三个二进制值的数据段的步骤。进一步地,所述对获得的二维码图像进行颜色判别的过程为:若三个灰度图像中所有灰度值不为0的色块的灰度值均相等,则判别二维码图像为黑白二维码,否则为彩色二维码。进一步地,所述根据获得的灰度图像确定二维码图像的定位区和编码区的过程为:分别对每个灰度图像进行sobel算子卷积计算和hough变换确定二维码图像的定位区,定位区以内为二维码图像的编码区。本发明还公开了一种矩阵式二维码的生成设备,包括源数据信息读取模块、编码模块、分组模块、转换模块和生成模块;所述源数据信息读取模块用于读取源数据信息;所述编码模块用于根据datamtrix编码规则中的相应规则将源数据信息转换为二进制的数据码流;所述分组模块用于将所述二进制的数据码流按三个值为一组依次进行分组得到若干数据段;所述转换模块用于按照编码映射规则将每个数据段转换为相应的颜色,所述编码映射规则为:将每个数据段中的1等同于255,将0等同于0;按照特定的上色顺序依次将数据段中的0和255对应到rgb每个颜色通道中从而生成为特定的颜色;所述生成模块用于按照转换的颜色和datamtrix编码规则里的填充规则填充色块生成二维码图像。本发明还公开了一种矩阵式二维码的解码设备,包括二维码读取模块、过滤模块、定位模块、叠加模块、排序模块和解码模块;所述二维码读取模块用于读取二维码图像;所述过滤模块用于通过rgb三个颜色通道依次过滤得到三个分别对应每个颜色通道的编码灰度图像;所述定位模块用于根据获得的灰度图像确定二维码图像的定位区和编码区;所述叠加模块用于根据解码映射规则将每个色块的颜色转化为一个包含三个二进制值的数据段,所述解码映射规则为:将灰度值接近0的等同于0,灰度值接近255的等同于1,按照特定的过滤顺序将色块的灰度值对应为由0和1构成的特定的数据段;所述排序模块用于根据数据段的排列顺序,将所有数据段依次取消分组形成完整的二进制的数据码流;所述解码模块用于根据datamtrix解码规则中的相应规则将二进制的数据码流转换为源数据信息。进一步地,还包括判断模块,用于对获得的二维码图像进行颜色判别,若二维码图像黑白二维码,则根据datamatrix解码规则对二维码图像进行解码,得到源数据信息;若二维码图像为彩色二维码,则转向根据映射规则将每个色块的颜色转化为一个包含三个二进制值的数据段的步骤。本发明具有的有益效果:通过在原有datamatrix数据结构上,增加6种颜色与原有的黑白二色组成新的颜色通道构建彩色二维码,提高编码容量至原有的3倍,同时最大限度的保持了与现有黑白datamatrix编码体系兼容。附图说明图1为本发明生成的二维码的示意图;图2为对每个二维码色块对应的的二进制信息;图3为对图1所示的二维码使用红色通道过滤所得二值化图像;图4为对图1所示的二维码使用绿色通道过滤所得二值化图像;图5为对图1所示的二维码使用蓝色通道过滤所得二值化图像;具体实施方式下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。为更好的理解本发明的内容,须了解本发明之所用色彩的基本常识。本发明所涉及的颜色的产生分透射和反射两大类,透射通常用于显示器,ccd成像,其特点为,与透射滤光片颜色相同的光线透过,与透射滤光片颜色不同的光线被吸收。典型的如rgb色彩体系,在电耦合元件(ccd)前置透射滤光片,每个像素通常由至少包括红色r,绿色g,蓝色b各一个像素点组成,因为只有与滤镜相同颜色,被ccd元件感知,感知的信号按强度分为若干等级,再由rgb三原色及其单一原色的强度共同还原为初始颜色。而反射通常用于印刷,比如黄色的油墨通常将黄色反射,所用的基本原色有天青c,品红m,黄色y和黑色。而在透射中的三原色rgb和印刷中的cmy基色恰好可以相互等比例调和转换。由此提供了可靠的、可以区分的色彩信息。一种矩阵式二维码,所述矩阵式二维码的图像由若干色块以矩形阵列方式排列构成,所述色块的颜色包括rgb三种标准色、cmyk四种标准色和白色共八种颜色中的至少三种颜色,所述图像的边缘一圈色块构成定位区,其内部色块构成编码区。所述定位区包括“l”型边和与所述“l”型边相对的定位边,所述定位边由通过rgb中任一颜色通道过滤后为黑色和白色的两种颜色的色块交替排列而成。由此形成的二维码图像在经过rgb中的三个颜色通道过滤后,分别得到三个对应的灰度图像,其中存在至少一个图像的“l”型边与背景色的灰度值相差较为明显,存在至少一个图像的定位边为黑白交替,如此实现定位区的识别。如图1所示,当背景色为白色,“l”型边的色块设置为蓝色时,定位边的色块可设置为绿色和红色,并且两种颜色的色块交替排列。经过rgb过滤后,可以分别得到如图3、图4和图5中所示的图像,图3和图4中,“l”型边为黑色,定位边为黑白交替,图5中,“l”型边为白色,定位边为黑色,因此通过图3和图4即可识别并定位图像的定位区。编码区的色块颜色则根据实际编码的情况被设置为相应的颜色,并且按照datamatrixecc200方式排列,即编码为偶数行和偶数列。编码区的编码单元与datamatrix的8位色块相同,即3*3的正方形矩阵缺右上角。由此可见,二维码图像中的色块由标准datamatrix的黑白二色增加为8色,每种色块分别代表三位不同的二进制编码而非传统的单一二进制数字。基于上述矩阵式二维码,本发明还提供了一种生成方法,包括如下过程:步骤一、读取源数据信息。步骤二、根据datamatrix编码规则里的相应规则将源数据信息转换为二进制的数据码流,该过程可采用现有技术中的方法完成。概括地:将源数据信息根据计算机编码规则编码。在编码的前面加入数据前缀解释,用以说明数据长度及编码方式,然后基于reed-solomon纠错算法生成纠错码字,将生成的纠错码字添加到编码之后。根据datamatrix编码规则中的相应规则加入头部数据标识和尾部数据标识形成总的数据码字,然后将数据码字转换为二进制的数据码流。步骤三、将所述二进制的数据码流按三个值为一组依次进行分组得到若干数据段。步骤四、按照编码映射规则将每个数据段转换为相应的颜色。本发明中,印刷体系使用cmyk色系,这四种颜色为印刷用标准色,而彩色图像获取使用rgb色系。在cmyk色系中,天青色和品红色一次混合可得红色;品红色和黄色一次等量混合后得到绿色;黄色和天青色一次等量混合得到蓝色。由此两种色系间的色彩构成了一种确定的转换关系,保证彩色条码印刷色彩和识别色彩之间信息转换的可靠性。在使用rgb通道过滤色彩的彩色传感器中,因色彩是通过三种颜色滤镜的光电二极管通过感光实现,因此每个颜色滤镜下的光电二极管都会产生相应的电信号。rgb色彩体系包含了色彩的亮度从0-255,所选的8种颜色在rgb的任何一种单色通道下可存在0或255这两种信号,对应可作为1或0这极大的简化了色彩信道对于污染杂波干扰的处理。因此,所述编码映射规则为:将每个数据段中的1等同于255,将0等同于0;按照特定的上色顺序依次将数据段中的0和255对应到rgb每个颜色通道中从而生成为特定的颜色。上述8种颜色可以准确对应不同的三位二进制代码。该过程中,特定的上色顺序依次为红、绿、蓝时,数据段与每种颜色的对应关系为下表所示:颜色rgb色值cie-lab色值cmyk色值二进制黑色(0,0,0)100,0.005,-0.010,0,0,0000蓝色(0,0,255)97.6,-15.8,93.40,0,100,0001绿色(0,255,0)60.32,98.254,-60.8430,100,0,0010天青色(0,255,255)53.233,80.109,67.220,100,100,0011红色(255,0,0)91.117,-48.08,-14.138100,0,0,0100品红色(255,0,255)87.737,-86.185,83.181100,0,100,0101黄色(255,255,0)32.303,79.197,-107.864100,100,0,0110白色(255,255,255)0,0,00,0,0,100111步骤五、按照步骤四里转换的颜色和datamtrix编码规则里的填充规则填充色块生成二维码图像。如图2至5所示,基于上述矩阵式二维码,本发明还提供了一种解码方法,包括如下过程:步骤一、读取二维码图像。步骤二、确定二维码图像的定位区和编码区。该过程具体为:依次使用rgb三个颜色通道对二维码图像进行过滤得到三个对应每个颜色通道的灰度图像,然后对每个图像进行sobel算子卷积计算和hough变换确定二维码图像的定位区,定位区内部为二维码图像的编码区。步骤三、将所述编码区恢复为二进制的数据码流。该过程具体为:根据解码映射规则将每个色块的颜色转化为一个包含三个二进制值的数据段;根据数据段的排列顺序,将所有数据段依次取消分组形成完整的二进制的数据码流。所述解码映射规则为:将灰度值接近0的等同于0,灰度值接近255的等同于1;按照特定的过滤顺序得到的灰度值依次对应为由0和1构成的特定的数据段。该过程中,过滤顺序与编码过程中的上色顺序相一致,以下通过一个具体实施例进行阐述:如图1、3、4、5所示,二维码图像的编码区左上角的色块的颜色为绿色,按照红、绿、蓝的过滤顺序依次对该图像进行过滤,分别得到三张对应的灰度图像,该绿色色块在每个灰度图像里的灰度值分别为0、255、0,其等同于0、1、0,因此该色块对应形成的数据段为010。按照该方式可以将所有色块依次转换成由1和0构成的数据段。同样地,在编码时,该数据段010等同于02550,然后按照红、绿、蓝的上色顺序进行上色,即红色通道的值为0,绿色通道的值为255,蓝色通道的值为0,此时该数据段对应的颜色为绿色,按照该方式可以将所有数据段依次转换成对应颜色的色块。值得注意的是,当上色顺序改变为红、蓝、绿时,即红色通道的值为0,蓝色通道的值为255,绿色通道的值为0,故数据段010对应形成的颜色为蓝色。同样地,该蓝色色块按照红、蓝、绿的顺序进行过滤时,分别得到的灰度值为0、255、0,故蓝色色块对应形成的数据段为010。其它顺序的实施例不再赘述。步骤四、根据datamtrix解码规则中的相应规则将二进制的数据码流转换为源数据信息。进一步地,按照上述生成方法可能会生成仅包括黑或/和白的二维码图像,因此还包括如下过程:对获得的二维码图像进行颜色判别,若二维码图像黑白二维码,则根据现有的datamatrix解码规则直接对二维码图像进行解码,得到源数据信息;若二维码图像为彩色二维码,则按照步骤三里的相关步骤进行解码。进一步地,所述对获得的二维码图像进行颜色判别的过程为:若三个灰度图像中所有灰度值不为0的色块的灰度值均相等,则判别二维码图像为黑白二维码,否则为彩色二维码。进一步地,所述根据获得的灰度图像确定二维码图像的定位区和编码区的过程为:分别对每个灰度图像进行sobel算子卷积计算和hough变换确定二维码图像的定位区,定位区以内为二维码图像的编码区。本发明还提供了一种矩阵式二维码的生成设备,包括源数据信息读取模块、编码模块、分组模块、转换模块和生成模块。所述源数据信息读取模块用于读取源数据信息;所述编码模块用于根据datamtrix编码规则中的相应规则将源数据信息转换为二进制的数据码流;所述分组模块用于将所述二进制的数据码流按三个值为一组依次进行分组得到若干数据段;所述转换模块用于按照编码映射规则将每个数据段转换为相应的颜色,所述编码映射规则为:将每个数据段中的1等同于255,将0等同于0;按照特定的上色顺序依次将数据段中的0和255对应到rgb每个颜色通道中从而生成为特定的颜色;所述生成模块用于按照转换的颜色和datamtrix编码规则里的填充规则填充色块生成二维码图像。本发明还提供了一种矩阵式二维码的解码设备,包括二维码读取模块、过滤模块、定位模块、叠加模块、排序模块和解码模块。所述二维码读取模块用于读取二维码图像;所述过滤模块用于通过rgb三个颜色通道依次过滤得到三个分别对应每个颜色通道的编码灰度图像;所述定位模块用于根据获得的灰度图像确定二维码图像的定位区和编码区;所述叠加模块用于根据解码映射规则将每个色块的颜色转化为一个包含三个二进制值的数据段,所述解码映射规则为:将灰度值接近0的等同于0,灰度值接近255的等同于1,按照特定的过滤顺序将色块的灰度值对应为由0和1构成的特定的数据段;所述排序模块用于根据数据段的排列顺序,将所有数据段依次取消分组形成完整的二进制的数据码流;所述解码模块用于根据datamtrix解码规则中的相应规则将二进制的数据码流转换为源数据信息。进一步地,还包括判断模块,用于对获得的二维码图像进行颜色判别,若二维码图像黑白二维码,则根据datamatrix解码规则对二维码图像进行解码,得到源数据信息;若二维码图像为彩色二维码,则转向按照映射规则对二维码图像依次过滤获得对应每个颜色通道的二进制图像的步骤。本发明中,datamatrix编码规则和datamatrix解码规则均为现有规则,故相应规则即为其中对应相应步骤的规则,其具体过程不再具体赘述。以上所述仅是本发明的优选实施方式,应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1