CN106570550A - 一种生成二维码的方法 - Google Patents

一种生成二维码的方法 Download PDF

Info

Publication number
CN106570550A
CN106570550A CN201610986123.6A CN201610986123A CN106570550A CN 106570550 A CN106570550 A CN 106570550A CN 201610986123 A CN201610986123 A CN 201610986123A CN 106570550 A CN106570550 A CN 106570550A
Authority
CN
China
Prior art keywords
numbers
ordered series
tuple
black
quick response
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610986123.6A
Other languages
English (en)
Other versions
CN106570550B (zh
Inventor
丁如
丁一如
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ningbo next door Network Technology Co.,Ltd.
Original Assignee
Shanghai Feixun Data Communication Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Feixun Data Communication Technology Co Ltd filed Critical Shanghai Feixun Data Communication Technology Co Ltd
Priority to CN201610986123.6A priority Critical patent/CN106570550B/zh
Publication of CN106570550A publication Critical patent/CN106570550A/zh
Application granted granted Critical
Publication of CN106570550B publication Critical patent/CN106570550B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06037Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06046Constructional details
    • G06K19/06103Constructional details the marking being embedded in a human recognizable image, e.g. a company logo with an embedded two-dimensional code

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Character Discrimination (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

本发明属于二维码技术领域,尤其涉及一种生成二维码的方法,包括以下步骤,(1)确定二维码的功能图形和数据区域R(M)c;(2)根据R(M)c的黑白像素,将R(M)c分割成像素矩阵,再使用图形判定算法将R(M)c中黑像素组成的不同的规则图形计算出来;(3)给不同的规则图形替换预设图片。本发明对新的宣传链接都可以立即生成一张美化的二维码图片,大大节约了长期聘请美工人员实现同类效果的人员成本和制作时间损耗,且该方法生成的二维码防伪性能好。

Description

一种生成二维码的方法
技术领域
本发明属于二维码技术领域,尤其涉及一种生成二维码的方法。
背景技术
快速响应码(QuickResponseCode),简称QR码,是在1994年由日本的Densowave公司发明的一种二维条形码。QR码于2000年6月获得批准ISO国际标准ISO/IEC18004,QR码属于一种开放式标准,规格公开。QR码通常由一系列黑色和白色的方形模块按一定规则排列组成一个矩阵。QR码拥有比一维条码更大的存储信息容量,丰富的编码字符集,强大的纠错能力,并且独特的定位功能可以抵抗旋转。
随着带摄像头的智能手机的普及,二维码应用变的越来越热门,例如电子优惠券、火车票、扫码支付、广告牌等。但是由于传统的二维码基本采用黑白模块,从用户角度来看,该类二维码的内容单调,视觉体验十分糟糕;从企业的角度来看,该类二维码的商业价值低。
当公司需要将品牌融入二维码,实现营销效果时,可将需要宣传的元素重复出现在打印规格较大的宣传用二维码图片中,在提高对二维码关注度的同时提升宣传元素的公知度。
如麦当劳可将logo、汉堡、鸡肉卷、可乐根据不同图片范围替换入二维码黑色区域的对应范围,生成的图片既能体现公司经营范围,也能推广主打产品,同时可以吸引路人眼球关注二维码图片。
在美化QR码的半自动或自动生成的研究之前,大多数美化QR码是由设计师或艺术家在原有QR码的基础上手工创作的,需要支付昂贵的设计成本,用于商业广告宣传。艺术家们通常会在美化QR码的模块中填充颜色,用其他物体代替小模块,柔滑边缘,依靠QR码的纠错机制添加小图像等手法,再依靠手动检测修改后的二维码是否可以解码。这种完全手工方式的美化QR码耗费了大量的人力物力,而且无法保证解码正确率,重复利用率低。
且随着二维码应用越来越多,市场上也出现越来越多的依托二维码为基础的防伪标签,但是二维码和数码一样,是一种标准化的编码规范,只要设备条件符合,任何手机和扫描枪、采集器都是可以读取的,所以很多时候对使用用户来说,认为二维码具体有防伪性,这其实是一个误区;仿冒者只需要获取一组二维码即可进行仿冒,因此传统二维码的防伪性低。
发明内容
本发明针对现有技术存在的问题,提出了一种生成二维码的方法,在拥有一套数张符合二维码识别特征要求的设计图片后,新的宣传链接都可以立即生成一张美化的二维码图片,大大节约了长期聘请美工人员实现同类效果的人员成本和制作时间损耗,且该方法生成的二维码防伪性能好。
本发明解决其技术问题所采用的技术方案是:一种生成二维码的方法,包括以下步骤:
(1)确定二维码的功能图形和数据区域R(M)c;
(2)根据R(M)c的黑白像素,将R(M)c分割成像素矩阵,再使用图形判定算法将R(M)c中黑像素组成的不同的规则图形计算出来;
(3)给不同的规则图形替换预设图片。
本发明通过识别二维码的各个识别元素,将二维码的黑白像素替换为预设特定图片元素,生成具有帮助提高特定图片元素公众识别度的二维码。首先利用常规的二维码编码算法生成二维码,依据二维码识别规则划分图形区域,再根据美化规则生成遮罩位图。在依据替换算法和特定图片,合成结果图像。本发明在将需加密信息转换为二维码后,可快速将需要提高公众识别度的图像替换入二维码中,与二维码图像本身特点无关,对任意布局的二维码都能达到很好的美化效果。
作为优选,步骤(1)具体包括,
1)根据QR二维码编码算法,将需要加密的信息生成二维码图像;
2)根据二维码图像的黑白像素,将二维码图像分割成像素矩阵,通过像素矩阵规生成遮罩位图;
3)根据二维码识别算法,将遮罩位图识别划分为图形R(M)a、R(M)b、R(M)c,其中R(M)a为二维码图像中的位置探测图形,R(M)b为二维码图像中的校正图形,R(M)c为二维码图像中除位置探测图形和校正图形外的所有功能图形和数据区域。
作为优选,步骤(2)具体包括,
M1.将R(M)c中的黑色像素赋值为1,白色像素赋值为0;
M2.按照数据存储结构顺序遍历以获取黑色像素区域大小分别为1*1,1*2,2*1,2*2,1*3,3*1,2*3,3*2和3*3的各数列。
作为优选,步骤M2具体包括,
N1.遍历R(M)c,将R(M)c中各元素的值以及位置信息存储在数列A中;
N2.遍历数列A,形成1*1黑色像素区域的元组,将所述元组存储在数列B中;
N3.遍历数列B,获取以数列B中元组为起始点,并形成1*2黑色像素区域的元组,将所述元组存储在数列C1中;获取以数列B中元组为起始点,并形成2*1黑色像素区域的元组,将所述元组存储在数列C2中;
N4.遍历数列C1和数列C2的交集数列C3,获取以数列C3中元组为起始点,并形成2*2黑色像素区域的元组,将所述元组存储在数列D中;
N5.遍历数列C1,获取以数列C1中元组为起始点,并形成1*3黑色像素区域的元组,将所述元组存储在数列E1中;
N6.遍历数列C2,获取以数列C2中元组为起始点,并形成3*1黑色像素区域的元组,将所述元组存储在数列E2中;
N7.遍历数列E1和数列D的交集数列F1,获取以数列F1中元组为起始点,并形成2*3黑色像素区域的元组,将所述元组存储在数列G1中;
N8.遍历数列E2和数列D的交集数列F2,获取以数列F2中元组为起始点,并形成3*2黑色像素区域的元组,将所述元组存储在数列G2中;
N9.遍历数列G1和数列G2的交数列G3,获取以数列G3中元组为起始点,并形成1*2黑色像素区域的元组,将所述元组存储在数列H中。
作为优选,当遍历以左上角(m,n)为起始点时,步骤M2具体包括,
L1.遍历数列A,如果值为1,将值为1的所有元组取出生成新的数列B,其中,数列B代表R(M)c中所有大小为1*1的黑色区域标记点;
L2.遍历数列B,并判断数列B中B(m,n)的下方B(m,n+1)和右边B(m+1,n)是否值为1,将下方值为1的所有元组生成新的数列C1,将右边值为1的所有元组生成新的数列C2,其中,数列C1代表R(M)c中所有大小为1*2的黑色区域标记点,数列C2代表R(M)c中所有大小为2*1的黑色区域标记点;
L3.判断C3(m,n)到C3(m+1,n+1)范围内的元组值是否为1;如果是,将满足条件的元组生成新的数列D,其中,数列D代表R(M)c中所有大小为2*2的黑色区域标记点;
L4.遍历数列C1,并判断数列C1中C1(m,n)的下方C1(m,n+2),将下方值为1的所有元组生成新的数列E1,其中,数列E1代表R(M)c中所有大小为1*3的黑色区域标记点;
L5.遍历数列C2,并判断数列C2中C2(m,n)的右方C2(m+2,n),将右边方值为1的所有元组生成新的数列E2,数列E2代表R(M)c中所有大小为3*1的黑色区域标记点;
L6.判断数列F1(m,n)到F1(m+1,n+2)范围内的元组值是否为1;如果是,将满足条件的元组生成数列G1,其中,数列G1代表R(M)b中所有大小为2*3的黑色区域标记点;
L7.判断数列F2(m,n)到F2(m+2,n+1)范围内的元组值是否为1;如果是,将满足条件的元组生成数列G2,其中,数列G2代表R(M)c中所有大小为3*2的黑色区域标记点;
L8.判断数列G3(m,n)到G3(m+2,n+2)范围内的元组值是否为1;如果是,将满足条件的元组生成数列H,其中,数列H代表R(M)c中所有大小为3*3的黑色区域标记点。
作为优选,步骤(2)还包括,根据面积和方向,对数列B、数列C1、数列C2、数列D、数列E1、数列E2、数列G1、数列G2及数列H中的黑色区域标记点确定权重。
作为优选,黑色区域标记点的权重=面积*10+方向*1,其中面积为黑色区域标记点所属数列所代表黑色区域大小的最大值,方向为黑色区域标记点的横向个数与列向个数之差。
作为优选,步骤(3)具体包括,
1)在R(M)c区域内,按照权重给数列中的黑色区域标记点替换预先设定好的图片,权重低的数列在使用前需遍历比其权重高的数列,判定黑色区域标记点是否已使用过;
2)在R(M)a区域内,根据步骤(1)获得的类型版本信息计算出位置探测图形的位置和大小,并根据计算结果替换预设图片;
3)在R(M)b区域内,根据步骤(1)获得的类型版本信息计算出校正图形的位置和大小,并根据计算结果替换预设图片。
作为优选,所述预设图片存储在图像数据库中,包括若干套不同主题的预设图片,每套预设图片包括至少一张与所替换区域大小相同的预设图片。
作为优选,还包括对二维码R(M)c区域内的值为0的区域进行色彩喷涂。
本发明的有益效果如下:本发明可在二维码图案中嵌入二维码显示图像,令原先杂乱无章的二维码显示出嵌入二维码显示图像,对于消费者而言,其视觉效果得到了大大改善;将与公司品牌相关的图片融入二维码中,在不影响表达二维码信息的同时,能够使二维码与产品很好的结合在一起,提升了品牌效应。
附图说明
图1为本发明生成美化二维码的流程示意图一;
图2为本发明生成美化二维码的流程示意图二;
图3为本发明生成美化二维码的流程示意图三;
图4为本发明生成美化二维码的流程示意图四;
图5为本发明生成美化二维码的流程示意图五。
具体实施方式
以下是本发明的具体实施例并结合附图,对本发明的技术方案作进一步的描述,但本发明并不限于这些实施例。
本实施例一种生成二维码的方法,包括以下步骤:
(1)确定二维码的功能图形和数据区域R(M)c。
先根据QR二维码编码算法,将需要加密的信息生成二维码图像;然后根据二维码图像的黑白像素,将二维码图像分割成像素矩阵,通过像素矩阵规生成遮罩位图;最后根据二维码识别算法,将遮罩位图识别划分为图形R(M)a、R(M)b、R(M)c,其中R(M)a为二维码图像中的位置探测图形,R(M)b为二维码图像中的校正图形,R(M)c为二维码图像中除位置探测图形和校正图形外的所有功能图形和数据区域。
QR二维码一共有40个Version。Version 1是21x 21的矩阵,Version 2是25x 25的矩阵,Version3是29的尺寸,每增加一个version,就会增加4的尺寸,最高Version 40是177x 177的矩阵。其中R(M)a包括三个相同的位置探测图像,分别位于二维码的左上角,左下角和右上角,无论使用哪个Version,位置探测图像的位置,数量和大小都不变。R(M)b为二维码图像中的校正图形,其大小不变,但是根据Version的升级,校正图形的数量从0个逐渐增多,位置也发生了相应的变化。当采用Version 1时,校正图形的数量为0个。
(2)根据R(M)c的黑白像素,将R(M)c分割成像素矩阵,再使用图形判定算法将R(M)c中黑像素组成的不同的规则图形计算出来。
步骤(2)具体包括:
M1.将R(M)c中的黑色像素赋值为1,白色像素赋值为0;
M2.按照数据存储结构顺序遍历以获取黑色像素区域大小分别为1*1,1*2,2*1,2*2,1*3,3*1,2*3,3*2和3*3的各数列。
N1.遍历R(M)c,将R(M)c中各元素的值以及位置信息存储在数列A中;
N2.遍历数列A,形成1*1黑色像素区域的元组,将所述元组存储在数列B中;
N3.遍历数列B,获取以数列B中元组为起始点,并形成1*2黑色像素区域的元组,将所述元组存储在数列C1中;获取以数列B中元组为起始点,并形成2*1黑色像素区域的元组,将所述元组存储在数列C2中;
N4.遍历数列C1和数列C2的交集数列C3,获取以数列C3中元组为起始点,并形成2*2黑色像素区域的元组,将所述元组存储在数列D中;
N5.遍历数列C1,获取以数列C1中元组为起始点,并形成1*3黑色像素区域的元组,将所述元组存储在数列E1中;
N6.遍历数列C2,获取以数列C2中元组为起始点,并形成3*1黑色像素区域的元组,将所述元组存储在数列E2中;
N7.遍历数列E1和数列D的交集数列F1,获取以数列F1中元组为起始点,并形成2*3黑色像素区域的元组,将所述元组存储在数列G1中;
N8.遍历数列E2和数列D的交集数列F2,获取以数列F2中元组为起始点,并形成3*2黑色像素区域的元组,将所述元组存储在数列G2中;
N9.遍历数列G1和数列G2的交数列G3,获取以数列G3中元组为起始点,并形成1*2黑色像素区域的元组,将所述元组存储在数列H中。
当遍历以左上角(m,n)为起始点时,步骤M2具体包括,
L1.二维码对应数码,二维码中的黑色像素对应数码值1,白色像素对应数码值0,因此,将R(M)c中的黑白像素转化为计算机数列A,数列A的赋值为0和1,黑色像素对应值为1,白色像素对应值为0。
L2.遍历数列A,如果值为1,将值为1的所有元组取出生成新的数列B,其中,数列B代表R(M)c中所有大小为1*1的黑色区域标记点。即将数列A中所有值为1的元组的位置信息提取出来记录在数列B中,以便做下一步操作。
L3.遍历数列B,设数列B中任意一点为B(m,n),其中m代表该点在二维码相应的数码矩阵中的横向位置,n代表该点在二维码相应的数码矩阵中的竖向位置。判断数列B中B(m,n)的下方B(m,n+1)和右边B(m+1,n)是否值为1,即判断B(m,n+1)或B(m+1,n)的位置信息是否记录在数列B中。如果B(m,n)下方值为1,则将B(m,n)和B(m,n+1)的位置信息作为一个元组记录在新的数列C1。如果B(m,n)右边值为1,则将B(m,n)和B(m+1,n)的位置信息作为一个元组记录在新的数列C2。其中,数列C1代表R(M)c中所有大小为1*2的黑色区域标记点,数列C2代表R(M)c中所有大小为2*1的黑色区域标记点。
L4.如果数列C1中某一元组的第一个元素的位置信息C1(m,n)与数列C2中某一元组的第一个元素的位置信息C2(m,n)相同,则将该交点的位置信息记录在新的数列C3中,并根据数列B判定C3(m+1,n+1)处的元素值是否为1,如果值为1则将C3(m,n),C3(m+1,n),C3(m,n+1)和C3(m+1,n+1)作为一个元组记录在新的数列D中。其中,数列D代表R(M)c中所有大小为2*2的黑色区域标记点。
L5.遍历数列C1,并判断数列C1中元组下方C1(m,n+2)的值是否为1,如果下方值为1,则将C1(m,n),C1(m,n+1)和C1(m,n+2)组成的新元组记录在新的数列E1中。其中,数列E1代表R(M)c中所有大小为1*3的黑色区域标记点。
L6.遍历数列C2,并判断数列C2中元组右方C2(m+2,n)的值是否为1,如果右边方值为1,则将C2(m,n),C2(m+1,n)和C2(m+2,n)组成的新元组记录在新的数列E2中。其中,数列E2代表R(M)c中所有大小为3*1的黑色区域标记点。
L7.如果数列E1中某一元组的第一个和第二个元素的位置信息E1(m,n),E1(m,n+1)与数列D中某一元组竖向的第一个和第二个元素的位置信息D(m,n),D(m,n+1)相同,则将两个交点组成的元组的位置信息记录在新的数列F1中,并根据数列B判定F1(m+1,n+2)处的元素值是否为1,如果值为1则将F1(m,n),F1(m,n+1),F1(m,n+2),F1(m+1,n),F1(m+1,n+1)和F1(m+1,n+2)作为一个元组记录在新的数列G1中。其中,数列G1代表R(M)b中所有大小为2*3的黑色区域标记点。
L8.如果数列E2中某一元组的第一个和第二个元素的位置信息E2(m,n),E2(m+1,n)与数列D中某一元组横向的第一个和第二个元素的位置信息D(m,n),D(m+1,n)相同,则将两个交点组成的元组的位置信息记录在新的数列F2中,并根据数列B判定F2(m+2,n+1)处的元素值是否为1,如果值为1则将F2(m,n),F2(m,n+1),F2(m+1,n),F2(m+1,n+1),F2(m+2,n)和F2(m+2,n+1)作为一个元组记录在新的数列G2中。其中,数列G2代表R(M)c中所有大小为3*2的黑色区域标记点。
L9.如果数列G1中某一元组的前四个元素的位置信息G1(m,n),G1(m,n+1),G1(m+1,n)和G1(m+1,n+1)与数列G2中某一元组的前四个元素的位置信息G2(m,n),G2(m,n+1),G2(m+1,n)和G2(m+1,n+1)相同,则将四个交点的位置信息记录在新的数列G3中,并根据数列B判定G3(m+2,n+2)处的元素值是否为1,如果值为1则将G3(m,n),G3(m+1,n),G3(m+2,n),G3(m,n+1),G3(m+1,n+1),G3(m+2,n+1),G3(m,n+2),G3(m+1,n+2)和G3(m+2,n+2)作为一个元组记录在新的数列H中。其中,数列H代表R(M)c中所有大小为3*3的黑色区域标记点。
至此获得了代表不同范围黑色区域标记点的数列B(1*1)、C1(1*2)、C2(2*1)、D(2*2)、E1(1*3)、E2(3*1)、G1(2*3)、G2(3*2)、H(3*3)。黑色区域标记点的范围可根据实际操作增加,即还可以通过编程获得1*4,4*1,4*4等不同范围的黑色区域标记点。
按照面积(由大到小)和方向(由横到竖的规则)为各个黑色区域标记点确定权重,权重大的先替换预设图片。黑色区域标记点的权重=面积*10+方向*1,其中面积为黑色区域标记点所属数列所代表黑色区域大小的最大值,方向为黑色区域标记点的横向个数与列向个数之差。
其中H(3*3)的权重=(3*3)*10+(3-3)*1=90;
G2(3*2)的权重=(3*2)*10+(3-2)*1=61;
G1(2*3)的权重=(2*3)*10+(2-3)*1=59;
E2(3*1)的权重=(3*1)*10+(3-1)*1=32;
E1(1*3)的权重=(1*3)*10+(1-3)*1=28;
D(2*2)的权重=(2*2)*10+(2-2)*1=40;
C2(2*1)的权重=(2*1)*10+(2-1)*1=21;
C1(1*2)的权重=(1*2)*10+(1-2)*1=19;
B(1*1)的权重=(1*1)*10+(1-1)*1=10;
预设图片的替换顺序由权重的大小决定,权重大的先进行替换,权重主要由黑色区域标记点的大小决定。在大小相同的情况下,为了将2*3的矩阵与3*2的矩阵区分开来,就采用方向来辅助计算权重,通过计算黑色区域标记点的横向个数与列向个数之差,使横向个数大于列向个数的黑色区域标记点的权重相比横向个数小于列向个数的黑色区域标记点的权重较大,从而优先替换横向个数大于列向个数的黑色区域标记点。其中,权重=面积*10+方向*1中系数10和1是非固定的,可根据实际情况进行调整修改。
(3)给不同的规则图形替换预设图片。在R(M)c区域内,按照权重给数列中的黑色区域标记点替换预先设定好的图片,权重低的数列在使用前需遍历比其权重高的数列,判定黑色区域标记点是否已使用过。在R(M)a区域内,根据步骤(1)获得的类型版本信息计算出位置探测图形的位置和大小,并根据计算结果替换预设图片。在R(M)b区域内,根据步骤(1)获得的类型版本信息计算出校正图形的位置和大小,并根据计算结果替换预设图片。
其中,预设图片事先存储在图像数据库中,包括若干套不同主题的预设图片,每套预设图片包括至少一张与所替换区域大小相同的预设图片。即当黑色区域标记点的最大范围为3*3时,在一套预设图片中至少有1张替换1*1元组的预设图片,1张替换1*2元组的预设图片,1张替换2*1元组的预设图片,1张替换2*2元组的预设图片,1张替换1*3元组的预设图片,1张替换,3*1元组的预设图片,1张替换3*2元组的预设图片,1张替换2*3元组的预设图片和1张替换3*3元组的预设图片。
以网址http://www.xxx.com为例,先将该网址转换为基础的二维码,并以二维码左上角四分之一为例进行美化,结果如图1所示。先依次对R(M)a区域内位置探测图形和R(M)b区域内的校正图形进行预设图片替换,由于该版本的二维码的该区域内没有检测到校正图形,因此,只对检测到的位置探测图形进行预设图片替换,结果如图2所示。然后根据权重大小,先依次对数列H(3*3),G2(3*2),G1(2*3),D(2*2)进行预设图片替换,由于未检测到G2(3*2),G1(2*3)的元组,因此只对数列H(3*3)和D(2*2)中的元组进行了预设图片替换,且当H(3*3)中的元组和与D(2*2)中的元组有重合时,只对H(3*3)中的相应元组做预设图片替换,如图3所示。接着,按照权重再依次对数列E2(3*1)和E1(1*3)中的元组进行预设图片替换,结果如图4所示。最后,按照权重再依次对数列C2(2*1),C1(1*2)和B(1*1)中的元组进行预设图像替换,结果如图5所示。
在预设图片替换完成后,还可以对二维码R(M)c区域内的值为0的区域进行色彩喷涂。色彩喷涂采用不同颜色的喷码头,颜色可以是红色,绿色,蓝色等等。因为二维码信息读取时是通过深色区域和浅色区域的色彩的反差值来实现的。因此,进行喷码所采用的颜色需要与预设图片的颜色区分开来,以保证R(M)c区域内的值为0和值为1的区域的色彩达到一定的反差值,从而保证二维码信息的有效读取。
本文中所描述的具体实施例仅仅是对本发明作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

