颜色标识型彩色二维图码的生成、识读方法及装置的制造方法
【专利摘要】本发明实施例公开了颜色标识型彩色二维图码的生成、识读方法及装置,生成方法包括:获取待编码的原始信息,将其转化为二进制比特流数据,将二进制比特流数据进行分组,将每一组数据按照预设规则置入待置入矩阵中,得到初始数据矩阵,将所述初始数据矩阵中每一个元素扩大预定倍数,得到第一像素矩阵,根据预设的关于元素与颜色的对应关系,确定所述第一像素矩阵中的元素对应的颜色,将所确定出的颜色填充入待生成的彩色二维图码的数据存储区域中,并将预先为所述待编码的原始信息设置的特征信息填充入当前的所述彩色二维图码的特征信息区域中。采用该方法生成的彩色二维图码中的颜色信息包含有效的原始信息,而不仅仅是视觉上的冲击。
【专利说明】
颜色标识型彩色二维图码的生成、识读方法及装置
技术领域
[0001] 本发明设及二维图码领域,特别设及颜色标识型彩色二维图码的生成、识读方法 及装置。
【背景技术】
[0002] 国内外对二维图码的研究始于20世纪80年代末,在二维图码符号表示技术研究方 面已研制出多种码制,常见的有PDF417、QR CodeXode 49等。现实生活中,黑白二维图码为 较为常用的一种,具体的,它是在一个矩形空间通过黑、白像素在矩阵中的不同分布进行编 码,来记录数据信息的,一般具有数据存储区域和特征信息区域,其中,数据存储区域中黑 白像素的分布形式用来存储需要包含在二维图码中的数据信息,特征信息区域用来保存二 维图码的特征信息,其中,特征信息包括格式信息、版本信息等数据。
[0003] 随着人们对视觉效果的要求的提高,矩阵式的彩色二维图码应运而生。所谓彩色 二维图码是相对黑白二维图码来定义的,彩色二维图码是一种特殊的二维图码,它既具有 普通黑白图码的所有功能,又能呈现出彩色的外观。
[0004] 虽然目前市场上存在彩色二维图码,但是其仅仅是给用户带来视觉上的冲击,其 颜色信息并不包含任何有效信息。
【发明内容】
[0005] 本发明实施例公开了颜色标识型彩色二维图码的生成、识读方法及装置,用于解 决现有彩色二维图码中颜色信息不包含任何有效信息的问题。技术方案如下:
[0006] 第一方面,本发明实施例提供了一种颜色标识型彩色二维图码的生成方法,包括:
[0007] 获取待编码的原始信息,并将其转化为二进制比特流数据;
[000引将所述二进制比特流数据进行分组,使分组所得组的数量与待置入矩阵的元素数 量相同,其中,每一组数据包含预定位数的所述二进制比特流数据,所述预定位数基于预定 颜色模型确定;
[0009] 将所述每一组数据按照预设规则置入所述待置入矩阵中,得到初始数据矩阵;
[0010] 将所述初始数据矩阵中每一个元素扩大预定倍数,得到第一像素矩阵,其中,所述 预定倍数基于所述预定颜色模型确定;
[0011] 根据预设的关于元素与颜色的对应关系,确定所述第一像素矩阵中的元素对应的 颜色;
[0012] 将所确定出的颜色填充入待生成的彩色二维图码的数据存储区域中,并将预先为 所述待编码的原始信息设置的特征信息填充入当前的所述彩色二维图码的特征信息区域 中,完成彩色二维图码的生成。
[0013] 优选的,所述预定颜色模型为RGB模型;
[0014] 相应的,所述预定位数为=位,所述预定倍数为255倍。
[0015] 优选的,所述将所述二进制比特流数据进行分组,包括:
[0016] 按照预定的遍历顺序,W=位为一组对所述二进制比特流数据进行分组;
[0017] 判断分组所得组的数量是否与所述待置入矩阵的元素数量相同,如果否,继续按 照预定的遍历顺序,W=位为一组对所述二进制比特流数据进行分组,直至满足组的数量 要求,其中,所述预定的遍历顺序为:从左到右的顺序或从右到左的顺序;
[001引或者,
[0019] 所述将所述二进制比特流数据进行分组,包括:
[0020] 按照预定的遍历顺序,W=位为一组对所述二进制比特流数据进行分组;
[0021] 判断分组所得组的数量是否与所述待置入矩阵的元素数量相同,如果否,将数字0 作为所述二进制比特流数据的补充二进制比特流数据,继续对当前分组所剩余的二进制比 特流数据进行分组,直至满足组的数量要求,其中,所述预定的遍历顺序为:从左到右的顺 序或从右到左的顺序。
[0022] 优选的,所述将所述每一组数据按照预设规则置入所述待置入矩阵中,得到初始 数据矩阵具体为:
[0023] 将所述每一组数据按照Z字型走向顺次置入所述待置入矩阵中,使所述待置入矩 阵中每个元素对应一组数据,得到初始数据矩阵。
[0024] 优选的,所述预设的关于元素与颜色的对应关系为:
[00巧]元素(0,0,0)对应黑色;元素(0,0,255)对应蓝色;元素(0,255,0)对应绿色;元素 (0,255,255)对应青蓝色;元素(255,0,0)对应红色;元素(255,0,255)对应洋红色;元素 (255,255,0)对应黄色;元素(255,255,255)对应白色。
[0026] 优选的,所述将所述特征信息区域中的特征信息填充入当前的所述彩色二维图码 的特征信息区域中之后,还包括:
[0027] 对所述特征信息区域进行掩模处理。
[0028] 第二方面,本发明实施例提供了一种颜色标识型彩色二维图码的识读方法,包括:
[0029] 获取待识读的彩色二维图码的第二像素矩阵,其中,所述待识读的彩色二维图码 为通过上述颜色标识型彩色二维图码的生成方法生成的彩色二维图码;
[0030] 将所述第二像素矩阵中每一个元素缩小预定倍数,得到还原数据矩阵;
[0031] 按照生成所述彩色二维图码时所利用的预设规则的逆过程,将所述还原数据矩阵 分解成由所述预定位数的二进制比特流数据组成的数据组;
[0032] 将所述数据组按照生成所述彩色二维图码时所利用的分组过程的逆过程,还原得 到二进制比特流数据;
[0033] 将所述二进制比特流数据进行解码,得到原始信息,完成彩色二维图码的识读。
[0034] 优选的,所述将所述第二像素矩阵中每一个元素缩小预定倍数,得到还原数据矩 阵,包括:
[0035] 对所述第二像素矩阵进行纠错处理;
[0036] 将纠错处理后的第二像素矩阵中每一个元素缩小预定倍数,确定出还原数据矩 阵;
[0037] 其中,所述纠错处理包括:
[0038] 根据公式
计算出所述第二 像素矩阵中的元素与预设的元素的欧氏距离值ri~rs,其中,X为所述第二像素矩阵中的元 素的R值,y为所述第二像素矩阵中的元素的G值,Z为所述第二像素矩阵中的元素的B值,n = 1,2-'8,R、G、B分别为所述预设的元素的R值、G值、B值;
[0039] 比较所述欧氏距离值ri~rs的大小,用值最小的rn对应的所述预设的元素替换所 述第二像素矩阵中的元素,完成纠错处理;
[0040] 其中,所述预设的元素包括:
[0041 ] (0,0,0)、(0,0,255)、(0,255,0)、(0,255,255)、(255,0,0)、(255,0,255)、(255, 255,0)及(255,255,255)。
[0042] 第=方面,本发明实施例提供了一种颜色标识型彩色二维图码的生成装置,包括:
[0043] 第一获取模块,用于获取待编码的原始信息,并将其转化为二进制比特流数据;
[0044] 分组模块,用于将所述二进制比特流数据进行分组,使分组所得组的数量与待置 入矩阵的元素数量相同,其中,每一组数据包含预定位数的所述二进制比特流数据,所述预 定位数基于预定颜色模型确定;
[0045] 置入模块,用于将所述每一组数据按照预设规则置入所述待置入矩阵中,得到初 始数据矩阵;
[0046] 元素扩大模块,用于将所述初始数据矩阵中每一个元素扩大预定倍数,得到第一 像素矩阵,其中,所述预定倍数基于所述预定颜色模型确定;
[0047] 颜色确定模块,用于根据预设的关于元素与颜色的对应关系,确定所述第一像素 矩阵中的元素对应的颜色;
[004引生成模块,用于将所确定出的颜色填充入待生成的彩色二维图码的数据存储区域 中,并将预先为所述待编码的原始信息设置的特征信息填充入当前的所述彩色二维图码的 特征信息区域中,完成彩色二维图码的生成。
[0049] 第四方面,本发明实施例提供了一种颜色标识型彩色二维图码的识读装置,包括:
[0050] 第二获取模块,用于获取待识读的彩色二维图码的第二像素矩阵,其中,所述待识 读的彩色二维图码为通过上述颜色标识型彩色二维图码的生成方法生成的彩色二维图码;
[0051] 元素缩小模块,用于将所述第二像素矩阵中每一个元素缩小预定倍数,得到还原 数据矩阵;
[0052] 分解模块,用于按照生成所述彩色二维图码时所利用的预设规则的逆过程,将所 述还原数据矩阵分解成由所述预定位数的二进制比特流数据组成的数据组;
[0053] 还原模块,用于将所述数据组按照分组过程的逆过程,还原得到二进制比特流数 据;
[0054] 解码模块,用于将所述二进制比特流数据进行解码,得到原始信息,完成彩色二维 图码的识读。
[0055] 本方案中,首先获取待编码的原始信息,并将其转化为二进制比特流数据;将所述 二进制比特流数据进行分组,使分组所得组的数量与待置入矩阵的元素数量相同,然后将 所述每一组数据按照预设规则置入所述待置入矩阵中,得到初始数据矩阵;再将所述初始 数据矩阵中每一个元素扩大预定倍数,得到第一像素矩阵后,根据预设的关于元素与颜色 的对应关系,确定所述第一像素矩阵中的元素对应的颜色,最后将所确定出的颜色填充入 待生成的彩色二维图码的数据存储区域中,并将预先为所述待编码的原始信息设置的特征 信息填充入当前的所述彩色二维图码的特征信息区域中,完成彩色二维图码的生成。采用 该生成方法生成的彩色二维图码中的颜色信息包含有效的原始信息,而不仅仅是视觉上的 冲击。
【附图说明】
[0056] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可W 根据运些附图获得其他的附图。
[0057] 图1为本发明实施例所提供的一种颜色标识型彩色二维图码的生成方法的流程 图;
[0058] 图2为本发明实施例所提供的一种颜色标识型彩色二维图码的识读方法的流程 图;
[0059] 图3为本发明实施例所提供的一种颜色标识型彩色二维图码的生成装置的示意 图;
[0060] 图4为本发明实施例所提供的一种颜色标识型彩色二维图码的识读装置的示意 图。
【具体实施方式】
[0061] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0062] 为了使彩色二维图码中颜色信息包含有效信息,而不仅仅是给人带来视觉上的冲 击,本发明实施例提供了颜色标识型彩色二维图码的生成、识读方法及装置。
[0063] 下面首先对本发明实施例所提供的一种颜色标识型彩色二维图码的生成方法进 行介绍。
[0064] 如图1所示,一种颜色标识型彩色二维图码的生成方法,可W包括:
[0065] SlOl,获取待编码的原始信息,并将其转化为二进制比特流数据;
[0066] 其中,该待编码的原始信息可W为任意需要存储到待生成的彩色二维图码中的信 息,例如可W是产品的生产厂家、生产日期、网页的网址链接等。将该待编码的原始信息转 化为二进制比特流数据可W通过现有技术实现,在此不做具体限定。例如,若该待编码的原 始信息为汉字类型的信息,则可W采用国标法将其转化为二进制比特流数据;若该待编码 的原始信息为英文字母类型的信息,则可W采用Ascn码将其转化为二进制比特流数据。
[0067] S102,将所述二进制比特流数据进行分组,使分组所得组的数量与待置入矩阵的 元素数量相同;
[0068] 其中,每一组数据包含预定位数的该二进制比特流数据,该预定位数基于预定颜 色模型确定,该预定颜色模型一般可W为RGB模型,相应的,该预定位数即为S位。该待置入 矩阵的行数和列数可W根据实际需要生成的彩色二维图码的类型确定,例如,若要生成 D9ing码类型的彩色二维图码,则该待置入矩阵即为一个448行,448列的空矩阵,当然并不 局限于此。
[0069] 具体的,将该二进制比特流数据进行分组的方式一般可W采用W下两种方式中的 一种:
[0070] 第一种方式为:按照预定的遍历顺序,W=位为一组对该二进制比特流数据进行 分组,然后判断分组所得组的数量是否与待置入矩阵的元素数量相同,如果否,继续按照预 定的遍历顺序,W=位为一组对该二进制比特流数据进行分组,直至满足组的数量要求,其 中,该预定的遍历顺序为:从左到右的顺序或从右到左的顺序。
[0071] 需要说明的是,为了将待编码的原始信息全部存储到所要生成的彩色二维图码 中,预先确定的该待置入矩阵是可W将全部待编码的原始信息转化的该二进制比特流数据 存储进去的,也就是说,上述分组所得组的数量一般不会大于该待置入矩阵的元素数量。
[0072] 当判断分组所得组的数量小于该待置入矩阵的元素数量时,则继续按照预定的遍 历顺序,W=位为一组对该二进制比特流数据进行分组,直至满足组的数量要求。举例而 言,由待编码的原始信息转化的二进制比特流数据为10010001011,按照预定的从左到右的 遍历顺序,W=位为一组对该二进制比特流数据进行分组,得到=组数据,分别为:(1,〇, 0)、(1,0,0)、(0,1,0),剩余两位二进制比特流数据1和1。若待置入矩阵的元素数量为四,由 于分别所得的组的数量为S,小于该待置入矩阵的元素数量,则按照从左到右的遍历顺序 对该二进制比特流数据继续分组,剩余的两位二进制比特流数据1、1和第一位二进制比特 流数据1被分为一组,得到第四组数据(1,1,1 ),此时分组所得组的数量与该待置入矩阵的 元素数量相同,停止分组。当然也可W采用从右到左的遍历顺序对该二进制比特流数据进 行分组,具体过程与上述按照从左到右的遍历顺序对该二进制比特流数据进行分组的过程 相似,在此不再进行详细说明。
[0073] 第二种方式为:按照预定的遍历顺序,W=位为一组对该二进制比特流数据进行 分组;判断分组所得组的数量是否与待置入矩阵的元素数量相同,如果否,将数字0作为该 二进制比特流数据的补充二进制比特流数据,继续对当前分组所剩余的二进制比特流数据 进行分组,直至满足组的数量要求,其中,该预定的遍历顺序为:从左到右的顺序或从右到 左的顺序。
[0074] 如上述说明,分组所得组的数量一般是不会大于该待置入矩阵的元素数量,当判 断分组所得组的数量小于该待置入矩阵的元素数量时,则将数字0作为该二进制比特流数 据的补充二进制比特流数据,继续对当前分组所剩余的二进制比特流数据进行分组,直至 满足组的数量要求。举例而言,由待编码的原始信息转化的二进制比特流数据为 10010001011,按照从左到右的遍历顺序,W=位为一组对该二进制比特流数据进行分组, 得到S组数据,分别为:(1,0,0)、(1,0,0)、(0,1,0),剩余两位二进制比特流数据1和1。若待 置入矩阵的元素数量为四,由于分组所得的组的数量为=,小于该待置入矩阵的元素数量, 则将数字0作为该二进制比特流数据的补充二进制比特流数据,继续对当前分组所剩余的 二进制比特流数据进行分组,得到第四组数据(1,1,〇),此时分组所得组的数量与该待置入 矩阵的元素数量相同,停止分组。当然也可W采用从右到左的遍历顺序对该二进制比特流 数据进行分组,具体过程与上述按照从左到右的遍历顺序对该二进制比特流数据进行分组 的过程相似,在此不再进行详细说明。
[0075] S103,将所述每一组数据按照预设规则置入所述待置入矩阵中,得到初始数据矩 阵;
[0076] 具体的,可W将该每一组数据按照Z字型走向顺次置入该待置入矩阵中,使该待置 入矩阵中每个元素对应一组数据,得到初始数据矩阵。例如,对二进制比特流数据进行分组 后得到四组数据,分别为:(1,0,0)、(1,0,0)、(0,1,0)和(1,1,0),待置入矩阵为一个二阶的 空矩阵,元素数量为四,按照Z字型走向,顺次将第一组数据(1,0,0)置入矩阵的第一行第一 列,将第二组数据(1,〇,〇)置入矩阵的第二行第一列,将第=组数据(〇,1,〇)置入矩阵的第 一行第二列,将第四组数据(1,1,〇)置入矩阵的第二行第二列,得到初始数据矩阵
,需要说明的是,本发明实施例所给出的Z字型走向的预设规 则仅仅作为示例,并不应该构成对本发明实施例的限定,可W理解的是,在实际应用中,该 预设规则也可W为根据实际需要预设的其他规则,举例而言:可W将该每一组数据顺次置 入待置入矩阵的每一行,在此不做具体限定和说明。
[0077] S104,将所述初始数据矩阵中每一个元素扩大预定倍数,得到第一像素矩阵;
[0078] 其中,该预定倍数基于该预定颜色模型确定,该预定颜色模型一般为RGB模型,相 应的,该预定倍数即为最大灰度级255倍,将该初始数据矩阵中每一个元素扩大255倍,即得 到该第一像素矩阵,当然并不局限于此。例如,将上述初始数据矩闻
扩 大255倍,即得到对应的第一像素矩P
。
[0079] S105,根据预设的关于元素与颜色的对应关系,确定所述第一像素矩阵中的元素 对应的颜色;
[0080] 具体的,预设的关于元素与颜色的对应关系可W如下表所示:
[0081]
[0082]
[0083] 由于在实际应用中,使用的设备镜头等对颜色的分辨能力可能不同,该预设的关 于元素与颜色的对应关系可W根据实际需要进行修改,并不局限于此。
[0084] S106,将所确定出的颜色填充入待生成的彩色二维图码的数据存储区域中,并将 预先为所述待编码的原始信息设置的特征信息填充入当前的所述彩色二维图码的特征信 息区域中,完成彩色二维图码的生成。
[0085] 可W理解的是,该待生成的彩色二维图码的数据存储区域的像素个数与该第一像 素矩阵中的元素的数量相同,每行像素的个数与该第一像素矩阵中每行的元素的数量相 同,每列像素的个数与该第一像素矩阵中每列的元素的数量相同,该待生成的彩色二维图 码的数据存储区域的像素与该第一像素矩阵中的元素存在一一对应关系。确定出该元素对 应的颜色后,也就确定出了该待生成的彩色二维图码的数据存储区域中每个位置的像素对 应的颜色,例如,上述第一像素矩^
,对应的待生成 的彩色二维图码的数据存储区域的四个位置的像素所对应的颜色即为
,将 运些颜色按照对应的位置关系填入该待生成的彩色二维图码的数据存储区域即完成对待 生成的彩色二维图码的数据存储区域的填充。
[0086] 进一步的,该待生成的彩色二维图码的数据存储区域填充完成后,将预先为该待 编码的原始信息设置的特征信息填填充入当前的彩色二维图码的特征信息区域中,完成彩 色二维图码的生成。
[0087] 需要说明的是,该预先为该待编码的原始信息设置的特征信息可W包括格式信息 和版本信息,该格式信息和该版本信息可W根据该待生成的彩色二维图码的类型确定,将 上述特征信息区域中的特征信息填充入当前的彩色二维图码的特征信息区域中的方式可 W采用现有技术,在此不作具体限定。
[0088] 举例而言,若该待生成的彩色二维图码为D9ing码类型,则根据该待生成的彩色二 维图码的行数、列数和纠错等级生成格式信息,采用现有的D9ing码的特征信息填充方式, 将该格式信息和预先设置的版本信息填充入当前的彩色二维图码的特征信息区域中。若该 待生成的彩色二维图码为孤码类型,则该设置的特征信息中的格式信息表示纠错级别,可 W分为L、M、Q、H四个级别;该设置的特征信息中的版本信息即为该孤码类型的该待生成的 彩色二维图码的规格,可W采用现有的QR码的40种规格中一种,采用现有的QR码的特征信 息填充方式,将该格式信息和该版本信息填充入当前的彩色二维图码的特征信息区域中即 可。
[0089] 进一步需要说明的是,在将该特征信息区域中的特征信息填充入当前的彩色二维 图码的特征信息区域中之后,上述方法还可W包括:
[0090] 对该特征信息区域进行掩模处理。
[0091] 具体的掩模处理可W根据实际需要采用现有的掩模处理中的一种,一般是将该特 征信息区域中的格式信息区域进行掩模处理,使生成的该彩色二维图码更加美观,同时增 加该彩色二维图码的保密性。进一步的,也可W对上述数据存储区域进行掩模处理,W增加 该彩色二维图码的美观性,使保密性更好。
[0092] 可见,本方案提供的一种颜色标识型彩色二维图码的生成方法中,首先获取待编 码的原始信息,并将其转化为二进制比特流数据;将所述二进制比特流数据进行分组,使分 组所得组的数量与待置入矩阵的元素数量相同,然后将所述每一组数据按照预设规则置入 所述待置入矩阵中,得到初始数据矩阵;再将所述初始数据矩阵中每一个元素扩大预定倍 数,得到第一像素矩阵后,根据预设的关于元素与颜色的对应关系,确定所述第一像素矩阵 中的元素对应的颜色,最后将所确定出的颜色填充入待生成的彩色二维图码的数据存储区 域中,并将预先为所述待编码的原始信息设置的特征信息填充入当前的所述彩色二维图码 的特征信息区域中,完成彩色二维图码的生成。采用该生成方法生成的彩色二维图码中的 颜色信息包含有效的原始信息,而不仅仅是视觉上的冲击。
[0093] 基于上述的颜色标识型彩色二维图码的生成方法,本发明实施例还提供了一种颜 色标识型彩色二维图码的识读方法。
[0094] 如图2所示,本实施例所提供的一种颜色标识型彩色二维图码的识读方法,可W包 括:
[00M] S201,获取待识读的彩色二维图码的第二像素矩阵;
[0096] 需要说明的是,该待识读的彩色二维图码为通过本发明实施例上述所提供的颜色 标识型彩色二维图码的生成方法所生成的彩色二维图码,获取该待识读的彩色二维图码的 第二像素矩阵的方式可W采用任意一种现有的获取方式,在此不做具体限定。
[0097] S202,将所述第二像素矩阵中每一个元素缩小预定倍数,得到还原数据矩阵;
[0098] 其中,该预定倍数基于该待识读的彩色二维图码的颜色模型确定,可W理解的是, 该待识读的彩色二维图码的颜色模型与通过上述的彩色二维图码的生成方法所生成的彩 色二维图码的颜色模型是一致的,例如,该颜色模型可W是RGB模式的,相应的,该预定倍数 即为255倍。
[0099] 具体的,将该第二像素矩阵中每一个元素缩小预定倍数,得到还原数据矩阵,可W 包括:
[0100] 对该第二像素矩阵进行纠错处理;
[0101] 该纠错处理具体可W包括:
[0102] 根据公式:
,计算出该第二像 素矩阵中的元素与预设的元素的欧氏距离值ri~rs,其中,X为该第二像素矩阵中的元素的R 值,y为该第二像素矩阵中的元素的G值,Z为该第二像素矩阵中的元素的B值,n = 1,2…8,R、 G、B分别为该预设的元素的R值、G值、B值;
[0103] 比较该欧氏距离值ri~rs的大小,用值最小的rn对应的该预设的元素替换该第二 像素矩阵中的元素,完成纠错处理;
[0104] 其中,该预设的元素包括:(0,0,0)、(0,0,255)、(0,255,0)、(0,255,255)、(255,0, 0)、(255,0,255)、(255,255,0)及(255,255,255)。
[0105] 将纠错处理后的第二像素矩阵中每一个元素缩小预定倍数,确定出还原数据矩 阵。
[0106] 举例而言,该第二像素矩阵中的一个元素为(2,0,250),对其进行纠错处理具体 为:根据上述公式,将其与预设的八个元素分别进行欧氏距离计算,得到n~rs分别为:250、 6、357、255、356、253、438及439,可^明显的看出^的值最小,则用元素(0,0,255)替换该第 二像素矩阵中的元素(2,0,250 ),通过同样的方法可W对该第二像素矩阵中的所有元素进 行纠错处理,由于在实际应用时获取的该第二像素矩阵可能纯在误差,会导致识读的不准 确,进行纠错处理可消除误差,使得到的该第二像素矩阵更加准确。
[0107] 纠错处理完成后,将该第二像素矩阵中每一个元素缩小预定倍数,例如,上述元素 (0,0,255)缩小255倍,得到元素(0,0,1),将该第二像素矩阵中每一个元素都缩小预定倍数 后便得到该还原数据矩阵。
[0108] S203,按照生成所述彩色二维图码时所利用的预设规则的逆过程,将所述还原数 据矩阵分解成由所述预定位数的二进制比特流数据组成的数据组;
[0109] 需要说明的是,该预定位数基于该待识读的彩色二维图码的颜色模型确定,例如, 该待识读的彩色二维图码的颜色模型为RGB模型,相应的,该预定位数即为S位。
[0110] 具体的,如果生成所述彩色二维图码时所利用的预设规则为按照Z字型走向顺次 置入待置入矩阵中,则可W将该还原数据矩阵中的元素按照Z字型走向,顺次分解成由该预 定位数的二进制比特流数据组成的数据组,使该还原数据矩阵中每个元素对应一组数据, 得到该数据组。
[0111] 例如,该还原数据矩阵关
,元素数量为四,按照Z字型 走向,顺次将第一行第一列的元素(1,〇,〇),第二行第一列的元素(1,〇,〇),第一行第二列的 元素(〇,1,〇),第二行第二列的元素(1,1,〇)分解出来,得到由=位二进制比特流数据组成 的数据组,分别为:(1,0,0)、(1,0,0)、(0,1,0)和(1,1,0)。
[0112] 本领域技术人员可W理解的是,如果生成所述彩色二维图码时所利用的预设规则 为其他预设规则,则相应的按照该预设规则的逆过程对还原数据矩阵进行分解处理,在此 不做具体说明。
[0113] S204,将所述数据组按照生成所述彩色二维图码时所利用的分组过程的逆过程, 还原得到二进制比特流数据;
[0114] 具体的,将该数据组按照生成该彩色二维图码时所利用的分组过程的逆过程,还 原得到二进制比特流数据的方式,根据生成该彩色二维图码时所利用的分组的方式确定, 一般可W采用W下两种方式中的一种:
[0115] 若生成该彩色二维图码时所利用的分组方式为生成该彩色二维图码时的上述第 一种方式,则采用如下方式还原得到二进制比特流数据:
[0116] 按照预定的遍历顺序,将该数据组还原为初始二进制比特流数据,其中,该预定的 遍历顺序为:从左到右的顺序或从右到左的顺序;
[0117] 判断在生成该彩色二维图码时,分组过程中是否存在继续按照预定的遍历顺序, W=位为一组对该二进制比特流数据进行分组的步骤;
[0118] 如果是,将继续按照预定的遍历顺序,W=位为一组对该二进制比特流数据进行 分组步骤中所用到的二进制比特流数据从初始二进制比特流数据中去除,得到该二进制比 特流数据。
[0119] 举例而言,该数据组为(1,0,0)、(1,0,0)、(0,1,0)及(1,1,1),按照预定的从左到 右的遍历顺序,将四个数据组还原为初始二进制比特流数据100100010111;判断得到,在生 成该彩色二维图码时,分组过程中存在继续按照预定的遍历顺序,W=位为一组对该二进 制比特流数据进行分组的步骤,将继续按照预定的遍历顺序,W=位为一组对该二进制比 特流数据进行分组步骤中所用到的二进制比特流数据1从初始二进制比特流数据 100100010111中去除,得到该二进制比特流数据10010001011。
[0120] 需要说明的是,该遍历顺序与生成该彩色二维图码时的分组过程中所用的遍历顺 序是一致的,若生成该彩色二维图码时的分组过程中所用的遍历顺序是从右到左的遍历顺 序,则该遍历顺序为从右到左的遍历顺序,具体过程与上述按照从左到右的遍历顺序对该 数据组进行还原的过程相似,在此不再进行详细说明。
[0121] 若生成该彩色二维图码时所利用的分组方式为生成该彩色二维图码时的上述第 二种方式,则采用如下方式还原得到二进制比特流数据:
[0122] 按照预定的遍历顺序,将该数据组还原为初始二进制比特流数据,其中,该预定的 遍历顺序为:从左到右的顺序或从右到左的顺序;
[0123] 判断在生成该彩色二维图码时,分组过程中是否存在将数字0作为该二进制比特 流数据的补充二进制比特流数据,继续对当前分组所剩余的二进制比特流数据进行分组的 步骤;
[0124] 如果是,将补充二进制比特流数据0从初始二进制比特流数据中去除,得到该二进 制比特流数据。
[0125] 举例而言,该数据组为(1,0,0)、(1,0,0)、(0,1,0)及(1,1,0),按照预定的从左到 右的遍历顺序,将四个数据组还原为初始二进制比特流数据100100010110;判断得到,在生 成该彩色二维图码时,分组过程中存在在将数字0作为该二进制比特流数据的补充二进制 比特流数据,继续对当前分组所剩余的二进制比特流数据进行分组的步骤,将补充二进制 比特流数据0从初始二进制比特流数据100100010110中去除,得到该二进制比特流数据 10010001011。
[0126] 需要说明的是,该遍历顺序与生成该彩色二维图码时的分组过程中所用的遍历顺 序是一致的,若生成该彩色二维图码时的分组过程中所用的遍历顺序是从右到左的遍历顺 序,则该遍历顺序为从右到左的遍历顺序,具体过程与上述按照从左到右的遍历顺序对该 数据组进行还原的过程相似,在此不再进行详细说明。
[0127] S205,将所述二进制比特流数据进行解码,得到原始信息,完成彩色二维图码的识 读。
[0128] 其中,将该二进制比特流数据进行解码的方式可W采用现有的解码方式,在此不 做具体限定,若生成该彩色二维图码时,所用的编码方式为国标法,则可采用现有的与国标 法对应的解码方式对该二进制比特流数据进行解码;若生成该彩色二维图码时,所用的编 码方式为Ascn码,则可采用现有的与Ascn码对应的解码方式对该二进制比特流数据进行 解码。
[01巧]进一步的,在步骤S201之前,上述方法还可W包括:
[0130] 对该待识读的彩色二维图码进行图像矫正处理;
[0131] 具体的,该图像矫正处理可W包括:图像增强和去噪操作处理,可W采用现有的灰 度增强算法和中值滤波算法等,对该待识读的彩色二维图码进行图像矫正处理可W提高识 读的正确率,避免识读错误发生。
[0132] 可见,本方案提供的一种颜色标识型彩色二维图码的识读方法,可W准确的识读 通过本发明实施例所提供的颜色标识型彩色二维图码的生成方法所生成的彩色二维图码 中存储的有效信息。
[0133] 相应于上述颜色标识型彩色二维图码的生成方法,本发明实施例还提供了一种颜 色标识型彩色二维图码的生成装置,如图3所示,所述装置,可W包括:
[0134] 获取模块310,用于获取待编码的原始信息,并将其转化为二进制比特流数据;
[0135] 分组模块320,用于将所述二进制比特流数据进行分组,使分组所得组的数量与待 置入矩阵的元素数量相同;
[0136] 其中,每一组数据包含预定位数的该二进制比特流数据,该预定位数基于预定颜 色模型确定;
[0137] 置入模块330,用于将所述每一组数据按照预设规则置入所述待置入矩阵中,得到 初始数据矩阵;
[0138] 元素扩大模块340,用于将所述初始数据矩阵中每一个元素扩大预定倍数,得到第 一像素矩阵;
[0139] 其中,该预定倍数基于该预定颜色模型确定;
[0140] 颜色确定模块350,用于根据预设的关于元素与颜色的对应关系,确定所述第一像 素矩阵中的元素对应的颜色;
[0141] 生成模块360,用于将所确定出的颜色填充入待生成的彩色二维图码的数据存储 区域中,并将预先为所述待编码的原始信息设置的特征信息填充入当前的所述彩色二维图 码的特征信息区域中,完成彩色二维图码的生成。
[0142] 可见,本方案提供的一种颜色标识型彩色二维图码的生成装置中,首先获取待编 码的原始信息,并将其转化为二进制比特流数据;将所述二进制比特流数据进行分组,使分 组所得组的数量与待置入矩阵的元素数量相同,然后将所述每一组数据按照预设规则置入 所述待置入矩阵中,得到初始数据矩阵;再将所述初始数据矩阵中每一个元素扩大预定倍 数,得到第一像素矩阵后,根据预设的关于元素与颜色的对应关系,确定所述第一像素矩阵 中的元素对应的颜色,最后将所确定出的颜色填充入待生成的彩色二维图码的数据存储区 域中,并将预先为所述待编码的原始信息设置的特征信息填充入当前的所述彩色二维图码 的特征信息区域中,完成彩色二维图码的生成。采用该生成装置生成的彩色二维图码中的 颜色信息包含有效的原始信息,而不仅仅是视觉上的冲击。
[0143] 具体的,该预定颜色模型为RGB模型;
[0144] 相应的,该预定位数为=位,该预定倍数为255倍。
[0145] 具体的,该分组模块320具体用于:
[0146] 按照预定的遍历顺序,W=位为一组对所述二进制比特流数据进行分组;
[0147] 判断分组所得组的数量是否与所述待置入矩阵的元素数量相同,如果否,继续按 照预定的遍历顺序,W=位为一组对该二进制比特流数据进行分组,直至满足组的数量要 求,其中,该预定的遍历顺序为:从左到右的顺序或从右到左的顺序;
[0148] 或者,
[0149] 按照预定的遍历顺序,W=位为一组对该二进制比特流数据进行分组;
[0150] 判断分组所得组的数量是否与该待置入矩阵的元素数量相同,如果否,将数字0作 为该二进制比特流数据的补充二进制比特流数据,继续对当前分组所剩余的二进制比特流 数据进行分组,直至满足组的数量要求,其中,该预定的遍历顺序为:从左到右的顺序或从 右到左的顺序。
[0151] 具体的,该置入模块330具体用于:
[0152] 将该每一组数据按照Z字型走向顺次置入该待置入矩阵中,使该待置入矩阵中每 个元素对应一组数据,得到初始数据矩阵。
[0153] 进一步的,该预设的关于元素与颜色的对应关系为:
[0154] 元素(0,0,0)对应黑色;元素(0,0,255)对应蓝色;元素(0,255,0)对应绿色;元素 (0,255,255)对应青蓝色;元素(255,0,0)对应红色;元素(255,0,255)对应洋红色;元素 (255,255,0)对应黄色;元素(255,255,255)对应白色。
[01W]更进一步的,本发明实施例所提供的一种颜色标识型彩色二维图码生成装置,还 可W包括:
[0156] 掩模处理模块,用于在将该特征信息区域中的特征信息填充入当前的该彩色二维 图码的特征信息区域中之后,对该特征信息区域进行掩模处理。
[0157] 相应于上述颜色标识型彩色二维图码的识读方法,本发明实施例还提供了一种颜 色标识型彩色二维图码的识读装置,如图4所示,所述装置,可W包括:
[0158] 第二获取模块410,用于获取待识读的彩色二维图码的第二像素矩阵;
[0159] 其中,所述待识读的彩色二维图码为通过本发明实施例所提供的颜色标识型彩色 二维图码的生成方法所生成的彩色二维图码。
[0160] 元素缩小模块420,用于将所述第二像素矩阵中每一个元素缩小预定倍数,得到还 原数据矩阵;
[0161] 分解模块430,用于按照生成所述彩色二维图码时所利用的预设规则的逆过程,将 所述还原数据矩阵分解成由所述预定位数的二进制比特流数据组成的数据组;
[0162] 还原模块440,用于将所述数据组按照分组过程的逆过程,还原得到二进制比特流 数据;
[0163] 解码模块450,用于将所述二进制比特流数据进行解码,得到原始信息,完成彩色 二维图码的识读。
[0164] 可见,本方案提供的一种颜色标识型彩色二维图码的识读装置,可W准确的识读 通过本发明实施例所提供的颜色标识型彩色二维图码的生成方法所生成的彩色二维图码 中存储的有效信息。
[0165] 具体的,该元素缩小模块420具体用于:
[0166] 对该第五像素矩阵进行纠错处理;
[0167] 将纠错处理后的第二像素矩阵中每一个元素缩小预定倍数,确定出还原数据矩 阵;
[0168] 其中,该纠错处理包括:
[0169] 根据公式
,计算出该第二像 素矩阵中的元素与预设的元素的欧氏距离值n~rs,其中,X为该第二像素矩阵中的元素的R 值,y为该第二像素矩阵中的元素的G值,Z为该第二像素矩阵中的元素的B值,n = l,2-'8,R、 G、B分别为该预设的元素的R值、G值、B值;
[0170] 比较该欧氏距离值ri~rs的大小,用值最小的rn对应的该预设的元素替换该第二 像素矩阵中的元素,完成纠错处理;
[0171] 该预设的元素包括:
[0172] (〇,〇,〇)、(〇,〇,255)、(0,255,0)、(0,255,255)、(255,0,0)、(255,0,255)、(255, 255,0)及(255,255,255)。
[0173] 进一步的,本发明实施例所提供的一种颜色标识型彩色二维图码的识读装置,还 可W包括:
[0174] 图像矫正处理模块,用于对该待识读的彩色二维图码进行图像增强和去噪操作处 理。
[0175] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实 体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示运些实体或操作之间存 在任何运种实际的关系或者顺序。而且,术语"包括"、"包含"或者其任何其他变体意在涵盖 非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要 素,而且还包括没有明确列出的其他要素,或者是还包括为运种过程、方法、物品或者设备 所固有的要素。在没有更多限制的情况下,由语句"包括一个……"限定的要素,并不排除在 包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0176] 本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部 分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实 施例而言,由于其基本相似于方法实施例,所W描述的比较简单,相关之处参见方法实施例 的部分说明即可。
[0177] 本领域普通技术人员可W理解实现上述方法实施方式中的全部或部分步骤是可 W通过程序来指令相关的硬件来完成,所述的程序可W存储于计算机可读取存储介质中, 运里所称得的存储介质,如:R0M/RAM、磁碟、光盘等。
[0178] W上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在 本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围 内。
【主权项】
1. 一种颜色标识型彩色二维图码的生成方法,其特征在于,包括: 获取待编码的原始信息,并将其转化为二进制比特流数据; 将所述二进制比特流数据进行分组,使分组所得组的数量与待置入矩阵的元素数量相 同,其中,每一组数据包含预定位数的所述二进制比特流数据,所述预定位数基于预定颜色 模型确定; 将所述每一组数据按照预设规则置入所述待置入矩阵中,得到初始数据矩阵; 将所述初始数据矩阵中每一个元素扩大预定倍数,得到第一像素矩阵,其中,所述预定 倍数基于所述预定颜色模型确定; 根据预设的关于元素与颜色的对应关系,确定所述第一像素矩阵中的元素对应的颜 色; 将所确定出的颜色填充入待生成的彩色二维图码的数据存储区域中,并将预先为所述 待编码的原始信息设置的特征信息填充入当前的所述彩色二维图码的特征信息区域中,完 成彩色二维图码的生成。2. 如权利要求1所述的方法,其特征在于,所述预定颜色模型为RGB模型; 相应的,所述预定位数为三位,所述预定倍数为255倍。3. 如权利要求2所述的方法,其特征在于,所述将所述二进制比特流数据进行分组,包 括: 按照预定的遍历顺序,以三位为一组对所述二进制比特流数据进行分组; 判断分组所得组的数量是否与所述待置入矩阵的元素数量相同,如果否,继续按照预 定的遍历顺序,以三位为一组对所述二进制比特流数据进行分组,直至满足组的数量要求, 其中,所述预定的遍历顺序为:从左到右的顺序或从右到左的顺序; 或者, 所述将所述二进制比特流数据进行分组,包括: 按照预定的遍历顺序,以三位为一组对所述二进制比特流数据进行分组; 判断分组所得组的数量是否与所述待置入矩阵的元素数量相同,如果否,将数字O作为 所述二进制比特流数据的补充二进制比特流数据,继续对当前分组所剩余的二进制比特流 数据进行分组,直至满足组的数量要求,其中,所述预定的遍历顺序为:从左到右的顺序或 从右到左的顺序。4. 如权利要求1所述的方法,其特征在于,所述将所述每一组数据按照预设规则置入所 述待置入矩阵中,得到初始数据矩阵具体为: 将所述每一组数据按照Z字型走向顺次置入所述待置入矩阵中,使所述待置入矩阵中 每个元素对应一组数据,得到初始数据矩阵。5. 如权利要求1所述的方法,其特征在于,所述预设的关于元素与颜色的对应关系为: 元素(〇,〇,〇)对应黑色;元素(〇,〇, 255)对应蓝色;元素(0,255,0)对应绿色;元素(0, 255,255)对应青蓝色;元素(255,0,0)对应红色;元素(255,0,255)对应洋红色;元素(255, 255,0)对应黄色;元素(255,255,255)对应白色。6. 如权利要求1所述的方法,其特征在于,所述将所述特征信息区域中的特征信息填充 入当前的所述彩色二维图码的特征信息区域中之后,还包括: 对所述特征信息区域进行掩模处理。7. -种颜色标识型彩色二维图码的识读方法,其特征在于,包括: 获取待识读的彩色二维图码的第二像素矩阵,其中,所述待识读的彩色二维图码为通 过权利要求1所述方法生成的彩色二维图码; 将所述第二像素矩阵中每一个元素缩小预定倍数,得到还原数据矩阵; 按照生成所述彩色二维图码时所利用的预设规则的逆过程,将所述还原数据矩阵分解 成由所述预定位数的二进制比特流数据组成的数据组; 将所述数据组按照生成所述彩色二维图码时所利用的分组过程的逆过程,还原得到二 进制比特流数据; 将所述二进制比特流数据进行解码,得到原始信息,完成彩色二维图码的识读。8. 如权利要求7所述的方法,其特征在于,所述将所述第二像素矩阵中每一个元素缩小 预定倍数,得到还原数据矩阵,包括: 对所述第二像素矩阵进行纠错处理; 将纠错处理后的第二像素矩阵中每一个元素缩小预定倍数,确定出还原数据矩阵; 其中,所述纠错处理包括: 根据公另十算出所述第二像素 矩阵中的元素与预设的元素的欧氏距离值η~Γ8,其中,X为所述第二像素矩阵中的元素的R 值,y为所述第二像素矩阵中的元素的G值,ζ为所述第二像素矩阵中的元素的B值,11 = 1,2··· 8,R、G、B分别为所述预设的元素的R值、G值、B值; 比较所述欧氏距离值η~Γ8的大小,用值最小的rn对应的所述预设的元素替换所述第 二像素矩阵中的元素,完成纠错处理; 其中,所述预设的元素包括: (0,0,0)、(0,0,255)、(0,255,0)、(0,255,255)、(255,0,0)、(255,0,255)、(255,255,0) 及(255,255,255)。9. 一种颜色标识型彩色二维图码的生成装置,其特征在于,包括: 第一获取模块,用于获取待编码的原始信息,并将其转化为二进制比特流数据; 分组模块,用于将所述二进制比特流数据进行分组,使分组所得组的数量与待置入矩 阵的元素数量相同,其中,每一组数据包含预定位数的所述二进制比特流数据,所述预定位 数基于预定颜色模型确定; 置入模块,用于将所述每一组数据按照预设规则置入所述待置入矩阵中,得到初始数 据矩阵; 元素扩大模块,用于将所述初始数据矩阵中每一个元素扩大预定倍数,得到第一像素 矩阵,其中,所述预定倍数基于所述预定颜色模型确定; 颜色确定模块,用于根据预设的关于元素与颜色的对应关系,确定所述第一像素矩阵 中的元素对应的颜色; 生成模块,用于将所确定出的颜色填充入待生成的彩色二维图码的数据存储区域中, 并将预先为所述待编码的原始信息设置的特征信息填充入当前的所述彩色二维图码的特 征信息区域中,完成彩色二维图码的生成。10. -种颜色标识型彩色二维图码的识读装置,其特征在于,包括: 第二获取模块,用于获取待识读的彩色二维图码的第二像素矩阵,其中,所述待识读的 彩色二维图码为通过权利要求1所述方法生成的彩色二维图码; 元素缩小模块,用于将所述第二像素矩阵中每一个元素缩小预定倍数,得到还原数据 矩阵; 分解模块,用于按照生成所述彩色二维图码时所利用的预设规则的逆过程,将所述还 原数据矩阵分解成由所述预定位数的二进制比特流数据组成的数据组; 还原模块,用于将所述数据组按照分组过程的逆过程,还原得到二进制比特流数据; 解码模块,用于将所述二进制比特流数据进行解码,得到原始信息,完成彩色二维图码 的识读。
【文档编号】G06K7/14GK106022431SQ201610329538
【公开日】2016年10月12日
【申请日】2016年5月18日
【发明人】于学东, 牛少彰, 王勇, 李增欣, 韦俊康
【申请人】北京鼎九信息工程研究院有限公司, 吉林省通程科技有限公司