CN114254719B - 一种防伪二维码的生成方法及装置 - Google Patents
一种防伪二维码的生成方法及装置 Download PDFInfo
- Publication number
- CN114254719B CN114254719B CN202111566313.XA CN202111566313A CN114254719B CN 114254719 B CN114254719 B CN 114254719B CN 202111566313 A CN202111566313 A CN 202111566313A CN 114254719 B CN114254719 B CN 114254719B
- Authority
- CN
- China
- Prior art keywords
- counterfeiting
- data
- dimensional code
- data segment
- hidden
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record 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/06009—Record 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/06037—Record 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1408—Methods for optical code recognition the method being specifically adapted for the type of code
- G06K7/1417—2D bar codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/018—Certifying business or products
- G06Q30/0185—Product, service or business identity fraud
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/0021—Image watermarking
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Finance (AREA)
- Entrepreneurship & Innovation (AREA)
- Strategic Management (AREA)
- Accounting & Taxation (AREA)
- Health & Medical Sciences (AREA)
- Electromagnetism (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
本发明公开一种防伪二维码的生成方法及装置,涉及二维码技术领域。该防伪二维码的生成方法包括在原二维码数据块的终止符后编入隐藏数据构建新的二维码数据块,其中,隐藏数据包括防伪手段对应的编码数据;根据新的二维码数据块生成二维码。本发明通过在原二维码数据块的终止符后编入隐藏数据构建新的二维码数据块,而使用这种隐藏信息编入方案有两个好处,一是可以兼容市面上的所有扫描程序、设备,常规程序、设备都可以读取出非隐藏的数据,这种方式对消费者非常友好;二是可以充分利用二维码的纠错能力,由于二维码的纠错方案是对所有数据进行纠错处理的,所以隐藏信息也能获得纠错能力。
Description
技术领域
本发明涉及二维码技术领域,尤其涉及一种防伪二维码的生成方法及装置。
背景技术
市面上基于QR CODE(二维码)防伪方法主要有两种:一种是对QR CODE的外观进行修改,比如将黑白的QR CODE改为彩色的,又比如将码元黑色小方块调整为圆角矩形块;另外一种是更改QR CODE的编码规则,配合专门的程序、装置才能解析出具体信息;第一种防伪方法的兼容性会变差,比如黑色的方块变成红色会无法兼容红色扫描枪;第二种防伪手段对消费者端很不友好,比如需要安装特定程序,或者需要使用特定的装置。
发明内容
针对现有技术存在的不足,本发明的目的是提供一种防伪二维码的生成方法及装置,至少用于解决其中一个技术问题。
根据本发明的第一个方面,提供了防伪二维码的生成方法,包括:
在原二维码数据块的终止符后编入隐藏数据构建新的二维码数据块,其中,隐藏数据包括防伪手段对应的编码数据;
根据新的二维码数据块生成二维码。
本发明的防伪二维码的生成方法,通过在原二维码数据块的终止符后编入隐藏数据构建新的二维码数据块,而使用这种隐藏信息编入方案有两个好处,一是可以兼容市面上的所有扫描程序、设备,常规程序、设备都可以读取出非隐藏的数据,这种方式对消费者非常友好;二是可以充分利用二维码的纠错能力,由于二维码的纠错方案是对所有数据进行纠错处理的,所以隐藏信息也能获得纠错能力。
在一些实施方式中,在原二维码数据块的终止符后编入隐藏数据构建新的二维码数据块包括:
将每一种所述防伪手段分配一个编号构建防伪手段数据段;
将防伪手段对应的编码数据构建防伪数据段;
将防伪手段数据段的编码数据和防伪数据段中的编码数据计算结果构建循环冗余校验数据段,或将原二维码数据块对应的编码数据、防伪手段数据段的编码数据和防伪数据段中的编码数据计算结果构建循环冗余校验数据段;
其中,防伪手段数据段、防伪数据段和循环冗余校验数据段构成隐藏数据。
在一些实施方式中,将防伪手段对应的编码数据构建防伪数据段包括:
将二维码矩阵分割为n×n个区域;
随机选取颜色将不同分割区域内的黑色码元替换成选取的颜色,并使相邻分割区域内的颜色不同,其中,随机选取颜色为在CMYK:20,60,80,60、 CMYK:60,80,0,40、CMYK:80,40,100,40、CMYK:40,20,40,60、 CMYK:100,20,0,20、CMYK:100,20,0,20中选取;
根据颜色分布构建编码数据。
在一些实施方式中,将防伪手段对应的编码数据构建防伪数据段包括:
使用CMYK:100,100,100,0油墨来生成第一层常规二维码;
使用CMYK:0,0,0,100油墨来生成隐藏图案,并叠加在第一层常规二维码上;
根据隐藏图案的内容和隐藏图案分布在二维码矩阵的行列位置构建编码数据。
在一些实施方式中,将防伪手段对应的编码数据构建防伪数据段包括:
根据二维码的实际内容进行加密计算得到一串无序的字符;
将无序的字符叠加在二维码矩阵上;
根据无序的字符构建编码数据。
根据本发明的第二个方面,提供一种防伪二维码的生成装置,该防伪二维码的生成装置用于实现上述方法,该防伪二维码的生成装置包括数据块构建模块和二维码生成模块;
数据块构建模块在原二维码数据块的终止符后编入隐藏数据构建新的二维码数据块,其中,隐藏数据包括防伪手段对应的编码数据;
二维码生成模块根据新的二维码数据块生成二维码。
在一些实施方式中,数据块构建模块包括防伪手段数据段构建模块、防伪数据段构建模块和循环冗余校验数据段构建模块;
防伪手段数据段构建模块将每一种所述防伪手段分配一个编号构建防伪手段数据段;
防伪数据段构建模块将防伪手段对应的编码数据构建防伪数据段;
循环冗余校验数据段构建模块将防伪手段数据段的编码数据和防伪数据段中的编码数据计算结果构建循环冗余校验数据段,或将原二维码数据块对应的编码数据、防伪手段数据段的编码数据和防伪数据段中的编码数据计算结果构建循环冗余校验数据段;
其中,防伪手段数据段、防伪数据段和循环冗余校验数据段构成隐藏数据。
在一些实施方式中,防伪数据段构建模块将防伪手段对应的编码数据构建防伪数据段包括:
将二维码矩阵分割为n×n个区域;
随机选取颜色将不同分割区域内的黑色码元替换成选取的颜色,并使相邻分割区域内的颜色不同,其中,随机选取颜色为在CMYK:20,60,80,60、 CMYK:60,80,0,40、CMYK:80,40,100,40、CMYK:40,20,40,60、 CMYK:100,20,0,20、CMYK:100,20,0,20中选取;
根据颜色分布构建编码数据。
在一些实施方式中,防伪数据段构建模块将防伪手段对应的编码数据构建防伪数据段包括:
使用CMYK:100,100,100,0油墨来生成第一层常规二维码;
使用CMYK:0,0,0,100油墨来生成隐藏图案,并叠加在所述第一层常规二维码上;
根据隐藏图案的内容和隐藏图案分布在二维码矩阵的行列位置构建编码数据。
在一些实施方式中,防伪数据段构建模块将防伪手段对应的编码数据构建防伪数据段包括:
根据二维码的实际内容进行加密计算得到一串无序的字符;
将无序的字符叠加在二维码矩阵上;
根据无序的字符构建编码数据。
与现有技术相比,本发明的防伪二维码的生成方法及装置,通过在原二维码数据块的终止符后编入隐藏数据构建新的二维码数据块,而使用这种隐藏信息编入方案有两个好处,一是可以兼容市面上的所有扫描程序、设备,常规程序、设备都可以读取出非隐藏的数据,这种方式对消费者非常友好;二是可以充分利用二维码的纠错能力,由于二维码的纠错方案是对所有数据进行纠错处理的,所以隐藏信息也能获得纠错能力。
附图说明
图1为本发明一实施方式的防伪二维码的生成方法的流程图;
图2为本发明一实施方式的常规数据编入隐藏数据构建新的二维码数据块示意图;
图3为本发明一实施方式的在原二维码数据块的终止符后编入隐藏数据构建新的二维码数据块的流程图;
图4为本发明一实施方式的mode的示例图;
图5为本发明一实施方式的二维码矩阵分割示意图;
图6为本发明一实施方式的二维码矩阵分割区域颜色替换示意图;
图7为本发明另一实施方式的隐形图案防伪手段示意图;
图8为本发明另一实施方式的字母A示意图;
图9为本发明另一实施方式的BSN位置示意图;
图10为本发明另一实施方式的隐形图案鉴定过程图片示意图;
图11为本发明另一实施方式的二维码的“回”字型的中心示意图;
图12为本发明另一实施方式的畸变图像矫正前后的效果示意图;
图13为本发明另一实施方式的隐形图案防伪手段解码后的示意图;
图14为本发明另一实施方式的微缩字符防伪手段示意图;
图15为本发明另一实施方式的防伪二维码的生成装置结构示意图。
附图标号说明:数据块构建模块100,防伪手段数据段构建模块101,防伪数据段构建模块102,循环冗余校验数据段构建模块103,二维码生成模块200。
具体实施方式
下面结合附图对本发明作进一步详细的说明。
根据本发明的第一个方面,图1示意性地显示了根据本发明的一种实施方式的防伪二维码的生成方法。如图1所示,该防伪二维码的生成方法包括:
S100:在原二维码数据块的终止符后编入隐藏数据构建新的二维码数据块,其中,隐藏数据包括防伪手段对应的编码数据;
其中,隐藏信息编入方案为:在原有的二维码的数据块(即常规数据,其中,常规数据包括类型数据段、数据段和终止符,采用“终止符/Terminator”, 表示数据流的结束)终止符后再追加数据,如图2所示。
如图3所示,该步骤S100:在原二维码数据块的终止符后编入隐藏数据构建新的二维码数据块具体为:
S101:将每一种所述防伪手段分配一个编号构建防伪手段数据段;
其中,构建防伪手段数据段具体为:为每一种防伪手段分配一个编号 (记为mode),当防伪手段编号的数值小于128(2的7次方)时,mode数据段采用1个字节(8比特),其中第一个比特位0,剩余7比特用来存储mode的数值;当mode的数值大于等于128(2的7次方),并且小于16384(2的14 次方)时,采用2个字节(16比特),其中第一个比特位(即第1个字节的第一个比特)是1,第九个比特位(即第2个字节的第一个比特)是0,其他14 比特用来储存mode的数值;当mode的数值大于等于16384(2的14次方),并且小于2097152(2的21次方)时,采用3个字节(24比特),其中第一个比特位(即第1个字节的第一个比特)是1,第九个比特位(即第2个字节的第一个比特)是1,第十七个比特位(即第3个字节的第一个比特)是0, 其他21比特用来储存mode的数值。通常,3个字节(24比特)已经足够使用,对应的mode图如图4所示,如果mode取值更大,按照这种方式,还能继续扩展。
mode读取方法为:读取隐藏数据时,先读取一个字节(8比特),该字节的第一个比特是0时,表示不用继续读下去;该字节的第一个比特是1 时,表示还得继续读取下一个字节(8比特),当新读取出来的字节的第一个比特是1时,将继续读取下一个字节,直到新读取出来的字节的第一个比特是0,才停止。
先读出来的字节是数据中的高位,后读取的字节是数据的低位。比如读取的mode数据为3字节,其二进制数据按读取先后排序为10000011、 1000000、00000001。移除每个字节的第一个比特,该mode的数值的实际二进制为0000011,000000,00000001,该mode的数值十进制为49153。
mode值示例为:
mode等于1时,其数据二进制为:00000001;
mode等于2时,其数据二进制为:00000010;
mode等于3时,其数据二进制为:00000011;
mode等于127时,其数据二进制为:01111111;
mode等于128时,其数据二进制为:1000000100000000;
mode等于129时,其数据二进制为:1000000100000001;
mode等于16383时,数据二进制为:1111111101111111;
mode等于16384时,其数据二进制为:100000011000000000000000;
mode等于16385时,其数据二进制为:100000011000000000000001;
mode等于2097151时,数据二进制为:111111111111111101111111。
S102:将防伪手段对应的编码数据构建防伪数据段;
其中,为了更好的理解,本实施方式以举例的方式进行说明,该说明并不是对发明的限制,本实施方式采用彩色防伪手段,将防伪手段对应的编码数据构建防伪数据段包括:
将二维码矩阵分割为m×m个区域,其中,m大于等于2,在本实施方式中以3×3举例,分割时,若二维码矩阵的行列n不是3的倍数,当n除以3余数2时,比如n=41时,如图5所示,第二行的高度为13,比第一、三行高度少1,第二列的宽度为13,比第一、三列少1;当n除以3余数1 时,第二行的高度比第一、三行多1,第二列的宽度比第一、三列多1。
随机选取颜色将不同分割区域内的黑色码元替换成选取的颜色,并使相邻分割区域内的颜色不同,其中,随机选取颜色为在CMYK:20,60,80,60、 CMYK:60,80,0,40、CMYK:80,40,100,40、CMYK:40,20,40,60、 CMYK:100,20,0,20、CMYK:100,20,0,20(注:CMYK是印刷色彩体系,0表示不使用对应色彩,100表示对应色彩的最高浓度)中选取,这9个区域,相邻色彩不相同,通常而言,6种颜色根据排列组合可以构成6×5×5×5 ×4×4×5×4×4=960000种变化,能够形成一定强度的防伪能力。
根据颜色分布构建编码数据,其中,防伪数据段(即data数据段):一种颜色最多只需要4个字节(32个比特)就可以表示出来,则这种方式的防伪数据最多只需要占用4×3×3=36个字节,如图6所示,data数据段按照从图像从左到右,自上而下的方式时,数据段为:80,40,100,40,60,80,0,40, 20,60,80,60,60,80,0,40,20,60,80,60,40,20,40,60,20,60,80,60, 60,80,0,40,100,100,0,0。
实际使用中,可以对data数据段进行适当进行压缩,比如的,用序号 1、2、3、4、5、6表示上述6种颜色,则只要能表述数值960000(6×5×5 ×5×4×4×5×4×4=960000种变化),就可以存储完整的防伪数据,由于 2的20次方等于1048576,且1048576大于960000,所以,使用20个比特就可以存储这种防伪数据。
防伪流程:
①云端服务器生成QR CODE防伪码,QR CODE防伪码的常规数据为一个网址,隐藏数据为上述的3×3九宫格彩色方案,云端服务器会记录每个QR CODE防伪码的常规数据与隐藏数据。
②将QR CODE防伪码应用到各类商品,并投放到市场。
③消费者扫描QR CODE防伪码后,打开云端网页中有一个QR CODE 防伪码图案,消费者通过自行比较商品上的QR CODE防伪码与网页中的 QR CODE防伪码的3×3九宫格彩色是否一一匹配,来鉴定真伪。
④每次消费者扫描QR CODE防伪码,打开云端网页时,云端服务器都会记录改QRCODE防伪码的扫描次数,当某个QR CODE防伪码的扫描次数超过某个阈值(比如20)时,网页中应该提示该商品与防伪码存在仿造风险。
该防伪手段的优点为:这6种颜色转为RGB颜色体系时,亮度都会比较低,对于二维码的二值化(QR Code图像转为纯黑与纯白两种色彩)很友好,因此能很好的兼容大部分识别程序。这6种颜色并未有纯红色与纯绿色,可以很好的兼容红光、绿光的扫描枪。实际实施时,可以根据需要选择更多种颜色,可以提高防伪能力。也可以更换部分颜色规避部分地区的禁忌色彩。
S103:将防伪手段数据段的编码数据和防伪数据段中的编码数据计算结果构建循环冗余校验数据段;或将原二维码数据块对应的编码数据、防伪手段数据段的编码数据和防伪数据段中的编码数据计算结果构建循环冗余校验数据段;其中,这里采用8比特循环冗余校验(Cyclic Redundancy Check,CRC),具体做法可以是对除开CRC数据段外的全部qrcode数据做循环冗余校验,也可以是对mode数据段+data数据段做循环冗余校验。 8比特CRC不是固定的,可根据需要采用16比特、32比特,比特数更多的CRC可以更好的防止数据被篡改(CRC为常见的防止数据被篡改的技术编码方案,不累赘阐述);其中,防伪手段数据段、防伪数据段和循环冗余校验数据段构成隐藏数据。
S200:根据新的二维码数据块生成二维码。
发明人构思设计一种基于二维码的防伪方法,它使用二维码编码规则,编入一些隐藏信息,这些隐藏信息主要用于搭配多种防伪手段,不同的防伪手段用于针对不同的使用场合。使用这种隐藏信息编入方案有2个好处,①可以兼容市面上的所有扫描程序、设备,常规程序、设备都可以读取出非隐藏的数据,比如一个URL(网址),这种方式对消费者非常友好,普通消费者可以用市面上任意扫码程序、设备都可以识别明面上的信息,比如一个URL;②可以充分利用二维码的纠错能力,由于二维码的纠错方案是对所有数据进行纠错处理的,所以隐藏信息也能获得纠错能力。
在其他实施例中,防伪手段为隐形图案,该防伪手段使用两种不同的黑色来生成二维码,该防伪手段利用了光学原理:不同油墨对光线的吸收存在差异,将防伪手段对应的编码数据构建防伪数据段包括:
使用CMYK:100,100,100,0油墨来生成第一层常规二维码,如图7所示 (具体为图6的左侧),这种黑色是有100%的CMY三色混合出来的近似黑色。这种混合油墨具有吸收可见光,但不吸收红外光的特点。
为了更好的理解,本实施方式以字母(BSN)为例进行说明,该说明不是对本申请的限制,使用CMYK:0,0,0,100油墨来生成隐藏图案(具体为图6的中间),并叠加在第一层常规二维码上,如图6中的右侧所示,其中,这种油墨具有吸收可见光与红外光的特点,成像如图6中的右侧所示,而在红外光成像时,由于第一层油墨不吸收红外光,第二层油墨吸收红外光(考虑到紫外光的安全性较低,所以油墨与下述的设备,都是针对红外光设计),则会显示出黑色的BSN这三个字母(具体为图6的中间)。由于这种方法会一定程度上损坏QR CODE的数据,应该尽可能选择高一些的纠错级别,不建议选择L级(7%左右的纠错能力)。
根据隐藏图案的内容和隐藏图案分布在二维码矩阵的行列位置构建编码数据,其中,这是专门设计的字体,每个字母的高度为5个码点,如图8 所示的字母A(专用字体示例:字母A,高度5,宽度3),宽度是跟随字母的需要进行设计的,比如小写l的宽度只要1个码点,而w的宽度需要5 个码点,字母间隔为2个码点。
data数据段:
隐形图案可以是前面提及的专门定制的字体,也可以是特定的图案。若把隐藏图形对应的信息,如“BSN”编入到隐藏数据里,在红外光成像时,则可以验证隐藏图案跟隐藏信息是否匹配。
data数据区可以描述在那一行哪一列嵌入隐形图案,如下图中的防伪码,我们用1个字节来表述字母个数;在第14列第18行嵌入了BSN三个字母,由于BSN三个字母是从左到右紧挨着排列,我们只需要用2个字节表述BSN的起始列与行,就足够表述BSN三个字母的所在位置;再用3 个字节描述隐形图案为B、S、N这三个字母。此时,data数据为:“3、 14、18、66、83、78”,其中,“3”表示有3个字母,“14”与“18”表示BSN三个字母的起始位置为第14列第18行,“66、83、78”分别为 BSN三个字母的ASCII编码表中的值。
这类防伪手段的data数据可以有多种格式(不同的数据格式,应该采用不同的mode来区别)。我们额外举例:如下图中的防伪码,我们将隐形图案中的“BSN”认为为是一幅图形,而不是3个字母,因而采用点阵来描述“BSN”,图形中每一个“黑点”使用2个字节来描述该黑点所在的列与行。“B”有11个黑点,“S”有7个黑点,“N”有14个黑点,我们可以使用(11+7+14)×2=64个字节来描述BSN这个图案,为了防止数据溢出,我们用2个字节来说明“黑点”的数据长度。
如图9所示,data数据为:“0、64;【(14、18)、(15、18)、(14、19)、 (16、19)、(14、20)、(15、20)、(16、20)、(14、21)、(16、21)、(14、22)、 (15、22)】、【(20、18)、(21、18)、(19、19)、(20、20)、(21、 21)、(19、22)、(20、22)】、【(24、18)、(27、18)、(24、 19)、(25、19)、(27、19)、(24、20)、(25、20)、(26、20)、 (27、20)、(24、21)、(26、21)、(27、21)、(24、22)、(27、 22)】”(为方便查看,一个黑点使用一组圆括号包裹起来,一组方括号则表示由黑点构成的一个字母)。
其中“0、64”是Big endian(高位在前,低位在后)的16比特长的数值,表示有“黑点”由64个字节来表述;
“【(14、18)、(15、18)、(14、19)、(16、19)、(14、20)、(15、20)、 (16、20)、(14、21)、(16、21)、(14、22)、(15、22)】”表示BSN中“B”的11个点。
“【(20、18)、(21、18)、(19、19)、(20、20)、(21、21)、 (19、22)、(20、22)】表示BSN中“S”的7个点”。
“【(24、18)、(27、18)、(24、19)、(25、19)、(27、19)、 (24、20)、(25、20)、(26、20)、(27、20)、(24、21)、(26、 21)、(27、21)、(24、22)、(27、22)】”表示BSN中“N”的 14个点。
此外,当要描述的图案比较复杂,需要比较多的字节来描述黑点时,可以使用一些压缩算法(比如LZW)来压缩数据,市面上有大量的数据压缩算法,这里不做累赘阐述。
鉴定方案:
这种防伪手段,需要采用特殊的装置,该装置具有以下特点:A、固定焦距镜头、B、固定物距,C、隔绝外部光源,D、镜头不会过滤红外光,E、该装置能能控制发出自然光还是红外光。
进行防伪检查时,先控制镜头发出自然光对准二维码(如图10左侧所示),拍照第一张图像(成像如图9右侧所示),并识别出二维码所在位置,然后再控制镜头发出红外光,拍摄第二张图像(成像如图9中间所示)。
二维码做图像矫正时,是采取3个“回”字型的中心作为图像矫正参考点,如图11中左侧二维码(其中,为了便于看出“回”字中心,对“回”字中心作了挖孔处理,应当理解“回”字中心不是白色的),左上“回”字中心记为α,右上“回”字中心为β、左下“回”字中心为γ,通过αβγ可以计算出右下角的第四个点δ(δ=β+γ-α)。通过α、β、γ、δ这4个点,可以使用“透视变换”算法对图像进行矫正,从而得到原始二维码,如图10中右侧所示。得到原始二维码时,即解码获得二维码的数据(注:“透视变换”是一种常用的图形矫正算法)。
利用第一张图像的4个获得图像矫正参考点α、β、γ、δ,由于该装置采用的是固定焦距以及固定物距的镜头,我们可以认为,第二张在拍摄时,其图像的位置跟第一张是一致的,那么可以利用第一张图像α、β、γ、δ对第二张图像进行图形矫正。如图12所示,左侧是第二张图形(畸变图像),右侧是图形矫正后的效果。
通过对第一张图像的解码,可以得知该防伪码使用了隐形防伪图像,并且在某个位置存在某种图案,如图13所示,解码后可以知道在在第十四行第十八列存在BSN三个字母。对第二张图像进行图形矫正后,分析十四行第十八列是否存在BSN三个字母,即可自动完成校验。
在其他实施例中,防伪手段为微缩字符,如图14所示,将防伪手段对应的编码数据构建防伪数据段包括:
根据二维码的实际内容进行加密计算得到一串无序的字符,这串字符通常是根据二维码的实际内容(如一个URL),进行特殊的加密计算得到的结果。
将无序的字符叠加在二维码矩阵上,具体是在QR CODE中间偏下(左下角角“回”字型上方)的位置,叠加一串无序的字符,为了减低视觉混淆,字符串中不包含”0”、”1”、”I”、”O”,字母的笔画粗细控制在 0.03mm到0.07mm之间,字体高度约为0.4mm到0.7mm之间。
根据无序的字符构建编码数据。要实现这种方案需要打印机DPI高于 600,否则笔画不清晰,这是需要较高精度的印刷设备;消费者在使用手机相机(放大两倍)时,可以清晰看到这串字符,不需要借助用到专用的程序或者设备,就可以自行辨别真伪。这种防伪方式,通常二维码存储的是一个URL,销售人员应该对消费者进行一定防伪鉴定引导,告诉消费者使用手机扫描该二维码后,会打开某个域名下的专用防伪查询网站,网页中会显示一个防伪字符串,消费者使用二倍放大的相机看到的防伪字符串跟网页中的防伪字符串一致,则表示真品,否则是伪造品。
在其他实施例中,将上述防伪手段中的至少两种进行结合,对应的对该组合方式进行分配一个编号构建防伪手段数据段,再将防伪手段对应的编码数据构建防伪数据段。
本发明提供了多种防伪手段,可根据不同的情况去选择合适的防伪手段,比如第一种彩色二维码手段可以适配不同的扫描枪,可以投放产品到不同地区时,选用不引起该地区反感的颜色;又如第二种隐形图案手段具有高隐蔽性;又如第三种微缩字,对消费者非常友好,不需要安装特定的应用程序或者使用特制的设备。而这种可以根据不同情况去选择合适防伪手段的方法,具有很高的扩展性,未来可以根据需要融入其他防伪方法,这是很多同手段设计很难做到的。
根据本发明的第二个方面,图15示意性地显示了根据本发明的一种实施方式的防伪二维码的生成装置,该防伪二维码的生成装置用于实现上述的防伪二维码的生成方法,包括数据块构建模块100和二维码生成模块 200;
数据块构建模块100在原二维码数据块的终止符后编入隐藏数据构建新的二维码数据块,其中,隐藏数据包括防伪手段对应的编码数据;
二维码生成模块200根据新的二维码数据块生成二维码。
数据块构建模块100包括防伪手段数据段构建模块101、防伪数据段构建模块102和循环冗余校验数据段构建模块103;
防伪手段数据段构建模块101将每一种所述防伪手段分配一个编号构建防伪手段数据段。
防伪数据段构建模块102将防伪手段对应的编码数据构建防伪数据段,其中,防伪数据段构建模块102将防伪手段对应的编码数据构建防伪数据段包括:
将二维码矩阵分割为n×n个区域;
随机选取颜色将不同分割区域内的黑色码元替换成选取的颜色,并使相邻分割区域内的颜色不同,其中,随机选取颜色为在CMYK:20,60,80,60、 CMYK:60,80,0,40、CMYK:80,40,100,40、CMYK:40,20,40,60、 CMYK:100,20,0,20、CMYK:100,20,0,20中选取;
根据颜色分布构建编码数据。
循环冗余校验数据段构建模块103将防伪手段数据段的编码数据和防伪数据段中的编码数据计算结果构建循环冗余校验数据段;或将原二维码数据块对应的编码数据、防伪手段数据段的编码数据和防伪数据段中的编码数据计算结果构建循环冗余校验数据段;其中,防伪手段数据段、防伪数据段和循环冗余校验数据段构成隐藏数据。
在其他实施例中,防伪数据段构建模块102将防伪手段对应的编码数据构建防伪数据段包括:
使用CMYK:100,100,100,0油墨来生成第一层常规二维码;
使用CMYK:0,0,0,100油墨来生成隐藏图案,并叠加在所述第一层常规二维码上;
根据隐藏图案的内容和隐藏图案分布在二维码矩阵的行列位置构建编码数据。
在其他实施例中,防伪数据段构建模块102将防伪手段对应的编码数据构建防伪数据段包括:
根据二维码的实际内容进行加密计算得到一串无序的字符;
将无序的字符叠加在二维码矩阵上;
根据无序的字符构建编码数据。
以上所述的仅是本发明的一些实施方式。对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
Claims (4)
1.一种防伪二维码的生成方法,其特征在于,包括:
在原二维码数据块的终止符后编入隐藏数据构建新的二维码数据块,其中,所述隐藏数据包括防伪手段对应的编码数据;包括:将每一种所述防伪手段分配一个编号构建防伪手段数据段;
将所述防伪手段对应的编码数据构建防伪数据段;将所述防伪手段对应的编码数据构建防伪数据段包括:
将二维码矩阵分割为n×n个区域;
随机选取颜色将不同分割区域内的黑色码元替换成选取的颜色,并使相邻所述分割区域内的颜色不同,其中,所述随机选取颜色为在CMYK:20,60,80,60、CMYK:60,80,0,40、CMYK:80,40,100,40、CMYK:40,20,40,60、CMYK:100,20,0,20、CMYK:100,20,0,20中选取;
根据颜色分布构建所述编码数据;防伪数据段按照图像从左到右,自上而下的方式;或
使用CMYK:100,100,100,0油墨来生成第一层常规二维码;
使用CMYK:0,0,0,100油墨来生成隐藏图案,并叠加在所述第一层常规二维码上;
根据所述隐藏图案的内容和所述隐藏图案分布在二维码矩阵的行列位置构建所述编码数据;
将所述防伪手段数据段的编码数据和所述防伪数据段中的编码数据计算结果构建循环冗余校验数据段;或将所述原二维码数据块对应的编码数据、所述防伪手段数据段的编码数据和所述防伪数据段中的编码数据计算结果构建循环冗余校验数据段;
其中,所述防伪手段数据段、所述防伪数据段和所述循环冗余校验数据段构成所述隐藏数据;
根据所述新的二维码数据块生成二维码。
2.根据权利要求1所述的防伪二维码的生成方法,其特征在于,将所述防伪手段对应的编码数据构建防伪数据段包括:
根据二维码的实际内容进行加密计算得到一串无序的字符;
将所述无序的字符叠加在二维码矩阵上;
根据所述无序的字符构建所述编码数据。
3.一种防伪二维码的生成装置,其特征在于,包括:
数据块构建模块,所述数据块构建模块在原二维码数据块的终止符后编入隐藏数据构建新的二维码数据块,其中,所述隐藏数据包括防伪手段对应的编码数据;所述数据块构建模块包括:
防伪手段数据段构建模块,所述防伪手段数据段构建模块将每一种所述防伪手段分配一个编号构建防伪手段数据段;
防伪数据段构建模块,所述防伪数据段构建模块将所述防伪手段对应的编码数据构建防伪数据段;所述防伪数据段构建模块将所述防伪手段对应的编码数据构建防伪数据段包括:
将二维码矩阵分割为n×n个区域;
随机选取颜色将不同分割区域内的黑色码元替换成选取的颜色,并使相邻所述分割区域内的颜色不同,其中,所述随机选取颜色为在CMYK:20,60,80,60、CMYK:60,80,0,40、CMYK:80,40,100,40、CMYK:40,20,40,60、CMYK:100,20,0,20、CMYK:100,20,0,20中选取;
根据颜色分布构建所述编码数据;防伪数据段按照图像从左到右,自上而下的方式;或
使用CMYK:100,100,100,0油墨来生成第一层常规二维码;
使用CMYK:0,0,0,100油墨来生成隐藏图案,并叠加在所述第一层常规二维码上;
根据所述隐藏图案的内容和所述隐藏图案分布在二维码矩阵的行列位置构建所述编码数据;
循环冗余校验数据段构建模块,所述循环冗余校验数据段构建模块将所述防伪手段数据段的编码数据和所述防伪数据段中的编码数据计算结果构建循环冗余校验数据段;或将所述原二维码数据块对应的编码数据、所述防伪手段数据段的编码数据和所述防伪数据段中的编码数据计算结果构建循环冗余校验数据段;
其中,所述防伪手段数据段、所述防伪数据段和所述循环冗余校验数据段构成所述隐藏数据;
二维码生成模块,所述二维码生成模块根据所述新的二维码数据块生成二维码。
4.根据权利要求3所述的防伪二维码的生成装置,其特征在于,所述防伪数据段构建模块将所述防伪手段对应的编码数据构建防伪数据段包括:
根据二维码的实际内容进行加密计算得到一串无序的字符;
将所述无序的字符叠加在二维码矩阵上;
根据所述无序的字符构建所述编码数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111566313.XA CN114254719B (zh) | 2021-12-17 | 2021-12-17 | 一种防伪二维码的生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111566313.XA CN114254719B (zh) | 2021-12-17 | 2021-12-17 | 一种防伪二维码的生成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114254719A CN114254719A (zh) | 2022-03-29 |
CN114254719B true CN114254719B (zh) | 2022-11-22 |
Family
ID=80793313
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111566313.XA Active CN114254719B (zh) | 2021-12-17 | 2021-12-17 | 一种防伪二维码的生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114254719B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103049777A (zh) * | 2012-11-15 | 2013-04-17 | 江苏缨思贝睿物联网科技有限公司 | 二维码的安全应用方法及编解码系统 |
CN103400173A (zh) * | 2013-07-25 | 2013-11-20 | 中国科学院信息工程研究所 | 一种含隐私信息的二维码生成及读取方法 |
CN103605950A (zh) * | 2013-11-25 | 2014-02-26 | 广西大学 | 一种可信二维码中签名的隐藏方法及系统 |
CN107992923A (zh) * | 2017-12-22 | 2018-05-04 | 北京中星仝创科技有限公司 | 一种qr二维码生成及读取的方法 |
CN108734048A (zh) * | 2018-05-29 | 2018-11-02 | 西安理工大学 | 基于专有码的多维度二维码生成与译码方法 |
CN109978111A (zh) * | 2019-03-13 | 2019-07-05 | 杭州百伴生物技术有限公司 | 矩阵式二维码、其生成、解码方法及其设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2908203B1 (fr) * | 2006-11-03 | 2009-04-24 | Suanez Patricia Etienne | Procedes et dispositifs d'authentification d'un produit et d'un code bidimensionnel et application nouvelle d'un code bidimensionnel. |
JP5945376B1 (ja) * | 2015-01-13 | 2016-07-05 | A・Tコミュニケーションズ株式会社 | 二次元コード生成装置、二次元コード生成方法、及びプログラム |
JP2019148929A (ja) * | 2018-02-26 | 2019-09-05 | 株式会社オプトエレクトロニクス | 二次元コード、二次元コード出力システム、二次元コード出力方法、二次元コード読取システム、二次元コード読取方法及びプログラム |
CN110536041B (zh) * | 2019-08-27 | 2021-11-16 | 天津大学 | 快速响应编码和cmyk颜色空间多幅彩色图像光学加密方法 |
CN113361673B (zh) * | 2021-01-18 | 2022-07-15 | 南昌航空大学 | 一种基于支持向量机的彩色二维码防伪方法 |
-
2021
- 2021-12-17 CN CN202111566313.XA patent/CN114254719B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103049777A (zh) * | 2012-11-15 | 2013-04-17 | 江苏缨思贝睿物联网科技有限公司 | 二维码的安全应用方法及编解码系统 |
CN103400173A (zh) * | 2013-07-25 | 2013-11-20 | 中国科学院信息工程研究所 | 一种含隐私信息的二维码生成及读取方法 |
CN103605950A (zh) * | 2013-11-25 | 2014-02-26 | 广西大学 | 一种可信二维码中签名的隐藏方法及系统 |
CN107992923A (zh) * | 2017-12-22 | 2018-05-04 | 北京中星仝创科技有限公司 | 一种qr二维码生成及读取的方法 |
CN108734048A (zh) * | 2018-05-29 | 2018-11-02 | 西安理工大学 | 基于专有码的多维度二维码生成与译码方法 |
CN109978111A (zh) * | 2019-03-13 | 2019-07-05 | 杭州百伴生物技术有限公司 | 矩阵式二维码、其生成、解码方法及其设备 |
Also Published As
Publication number | Publication date |
---|---|
CN114254719A (zh) | 2022-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106529633B (zh) | 二维码的生成方法、解码方法以及装置 | |
CN105095935B (zh) | 一种融合了混沌加密技术的低密度、高编码容量点阵二维码 | |
CN105447546B (zh) | 可嵌入大比例图形的二维码及其编码和解码方法和设备 | |
US8437013B2 (en) | Glyph-looking alphabet for vipp / specialty imaging fonts | |
CN106022431B (zh) | 颜色标识型彩色二维图码的生成、识读方法及装置 | |
US20050173544A1 (en) | Information input/output method using dot pattern | |
KR101535534B1 (ko) | 프린터 스테가노그래피 기법을 이용한 위조방지수단이 구비된 문서의 생성 방법 및 그 문서에 대한 위변조 확인 방법 | |
Chou et al. | The nested QR code | |
CN109948766B (zh) | 多码复合彩色防伪二维码及其生成与识读方法 | |
CN102968654A (zh) | 在二维码所占平面内实现肉眼可识别信息的制作方法、系统及二维码 | |
US20100006657A1 (en) | Method for coding two dimensional optical identification with the same gray level and printing product thereof | |
CN115329919B (zh) | 基于微点码的随机附加点防伪方法和装置 | |
CN103794138A (zh) | 带有干扰元素的防伪标识及其生成方法 | |
KR100919818B1 (ko) | 이동통신 단말기에 사용하기 위한 분할형 2차원 바코드의인코딩 방법 | |
CN103765449B (zh) | 生成增量信息对象 | |
CN114254719B (zh) | 一种防伪二维码的生成方法及装置 | |
CN115423063B (zh) | 基于微点码的防复印底纹防伪方法和装置 | |
CN110097159B (zh) | 一种基于汉明码的qr码安全认证方法及系统 | |
CN116681098A (zh) | 一种基于二维码生成的防伪标识图像的生成方法及系统 | |
CN112418374B (zh) | 一种信息码生成方法 | |
CN111428532A (zh) | 一种可加密三维码及编码解码方法 | |
CN107247984B (zh) | 一种可视化二维码的编码方法 | |
CN115759161A (zh) | 二维码防伪方法、二维码防伪编码生成系统及验证系统 | |
CN111222610B (zh) | 一种双id二维码微码元的编码和解码方法及系统 | |
WO2022131965A1 (ru) | Способ кодирования и декодирования цифровой информации в виде многомерного нанобар-кода |
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 |