Claims (10)

1.一种生成二维码的方法,其特征在于:包括以下步骤,
(1)确定二维码的功能图形和数据区域R(M)c;
(2)根据R(M)c的黑白像素,将R(M)c分割成像素矩阵,通过图形判定算法将R(M)c中黑像素组成的不同的规则图形计算出来;
(3)将不同的规则图形替换预设图片。
2.根据权利要求1所述的一种生成二维码的方法,其特征在于:步骤(1)具体包括:
1)根据QR二维码编码算法,将需要加密的信息生成二维码图像;
2)根据二维码图像的黑白像素,将二维码图像分割成像素矩阵,通过像素矩阵规生成遮罩位图;
3)根据二维码识别算法,将遮罩位图识别划分为图形R(M)a、R(M)b、R(M)c,其中R(M)a为二维码图像中的位置探测图形,R(M)b为二维码图像中的校正图形,R(M)c为二维码图像中除位置探测图形和校正图形外的所有功能图形和数据区域。
3.根据权利要求1或2所述的一种生成二维码的方法,其特征在于:步骤(2)具体包括:
M1.将R(M)c中的黑色像素赋值为1,白色像素赋值为0;
M2.按照数据存储结构顺序遍历以获取黑色像素区域大小分别为1*1,1*2,2*1,2*2,1*3,3*1,2*3,3*2和3*3的各数列。
4.根据权利要求3所述的一种生成二维码的方法,其特征在于:步骤M2具体包括:
N1.遍历R(M)c,将R(M)c中各元素的值以及位置信息存储在数列A中;
N2.遍历数列A,形成1*1黑色像素区域的元组,将所述元组存储在数列B中;
N3.遍历数列B,获取以数列B中元组为起始点,并形成1*2黑色像素区域的元组,将所述元组存储在数列C1中;获取以数列B中元组为起始点,并形成2*1黑色像素区域的元组,将所述元组存储在数列C2中;
N4.遍历数列C1和数列C2的交集数列C3,获取以数列C3中元组为起始点,并形成2*2黑色像素区域的元组,将所述元组存储在数列D中;
N5.遍历数列C1,获取以数列C1中元组为起始点,并形成1*3黑色像素区域的元组,将所述元组存储在数列E1中;
N6.遍历数列C2,获取以数列C2中元组为起始点,并形成3*1黑色像素区域的元组,将所述元组存储在数列E2中;
N7.遍历数列E1和数列D的交集数列F1,获取以数列F1中元组为起始点,并形成2*3黑色像素区域的元组,将所述元组存储在数列G1中;
N8.遍历数列E2和数列D的交集数列F2,获取以数列F2中元组为起始点,并形成3*2黑色像素区域的元组,将所述元组存储在数列G2中;
N9.遍历数列G1和数列G2的交数列G3,获取以数列G3中元组为起始点,并形成1*2黑色像素区域的元组,将所述元组存储在数列H中。
5.根据权利要求4所述的一种生成二维码的方法,其特征在于:当遍历以左上角(m,n)为起始点时,步骤M2具体包括:
L1.遍历数列A,如果值为1,将值为1的所有元组取出生成新的数列B,其中,数列B代表R(M)c中所有大小为1*1的黑色区域标记点;
L2.遍历数列B,并判断数列B中B(m,n)的下方B(m,n+1)和右边B(m+1,n)是否值为1,将下方值为1的所有元组生成新的数列C1,将右边值为1的所有元组生成新的数列C2,其中,数列C1代表R(M)c中所有大小为1*2的黑色区域标记点,数列C2代表R(M)c中所有大小为2*1的黑色区域标记点;
L3.判断C3(m,n)到C3(m+1,n+1)范围内的元组值是否为1;如果是,将满足条件的元组生成新的数列D,其中,数列D代表R(M)c中所有大小为2*2的黑色区域标记点;
L4.遍历数列C1,并判断数列C1中C1(m,n)的下方C1(m,n+2),将下方值为1的所有元组生成新的数列E1,其中,数列E1代表R(M)c中所有大小为1*3的黑色区域标记点;
L5.遍历数列C2,并判断数列C2中C2(m,n)的右方C2(m+2,n),将右边方值为1的所有元组生成新的数列E2,数列E2代表R(M)c中所有大小为3*1的黑色区域标记点;
L6.判断数列F1(m,n)到F1(m+1,n+2)范围内的元组值是否为1;如果是,将满足条件的元组生成数列G1,其中,数列G1代表R(M)b中所有大小为2*3的黑色区域标记点;
L7.判断数列F2(m,n)到F2(m+2,n+1)范围内的元组值是否为1;如果是,将满足条件的元组生成数列G2,其中,数列G2代表R(M)c中所有大小为3*2的黑色区域标记点;
L8.判断数列G3(m,n)到G3(m+2,n+2)范围内的元组值是否为1;如果是,将满足条件的元组生成数列H,其中,数列H代表R(M)c中所有大小为3*3的黑色区域标记点。
6.根据权利要求4或5所述的一种生成二维码的方法,其特征在于:步骤(2)还包括,根据面积和方向,对数列B、数列C1、数列C2、数列D、数列E1、数列E2、数列G1、数列G2及数列H中的黑色区域标记点确定权重。
7.根据权利要求4所述的一种生成二维码的方法,其特征在于:黑色区域标记点的权重=面积*10+方向*1,其中面积为黑色区域标记点所属数列所代表黑色区域大小的最大值,方向为黑色区域标记点的横向个数与列向个数之差。
8.根据权利要求4或5所述的一种生成二维码的方法,其特征在于:步骤(3)具体包括:
1)在R(M)c区域内,按照权重给数列中的黑色区域标记点替换预先设定好的图片,权重低的数列在使用前需遍历比其权重高的数列,判定黑色区域标记点是否已使用过;
2)在R(M)a区域内,根据步骤(1)获得的类型版本信息计算出位置探测图形的位置和大小,并根据计算结果替换预设图片;
3)在R(M)b区域内,根据步骤(1)获得的类型版本信息计算出校正图形的位置和大小,并根据计算结果替换预设图片。
9.根据权利要求6所述的一种生成二维码的方法,其特征在于:所述预设图片存储于图像数据库中,包括若干套不同主题的预设图片,每套预设图片包括至少一张与所替换区域大小相同的预设图片。
10.根据权利要求6所述的一种生成二维码的方法,其特征在于:还包括对二维码R(M)c区域内的值为0的区域进行色彩喷涂。
CN201610986123.6A 2016-11-09 2016-11-09 一种生成二维码的方法 Active CN106570550B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610986123.6A CN106570550B (zh) 2016-11-09 2016-11-09 一种生成二维码的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610986123.6A CN106570550B (zh) 2016-11-09 2016-11-09 一种生成二维码的方法

