传统二维码于上世纪九十年代在日本问世,如今已在世界范围内广泛使用。二维码具有信息容量大微信三维码生成、编码范围广、译码可靠性高等多种优点,然而二维码属于平面图形,容易被复制,因此在防伪方面还有很大的缺陷。
技术实现要素:
为了解决上述技术问题,本发明实施例提供了三维码生成和解析方法,能够克服二维码容易被复制的缺陷,提高防伪功能,并进一步扩大信息容量。
为了达到本发明实施例目的,本发明实施例提供了三维码生成方法,该方法可以包括:
将多个设置有二维码的载体按照预设顺序进行叠加,叠加后不同载体上的二维码所在区域相重合;其中,进行叠加的各载体上的二维码的颜色不同,且所表示的信息至少部分不同;
分别确定叠加后在各载体上形成的第一区域和第二区域;其中,对于进行叠加的任一载体,第一区域是本载体上的二维码与其它载体上的二维码存在颜色叠加的区域,第二区域是本载体上的二维码未和任何其它载体上的二维码存在颜色叠加的区域;
获取相互叠加的多个载体上的所述第一区域的颜色的合成颜色并呈现出来,并对相互叠加的多个载体进行处理,以使每层载体上所述第二区域的颜色呈现出来,获取具有立体结构的三维码。
可选地,该方法还包括:在将多个设置有二维码的载体按照预设顺序进行叠加之前,根据待编码对象获取每个载体上的二维码;
根据待编码对象获取每个载体上的二维码可以包括:
直接根据待编码对象生成多个具有不同纯色、相同面积和相同版本的第一二维码,其中第一二维码的版本根据待编码对象的字符长度来确定;或者,
根据待编码对象的字符长度将待编码对象等分为多个子对象,将多个子对象分别生成多个具有不同纯色、相同面积和相同版本的第二二维码,其中,第二二维码的版本根据子对象的字符长度来确定。
可选地,获取相互叠加的多个载体上的第一区域的颜色的合成颜色可以包括:
根据预设的遍历顺序对每层载体上第一区域的像素点的位置进行遍历;
获取每层载体上每一个像素点的位置上的纯色像素的红绿蓝RGB值;
对多层载体上同一个像素点的位置上对应的多个纯色像素的RGB值进行合成,
将合成后的RGB值对应的颜色设置为同一个像素点的位置上对应的合成颜色。
可选地,该方法还可以包括:
获取与二维码的尺寸相同的覆盖层;其中,覆盖层上与每个载体的第一区域相对应的区域的颜色为该合成颜色,第二区域为镂空的;
将覆盖层对应覆盖在经过物理叠加的多个载体的最上层,与多个载体共同构成三维码。
可选地,二维码为快速反应QR码。
可选地,每个载体上的二维码的颜色为纯色;该纯色包括:红色、绿色或蓝色。
可选地,多个具有相同面积和相同版本的二维码中每个纯色对应的像素的RGB值小于或等于180。
本发明实施例还提供了三维码解析方法,基于前述的三维码生成方法所生成的三维码,该方法可以包括:
确定组成当前三维码的多个纯色;
分别以每一个纯色为基础从三维码中提取出多个纯色二维码;
按照预设的解码规则对每一个纯色二维码进行解析获取每一个纯色二维码对应的字符信息;
对多个纯色二维码对应的多组字符信息进行组合获取三维码的解码信息。
可选地,确定组成当前三维码的多个纯色可以包括:
通过图像识别技术获取所述三维码的定位点;
确定定位点中像素的RGB值;
根据定位点中像素的RGB值确定出组成当前三维码的多个纯色。
可选地,分别以每一个纯色为基础从三维码中提取出多个纯色二维码可以包括:
根据所述三维码中每一个像素点的RGB值确定出包含想要获取的第一纯色的全部像素点;
在与所述三维码具有相同面积和相同版本的二维码上,将包含所述第一纯色的全部像素点对应的位置确定为所述第一纯色,并将不包含所述第一纯色的全部像素点对应的位置确定为白色,组成与所述第一纯色对应的纯色二维码。
本发明实施例的三维码生成方法可以包括:将多个设置有二维码的载体按照预设顺序进行叠加,叠加后不同载体上的二维码所在区域相重合;其中,进行叠加的各载体上的二维码的颜色不同,且所表示的信息至少部分不同;分别确定叠加后在各载体上形成的第一区域和第二区域;其中,对于进行叠加的任一载体,第一区域是本载体上的二维码与其它载体上的二维码存在颜色叠加的区域,第二区域是本载体上的二维码未和任何其它载体上的二维码存在颜色叠加的区域;获取相互叠加的多个载体上的所述第一区域的颜色的合成颜色并呈现出来,并对相互叠加的多个载体进行处理,以使每层载体上所述第二区域的颜色呈现出来,获取具有立体结构的三维码。通过该实施例方案,克服了二维码容易被复制的缺陷,提高了防伪功能,并进一步扩大了信息容量。
本发明实施例的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例而了解。本发明实施例的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
丙肝是什么病微信交流群,丙肝母婴贴吧
耳鸣微信交流群,全国耳鸣交流群
打呼噜微信交流群,怎么加入陌生微信群
「东莞车迷微信群」求个东莞的大众高尔夫微信群
「聋人微信和扣扣群」微信有聋哑人的群吗
「加入菏泽大型微信群」如何加入菏泽一中高三一部十八班微信群
「启动微信群名软件」微信群怎么设置不让别人改群名?
「微信红包群规则复制」微信红包群规章制度是什么样的?
「微信稀奇古怪总代群」我想在微信上卖稀奇古怪的玩意,一件代发的,不需要加盟费!有的留个
「微信群群主有哪些特权」微信群主有哪些特权?