Publications (2)

Publication Number Publication Date
CN106570550A true CN106570550A (zh) 2017-04-19
CN106570550B CN106570550B (zh) 2019-10-29

Family

ID=58540694

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610986123.6A Active CN106570550B (zh) 2016-11-09 2016-11-09 一种生成二维码的方法

Country Status (1)

Country Link
CN (1) CN106570550B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111259177A (zh) * 2020-01-10 2020-06-09 深圳盒子信息科技有限公司 一种黑白二值签名图片存储方法和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150199600A1 (en) * 2014-01-15 2015-07-16 National Taiwan University Beautifying method for quick response code and apparatus thereof
CN104850814A (zh) * 2015-05-14 2015-08-19 上海交通大学 融合二维码的图像优化处理方法
CN105069497A (zh) * 2015-07-27 2015-11-18 南京风力舰信息技术有限公司 一种生成美化的二维码的方法
CN105117760A (zh) * 2015-09-15 2015-12-02 牛建伟 一种将二维码与彩色图片融合生成彩色图片二维码的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150199600A1 (en) * 2014-01-15 2015-07-16 National Taiwan University Beautifying method for quick response code and apparatus thereof
CN104850814A (zh) * 2015-05-14 2015-08-19 上海交通大学 融合二维码的图像优化处理方法
CN105069497A (zh) * 2015-07-27 2015-11-18 南京风力舰信息技术有限公司 一种生成美化的二维码的方法
CN105117760A (zh) * 2015-09-15 2015-12-02 牛建伟 一种将二维码与彩色图片融合生成彩色图片二维码的方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111259177A (zh) * 2020-01-10 2020-06-09 深圳盒子信息科技有限公司 一种黑白二值签名图片存储方法和系统

Also Published As

Publication number Publication date
CN106570550B (zh) 2019-10-29

Similar Documents

Publication Publication Date Title
US10902229B2 (en) Systems and methods for generating and reading intrinsic matrixed bar codes
ES2341607T3 (es) Metodo y dispositivo de codificacion y descodificacion.
CN105069497B (zh) 一种生成美化的二维码的方法
EP2091007B1 (en) Two-dimension code, decoding method thereof and printing publication for applying two-dimension code
EP2937820B1 (en) Method of producing an information code, information code and information code reader
US20160321529A1 (en) Producing, capturing and using visual identification tags for moving objects
EP2677472B1 (en) Two-dimensional code having rectangular region provided with specific patterns to specify cell positions and distinction from background
US10885411B2 (en) Machine-readable image encoding data
US20090310185A1 (en) Credential and method and system of making same
WO2007148942A1 (en) Method of classifying colors of color based image code
CN108062781B (zh) 一种视觉码批量生成的系统及其方法
CN104794987A (zh) 二维码防伪标签
CN109934322B (zh) 动态三维码的生成方法、生成装置、识别方法及识别装置
CN110020702A (zh) 一种二维码及其生成方法
CN106570550A (zh) 一种生成二维码的方法
CN105913104A (zh) 书法码生成方法及系统、解析方法及系统以及书法码标签
CN105760912A (zh) 图形信息单元中的信息的编码/解码
CN107247984B (zh) 一种可视化二维码的编码方法
CN109886380B (zh) 图像信息融合方法及系统
CN108376414A (zh) 数字信息转换、还原方法及装置、电子设备和存储介质
CN207441110U (zh) 一种包装体
JP6836861B2 (ja) 画像形成システム、画像データ処理装置、画像データ処理方法、及びプログラム
CN116029325A (zh) 一种图片码的优化方法、装置、电子设备及存储介质
CN114254719A (zh) 一种新型防伪二维码的生成方法及装置
CN110717565A (zh) 一种条形码

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20201029

Address after: 318015 no.2-3167, zone a, Nonggang City, no.2388, Donghuan Avenue, Hongjia street, Jiaojiang District, Taizhou City, Zhejiang Province

Patentee after: Taizhou Jiji Intellectual Property Operation Co.,Ltd.

Address before: 201616 Shanghai city Songjiang District Sixian Road No. 3666

Patentee before: Phicomm (Shanghai) Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211209

Address after: 313000 room 1019, Xintiandi commercial office, Yishan street, Wuxing District, Huzhou, Zhejiang, China

Patentee after: Huzhou YingLie Intellectual Property Operation Co.,Ltd.

Address before: 318015 no.2-3167, area a, nonggangcheng, 2388 Donghuan Avenue, Hongjia street, Jiaojiang District, Taizhou City, Zhejiang Province

Patentee before: Taizhou Jiji Intellectual Property Operation Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220830

Address after: 710000 room 1604, floor 16, unit 1, building 2, Central Plaza, No. 1, Jinye Road, high tech Zone, Xi'an, Shaanxi Province

Patentee after: Xi'an Silk Road Zhixing Technology Service Co.,Ltd.

Address before: 313000 room 1019, Xintiandi commercial office, Yishan street, Wuxing District, Huzhou, Zhejiang, China

Patentee before: Huzhou YingLie Intellectual Property Operation Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220908

Address after: Room 1301-1318, 13th Floor, Block A, Training Building, Ningbo Institute of Technology, No. 89 Cuibai Road, Haishu District, Ningbo City, Zhejiang Province 315016

Patentee after: Ningbo next door Network Technology Co.,Ltd.

Address before: 710000 room 1604, floor 16, unit 1, building 2, Central Plaza, No. 1, Jinye Road, high tech Zone, Xi'an, Shaanxi Province

Patentee before: Xi'an Silk Road Zhixing Technology Service Co.,Ltd.

TR01 Transfer of patent right
CP02 Change in the address of a patent holder

Address after: 315012 6-1-2, Building 1, No. 118, Lane 99, Yongshuiqiao Road, Haishu District, Ningbo City, Zhejiang Province

Patentee after: Ningbo next door Network Technology Co.,Ltd.

Address before: Room 1301-1318, 13th Floor, Block A, Training Building, Ningbo Institute of Technology, No. 89 Cuibai Road, Haishu District, Ningbo City, Zhejiang Province 315016

Patentee before: Ningbo next door Network Technology Co.,Ltd.

CP02 Change in the address of a patent holder