CN111046996A - 一种彩色qr码生成和识别方法 - Google Patents

一种彩色qr码生成和识别方法 Download PDF

Info

Publication number
CN111046996A
CN111046996A CN201911180611.8A CN201911180611A CN111046996A CN 111046996 A CN111046996 A CN 111046996A CN 201911180611 A CN201911180611 A CN 201911180611A CN 111046996 A CN111046996 A CN 111046996A
Authority
CN
China
Prior art keywords
code
color
data
correction
error correction
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
CN201911180611.8A
Other languages
English (en)
Other versions
CN111046996B (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.)
Changsha Junmin Advanced Technology Research Co ltd
Hunan Keteng Xin'an Intelligent Technology Co Ltd
Original Assignee
Changsha Junmin Advanced Technology Research Co ltd
Hunan Keteng Xin'an Intelligent 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 Changsha Junmin Advanced Technology Research Co ltd, Hunan Keteng Xin'an Intelligent Technology Co Ltd filed Critical Changsha Junmin Advanced Technology Research Co ltd
Priority to CN201911180611.8A priority Critical patent/CN111046996B/zh
Publication of CN111046996A publication Critical patent/CN111046996A/zh
Application granted granted Critical
Publication of CN111046996B publication Critical patent/CN111046996B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/0614Constructional details the marking being selective to wavelength, e.g. color barcode or barcodes only visible under UV or IR
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods 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/1404Methods for optical code recognition
    • G06K7/1439Methods for optical code recognition including a method step for retrieval of the optical code
    • G06K7/1443Methods for optical code recognition including a method step for retrieval of the optical code locating of the code in an image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods 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/1404Methods for optical code recognition
    • G06K7/146Methods for optical code recognition the method including quality enhancement steps
    • G06K7/1473Methods for optical code recognition the method including quality enhancement steps error correction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/02Affine transformations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Quality & Reliability (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

本发明公开了一种彩色QR码生成和识别方法,所述方法包括:S1、分析输入数据;S2、将输入数据字符转换为数据位流;S3、对数据码字序列进行分块以生成纠错码字,并将所有纠错码字加入到数据码字序列中形成最终位流序列;S4、将最终位流序列进行处理,获得彩色QR码;S5、对彩色QR码图像进行识别和预处理、颜色矫正以及定位矫正;S6、识别QR码图像并去除掩膜,然后识读符号字符并恢复数据与纠错码字,同时利用纠错码字检测和纠正错误;S7、将数据码字模块进行分割译码,从而得到彩色QR码的数据字符结果。本发明通过保留功能图形、格式信息和版本信息区域,对数据和纠错码字区域进行改进,不仅扩充了数据容量,而且还具有较好的可靠性和鲁棒性。

Description

一种彩色QR码生成和识别方法
技术领域
本发明涉及到QR码技术领域,尤其涉及一种彩色QR码生成和识别方法。
背景技术
QR码最早是由日本Denso公司于1994年9月研制的一种矩阵二维码符号,它具有一维条码所具有的识别功能以及其它二维条码所具有的信息容量大、可靠性高、可表示汉字及图象等各种文字信息、保密防伪性强等优点。
QR码呈正方形,只存在黑色和白色两种模块。在正方形的4个角存在3个,印有较小的类似“回”字的的图案,分别位于左上、右上、和左下角,这3个图案的主要功能是为了帮助解码软件快速的定位QR码的图像区域,使得图像采集器不需要精确的对准QR码,无论以任何角度扫描,QR码仍可正确被读取识别,
黑白QR码每个模块只能容纳1位二进制数据,通常白色用“0”表示,黑色用“1”表示。若每个模块放入3位二进制数据,则有8种不同的组合,“000”、“001”、“010”、“011”、“100”、“101”、“110”、“111”分别用8种颜色表示。例如,二进制数据为110011001,若采用黑白QR码,则需要存入9个模块,而且,在很多时候,需要存入更多的二进制数据,则此时黑白QR码的数据容量往往不能满足需求,同时黑白QR码的信息嵌入能力也有所欠缺。
鉴于此,研究一种能够保留了黑白QR码的功能图形、格式信息和版本信息区域且能够提高QR码的数据容量和信息嵌入能力的QR码是本技术领域人员亟待解决的技术问题。
发明内容
本发明的目的是提供一种彩色QR码生成和识别方法,通过生成和识别一种彩色QR码提高黑白QR码的数据容量和信息嵌入能力。
为解决上述技术问题,本发明提供一种彩色QR码生成和识别方法,包括以下步骤:
S1、对输入数据进行分析并确定彩色QR码的编码字符类型和纠错等级;
S2、按照所述步骤S1确定的编码字符类型的编码标准将输入的数据字符转换为数据位流,得到数据码字序列;
S3、对所述步骤S2得到的数据码字序列进行分块以生成相对应的纠错码字,并将生成的所有纠错码字均加入到相对应的数据码字序列中后面以形成最终位流序列;
S4、将所述步骤S3中的最终位流序列进行置入、掩膜和映射处理,获得彩色QR码;
S5、对所述步骤S4中获得的彩色QR码图像进行识别和预处理,然后对预处理后的QR码图像进行颜色矫正和定位矫正;
S6、识别所述步骤S5中定位矫正后的QR码图像的格式信息和版本信息并去除掩膜,然后识读出数据码字模块的符号字符,并恢复彩色QR码图像中的数据与纠错码字,同时利用与纠错级别信息相对应的纠错码字检测和纠正错误;
S7、利用模式指示符和字符计数指示符将所述步骤S6中纠错后的数据码字模块进行分割和译码,从而得到彩色QR码的数据字符结果并输出。
作为上述技术方案的进一步优化,所述步骤S1中对输入数据进行分析后,还包括确定彩色QR码编码的符号版本。
作为上述技术方案的进一步优化,所述步骤S2中数据字符转换为数据位流后,所述数据位流前面可加上模式指示符,数据位流中间可加入填充字符,数据位流后面可加上终止符。
作为上述技术方案的进一步优化,所述步骤S3中采用Reed Solomon错误控制码生成纠错码字,所述Reed Solomon纠错法可对拒读错误和替代错误进行纠正。
作为上述技术方案的进一步优化,所述步骤S4中将所述最终位流序列进行置入、掩膜和映射处理,具体处理步骤包括:
S41、将寻像图形、分隔符、定位图形、校正图形和最终位流序列一起置入二维码矩阵中,得到数据码字模块;
S42、对所述步骤S41得到的数据码字模块中的符号进行异或操作,并根据相应规则对异或后的结果图形进行记分,选择得分最低的图形;
S43、将彩色QR码的格式信息和版本信息与所述步骤S42选择的得分最低的图形进行异或操作,然后将异或操作后的结果填入相应位置;
S44、根据颜色映射表将所述步骤S43得到的数据码字模块中矩阵元素映射成对应颜色进行保存。
作为上述技术方案的进一步优化,所述步骤S5中对获得的彩色QR码图像进行预处理具体包括对彩色QR码图像进行去燥处理和二值化处理。
作为上述技术方案的进一步优化,所述步骤S5中对预处理后QR码图像进行定位矫正的具体步骤包括:
S51、对二值化处理后的彩色QR码图像进行搜索定位以获取三个探测图形的中心坐标;
S52、根据所述步骤S51中三个探测图形的中心坐标获取右下角校正图形的中心坐标,从而实现QR码图像的定位;
S53、根据所述步骤S51中三个探测图形的中心坐标和所述步骤S52中校正图形的中心坐标获取QR码的位置信息,然后建立仿射变换公式,求得变换矩阵的参数值;
S54、根据QR码图像的特征信息及其分布位置,求出QR码版本号,并建立该版本的标准QR码数据空矩阵;
S55、将所述步骤S54中标准QR码的网格采样点通过所述步骤S53中的变换矩阵映射到原彩色QR码图像中,同时获取坐标位置及其对应颜色数值,从而得到彩色QR码的矫正图像。
作为上述技术方案的进一步优化,首先获取QR码图像中三个位置探测图形中心点位置的颜色值,分别设为[r1,g1,b1]、[r2,g2,b2]和[r3,g3,b3],以及与该中心点位置颜色值对应的正确颜色值,分别设为[255,0,0]、[0,255,0]和[0,0,255],然后计算出颜色矫正系数值,最后根据颜色矫正系数值对QR码图像中所有像素点进行颜色矫正还原,其中颜色矫正系数值可用公式计算:
Figure BDA0002291146830000031
式(1)中,[r,g,b]表示QR码图像中像素点(x,y)的颜色值,[r′,g′,b′]表示QR码图像中像素点(x,y)矫正后的颜色值,
Figure BDA0002291146830000032
表示颜色矫正系数值。
作为上述技术方案的进一步优化,所述步骤S6中利用与纠错级别信息相对应的纠错码字检查和纠正错误的具体实现方式为:利用纠错码字检查所述彩色QR码图像中是否存在错误,若存在错误,则进行纠错;若不存在错误,则进入步骤S7。
作为上述技术方案的进一步优化,所述步骤S7中对分割后的数据码字模块进行译码的步骤包括:
S71、根据解除掩膜后符号字符的码字模块建立相对应的多项式,并计算该多项式的伴随式;
S72、根据所述步骤S71中的伴随式计算出码字模块的错误模块和错误值;
S73、将所述步骤S72计算得到的错误值的补数追加到每一个错误位置上进行纠错,从而得到彩色QR码的数据字符并输出结果。
与现有技术比较,本发明首先通过分析输入的数据确定彩色QR码相关参数并将所输入的数据转换为数据位流,然后通过分块生成纠错码字以形成最终位流序列,并对形成的最终位流序列进行置入、掩膜和映射处理,进而生成彩色QR码,最后通过对彩色QR码进行识别、纠错和译码,从而得到彩色QR码图像中数据字符的结果并进行输出。由于所述彩色QR码采用了n位二进制组合对数据信息进行编码,故其可对应2n种不同的编码颜色,使得彩色QR码的容量达到黑白QR码容量的n倍。本发明一种彩色QR码生成和识别方法,通过保留占用QR码面积比例小的功能图形区域、格式信息区域和版本信息区域,对占用QR码面积比例大的数据区域和纠错码字区域进行改进,不仅扩充了数据容量和信息嵌入能力,而且还具有黑白QR码的可靠性和鲁棒性。
附图说明
图1是本发明一种彩色QR码生成和识别方法的流程图,
图2是本发明中对最终位流序列进行处理的方法流程图,
图3是本发明中对彩色QR码图像进行定位矫正的方法流程图,
图4是本发明中对彩色QR码数据码字模块进行译码的方法流程图,
图5是本发明中彩色QR码位置示意图,
图6是本发明中生成的彩色QR码图像。
具体实施方式
为了使本技术领域的人员更好地理解本发明的技术方案,下面结合附图对本发明作进一步的详细说明。
如图1、图5、图6所示,一种彩色QR码生成和识别方法,包括以下步骤:
S1、对输入数据进行分析并确定彩色QR码的编码字符类型和纠错等级;
S2、按照所述步骤S1确定的编码字符类型的编码标准将输入的数据字符转换为数据位流,得到数据码字序列;
S3、对所述步骤S2得到的数据码字序列进行分块以生成相对应的纠错码字,并将生成的所有纠错码字均加入到相对应的数据码字序列中后面以以形成最终位流序列;
S4、将所述步骤S3中的最终位流序列进行置入、掩膜和映射处理,获得彩色QR码;
S5、对所述步骤S4中获得的彩色QR码图像进行识别和预处理,然后对预处理后的QR码图像进行颜色矫正和定位矫正;
S6、识别所述步骤S5中定位矫正后的QR码图像的格式信息和版本信息并去除掩膜,然后识读出数据码字模块的符号字符,并恢复彩色QR码图像中的数据与纠错码字,同时利用与纠错级别信息相对应的纠错码字检测和纠正错误;
S7、利用模式指示符和字符计数指示符将所述步骤S6中纠错后的数据码字模块进行分割和译码,从而得到彩色QR码的数据字符结果并输出。
本实施例中,首先通过分析输入的数据确定彩色QR码相关参数并将所输入的数据转换为数据位流,然后通过分块生成纠错码字以形成最终位流序列,并对形成的最终位流序列进行置入、掩膜和映射处理,进而生成彩色QR码,最后通过对彩色QR码进行识别、纠错和译码,从而得到彩色QR码图像中数据字符的结果并进行输出。由于所述彩色QR码采用了n位二进制组合对数据信息进行编码,故其可对应2n种不同的编码颜色,使得彩色QR码的容量达到黑白QR码容量的n倍。本实施例中的彩色QR码生成和识别方法,通过保留占用QR码面积比例小的功能图形区域、格式信息区域和版本信息区域,对占用QR码面积比例大的数据区域和纠错码字区域进行改进,不仅扩充了数据容量和信息嵌入能力,而且还具有黑白QR码的可靠性和鲁棒性。
本实施例中,通过对输入数据进行分析可以保证对不同的数据模式进行高效编码,同时选择相对应的纠错等级来提高符号字符的可靠性能。
如图1、图5所示,所述步骤S1中对输入数据进行分析后,还包括确定彩色QR码编码的符号版本。本实施例中,对输入数据进行分析后,可确定彩色QR码编码的符号版本,在没有预先设置所要采用的符号版本情况下,默认为与输入数据相适应的最小版本。
如图1、图5所示,所述步骤S2中数据字符转换为数据位流后,所述数据位流前面可加上模式指示符,数据位流中间可加入填充字符,数据位流后面可加上终止符。本实施例中,为了更方便的解码和区分,所述数据位流前面加上了模式指示符,数据位流后面加上了终止符,同时将产生的位流每八位分为一个码字,必要时可在数据位流中间加入填充字符,以确保填满所选择的符号版本要求的数据字数。
如图1、图5所示,所述步骤S3中采用Reed Solomon纠错法生成纠错码字,所述ReedSolomon纠错法可对拒读错误和替代错误进行纠正。本实施例中,采用Reed Solomon纠错法来实现纠错功能,可对拒读错误和替代错误进行纠正,其纠错面积高,可同时纠正突发错误和随机错误,有效保证符号字符在局部无损甚至缺失时仍然可以被正确解码。
如图1所示,所述步骤S3中纠错码字位于数据码字序列的后面。本实施例中,当所有分块后的数据码字序列的纠错码字都生成之后,将所有的纠错码字添加到数据码字序列后面即形成最终位流序列,通常情况下数据码字序列块和纠错码字之和刚好可以填满符号字符的码字容量,但在某一些版本中,则需要在最终位流序列的末尾添加3、4或7个剩余位。
如图2、图5所示,所述步骤S4中将所述最终位流序列进行置入、掩膜和映射处理,具体处理步骤包括:
S41、将寻像图形、分隔符、定位图形、校正图形和最终位流序列一起置入二维码矩阵中,得到数据码字模块;
S42、对所述步骤S41得到的数据码字模块中的符号进行异或操作,并根据相应规则对异或后的结果图形进行记分,选择得分最低的图形;
S43、将彩色QR码的格式信息和版本信息与所述步骤S42选择的得分最低的图形进行异或操作,然后将异或操作后的结果填入相应位置;
S44、根据颜色映射表将所述步骤S43得到的数据码字模块中矩阵元素映射成对应颜色进行保存。
本实施例中,首先将寻像图形、分隔符、定位图形、校正图形和码字模块一起置入二维码矩阵当中;然后对符号字符进行异或操作;再将格式信息和版本信息与掩膜图形进行异或操作并填入相应位置;最后根据设定的颜色映射表将符号字符中的矩阵元素映射陈对应的颜色以生成彩色图像进行保存,从而得到彩色QR码图像。通过将置入功能模块和码字模块的符号字符进行异或操作,可有效避免与位置探测图形相同或者相似的图形出现在符号字符的其他区域,所述彩色QR码保存的格式为PNG格式,功能模块和码字模块的置入过程具体操作如下:每个八位码字按两个模块的宽度从符号字符的右下角开始蛇形排列,位序列从右到左,从最高位到最低位按模块的排列方向进行排列。本实施例中,所述颜色映射表可通过自定义获取,如黑色定义为{1,1,1},红色定义为{0,1,1},绿色定义为{1,0,1},蓝色定义为{1,1,0},青色定义为{1,0,0}等等。
如图1所示,所述步骤S5中对获得的彩色QR码图像进行预处理具体包括对彩色QR码图像进行去燥处理和二值化处理。本实施例中,为了解决彩色QR码图像在解码过程中出现失真、歪斜或缺损的问题,以及彩色QR码图像背景中出现与识别条码无关的噪声等问题,故在彩色QR码解码之前需要进行去燥和二值化处理。
如图3、图5、图6所示,所述步骤S5中对预处理后QR码图像进行定位矫正的具体步骤包括:
S51、对二值化处理后的彩色QR码图像进行搜索定位以获取三个探测图形的中心坐标;
S52、根据所述步骤S51中三个探测图形的中心坐标获取右下角校正图形的中心坐标,从而实现QR码图像的定位;
S53、根据所述步骤S51中三个探测图形的中心坐标和所述步骤S52中校正图形的中心坐标获取QR码的位置信息,然后建立仿射变换公式,求得变换矩阵的仿射变换值;
S54、根据QR码图像的特征信息及其分布位置,求出QR码版本号,并建立该版本的标准QR码数据空矩阵;
S55、将所述步骤S54中标准QR码的网格采样点通过所述步骤S53中的变换矩阵映射到原彩色QR码图像中,同时获取坐标位置及其对应颜色数值,从而得到彩色QR码的矫正图像。
本实施例中,根据探测图形黑白模块比例1:1:3:1:1的特征对二值化图像进行搜索定位,获取三个探测图形的中心坐标(x1,y1)、(x2,y2)和(x3,y3),然后根据QR码的版本号判断是否存在矫正图形,若QR码版本大于1时,则存在矫正图形,根据校正图形黑白模块比例及其分布位置,搜索定位可获得最右下角校正图形的中心坐标(x4,y4);若QR码版本等于1时,则不存在矫正图形,通过三个探测图形的中心坐标的几何关系可以计算出最右下角校正图形的中心坐标(x4,y4),然后根据勾股定理以及和所求得的探测图形位置可以得到探测图像的正确位置顺序:TopLeft(x1,y1)、TopRight(x2,y2)和BottomLeft(x3,y3),然后建立反仿射变换矩阵
Figure BDA0002291146830000081
其中t1,t2表示平移量,ai(i=1,2,3...)表示对图像进行旋转和缩放等变化。通过给定四个已知点(x1,y1)、(x2,y2)、(x3,y3)、(x4,y4)和四个目标点(x′1,y′1)、(x′2,y′2)、(x′3,y′3)、(x′4,y′4),则可以求得上述变换矩阵的仿射变换值,从而建立起原始二维码图像和拍摄后二维码图像之间的坐标对应关系,然后根据QR码图像特征信息及其分布位置,求出QR码的版本号,并建立该版本标准QR码的数据空矩阵,最后将标准QR码的网格采样点通过建立的仿射变换矩阵映射到原彩色QR码图像中,得到相应坐标位置和数值,从而获取所述彩色QR码的矫正图像。
如图1、图5所示,首先获取QR码图像中三个位置探测图形中心点位置的颜色值,分别设为[r1,g1,b1]、[r2,g2,b2]和[r3,g3,b3],以及与该中心点位置颜色值对应的正确颜色值,分别设为[255,0,0]、[0,255,0]和[0,0,255],然后计算出颜色矫正系数值,最后根据颜色矫正系数值对QR码图像中所有像素点进行颜色矫正还原,其中颜色矫正系数值可用公式计算:
Figure BDA0002291146830000082
式(1)中,[r,g,b]表示QR码图像中像素点(x,y)的颜色值,[r′,g′,b′]表示QR码图像中像素点(x,y)矫正后的颜色值,
Figure BDA0002291146830000083
表示颜色矫正系数值矩阵。
本实施例中,由于显示器的色彩显示会存在失真、环境光照的影响以及摄像机sensor对光谱的响应,在RGB颜色空间各分量上响应通常是有偏差的,因此需要对拍照后的QR码图像进行矫正还原,具体是通过建立颜色矫正系数矩阵计算出对应校正系数值,并根据所计算的矫正系数值实现整个QR码图像中所有像素点的颜色矫正还原,从而提高图像的辨识效果。
如图1、图5所示,所述步骤S6中利用与纠错级别信息相对应的纠错码字检查和纠正错误的具体实现方式为:利用纠错码字检查所述彩色QR码图像中是否存在错误,若存在错误,则进行纠错;若不存在错误,则进入步骤S7。本实施例中,通过采用纠错码字检查和纠正彩色QR码图像中的错误,能够正确对图像中残缺或部分被污染的情况进行正确译码,大大增加了译码的可识别性。
如图4所示,所述步骤S7中对分割后的数据码字模块进行译码的步骤包括:
S71、根据解除掩膜后符号字符的码字模块建立相对应的多项式,并计算该多项式的伴随式;
S72、根据所述步骤S71中的伴随式计算出码字模块的错误模块和错误值;
S73、将所述步骤S72计算得到的错误值的补数追加到每一个错误位置上进行纠错,从而得到彩色QR码的数据字符并输出结果。
本实施例中,通过计算码字模块上的错误模块和错误值,并将错误值的补数追加到每一个错误位置上进行纠错,从而有效保证了所译码出来的彩色QR码数据字符结果的正确性。
以上对本发明所提供的一种彩色QR码生成和识别方法进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

Claims (10)

1.一种彩色QR码生成和识别方法,其特征在于,包括以下步骤:
S1、对输入数据进行分析并确定彩色QR码的编码字符类型和纠错等级;
S2、按照所述步骤S1确定的编码字符类型的编码标准将输入的数据字符转换为数据位流,得到数据码字序列;
S3、对所述步骤S2得到的数据码字序列进行分块以生成相对应的纠错码字,并将生成的所有纠错码字均加入到相对应的数据码字序列中后面以形成最终位流序列;
S4、将所述步骤S3中的最终位流序列进行置入、掩膜和映射处理,获得彩色QR码;
S5、对所述步骤S4中获得的彩色QR码图像进行识别和预处理,然后对预处理后的QR码图像进行颜色矫正和定位矫正;
S6、识别所述步骤S5中定位矫正后的QR码图像的格式信息和版本信息并去除掩膜,然后识读出数据码字模块的符号字符,并恢复彩色QR码图像中的数据与纠错码字,同时利用与纠错级别信息相对应的纠错码字检测和纠正错误;
S7、利用模式指示符和字符计数指示符将所述步骤S6中纠错后的数据码字模块进行分割和译码,从而得到彩色QR码的数据字符结果并输出。
2.如权利要求1所述的彩色QR码生成和识别方法,其特征在于,所述步骤S1中对输入数据进行分析后,还包括确定彩色QR码编码的符号版本。
3.如权利要求2所述的彩色QR码生成和识别方法,其特征在于,所述步骤S2中数据字符转换为数据位流后,所述数据位流前面可加上模式指示符,数据位流中间可加入填充字符,数据位流后面可加上终止符。
4.如权利要求3所述的彩色QR码生成和识别方法,其特征在于,所述步骤S3中采用ReedSolomon错误控制码生成纠错码字,所述Reed Solomon纠错法可对拒读错误和替代错误进行纠正。
5.如权利要求4所述的彩色QR码生成和识别方法,其特征在于,所述步骤S4中将所述最终位流序列进行置入、掩膜和映射处理,具体处理步骤包括:
S41、将寻像图形、分隔符、定位图形、校正图形和最终位流序列一起置入二维码矩阵中,得到数据码字模块;
S42、对所述步骤S41得到的数据码字模块中的符号进行异或操作,并根据相应规则对异或后的结果图形进行记分,选择得分最低的图形;
S43、将彩色QR码的格式信息和版本信息与所述步骤S42选择的得分最低的图形进行异或操作,然后将异或操作后的结果填入相应位置;
S44、根据颜色映射表将所述步骤S43得到的数据码字模块中矩阵元素映射成对应颜色进行保存。
6.如权利要求5所述的彩色QR码生成和识别方法,其特征在于,所述步骤S5中对获得的彩色QR码图像进行预处理具体包括对彩色QR码图像进行去燥处理和二值化处理。
7.如权利要求6所述的彩色QR码生成和识别方法,其特征在于,所述步骤S5中对预处理后QR码图像进行定位矫正的具体步骤包括:
S51、对二值化处理后的彩色QR码图像进行搜索定位以获取三个探测图形的中心坐标;
S52、根据所述步骤S51中三个探测图形的中心坐标获取右下角校正图形的中心坐标,从而实现QR码图像的定位;
S53、根据所述步骤S51中三个探测图形的中心坐标和所述步骤S52中校正图形的中心坐标获取QR码的位置信息,然后建立仿射变换公式,求得变换矩阵的仿射变换值;
S54、根据QR码图像的特征信息及其分布位置,求出QR码版本号,并建立该版本的标准QR码数据空矩阵;
S55、将所述步骤S54中标准QR码的网格采样点通过所述步骤S53中的变换矩阵映射到原彩色QR码图像中,同时获取坐标位置及其对应颜色数值,从而得到彩色QR码的矫正图像。
8.如权利要求7所述的彩色QR码生成和识别方法,其特征在于,所述步骤S5中对预处理后的QR码图像进行颜色矫正的具体实现方式为:首先获取QR码图像中三个位置探测图形中心点位置的颜色值,分别设为[r1,g1,b1]、[r2,g2,b2]和[r3,g3,b3],以及与该中心点位置颜色值对应的正确颜色值,分别设为[255,0,0]、[0,255,0]和[0,0,255],然后计算出颜色矫正系数值,最后根据颜色矫正系数值对QR码图像中所有像素点进行颜色矫正还原,其中颜色矫正系数值可用公式计算:
Figure FDA0002291146820000021
式(1)中,[r,g,b]表示QR码图像中像素点(x,y)的颜色值,[r′,g′,b′]表示QR码图像中像素点(x,y)矫正后的颜色值,
Figure FDA0002291146820000031
表示颜色矫正系数值。
9.如权利要求8所述的彩色QR码生成和识别方法,其特征在于,所述步骤S6中利用与纠错级别信息相对应的纠错码字检查和纠正错误的具体实现方式为:利用纠错码字检查所述彩色QR码图像中是否存在错误,若存在错误,则进行纠错;若不存在错误,则进入步骤S7。
10.如权利要求9所述的彩色QR码生成和识别方法,其特征在于,所述步骤S7中对分割后的数据码字模块进行译码的步骤包括:
S71、根据解除掩膜后符号字符的码字模块建立相对应的多项式,并计算该多项式的伴随式;
S72、根据所述步骤S71中的伴随式计算码字模块的错误模块和错误值;
S73、将所述步骤S72计算得到的错误值的补数追加到每一个错误位置上进行纠错,从而得到彩色QR码的数据字符并输出结果。
CN201911180611.8A 2019-11-27 2019-11-27 一种彩色qr码生成和识别方法 Active CN111046996B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911180611.8A CN111046996B (zh) 2019-11-27 2019-11-27 一种彩色qr码生成和识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911180611.8A CN111046996B (zh) 2019-11-27 2019-11-27 一种彩色qr码生成和识别方法

Publications (2)

Publication Number Publication Date
CN111046996A true CN111046996A (zh) 2020-04-21
CN111046996B CN111046996B (zh) 2023-08-04

Family

ID=70233849

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911180611.8A Active CN111046996B (zh) 2019-11-27 2019-11-27 一种彩色qr码生成和识别方法

Country Status (1)

Country Link
CN (1) CN111046996B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112215319A (zh) * 2020-08-09 2021-01-12 向天鸽 颜色标记特征图形的二维码及其识别方法
CN112819120A (zh) * 2021-01-27 2021-05-18 中山大学 一种模糊可识别二维码及其生成、识别方法
CN114998454A (zh) * 2022-05-09 2022-09-02 西南交通大学 一种动态多色码的生成、解析方法
CN116795939A (zh) * 2023-06-19 2023-09-22 重庆市规划和自然资源信息中心 一种基于geotools工具实现地理数据修复的方法
CN117375623A (zh) * 2023-10-11 2024-01-09 广东技术师范大学 一种基于二进制的模具编码和识别方法、存储装置及智能终端
CN117375623B (zh) * 2023-10-11 2024-05-24 广东技术师范大学 一种基于二进制的模具编码和识别方法、存储装置及智能终端

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050001033A1 (en) * 2001-11-03 2005-01-06 Cheol Ho Cheong Apparatus and method for recognizing code
CN102147873A (zh) * 2011-03-21 2011-08-10 上海彩码信息科技有限公司 彩码的生成方法及系统、彩码的解析方法及系统
CN103310251A (zh) * 2012-09-10 2013-09-18 成都菲普迪斯科技有限公司 Ccqr码的编码方法及译码方法
CN104899630A (zh) * 2015-06-18 2015-09-09 桂林电子科技大学 彩色qr码的编/解码方法
CN104992207A (zh) * 2015-06-16 2015-10-21 无锡久源软件科技有限公司 一种手机二维条码编解码方法
US20160267370A1 (en) * 2013-10-30 2016-09-15 Toppan Tdk Label Co., Ltd. Method for generating two-dimensional barcode, device for generating two-dimensional barcode, method for reading two-dimensional barcode, device for reading two-dimensional barcode, two-dimensional barcode, and program
US20170243097A1 (en) * 2016-02-23 2017-08-24 The Chinese University Of Hong Kong Method and apparatus for decoding or generating multi-layer color or code, method for recommending setting parameters in generation of multi-layer or code, and product comprising multi-layer color or code
CN108805246A (zh) * 2018-06-19 2018-11-13 江苏大学 一种智能指示二维码及利用该二维码对食品状态监测的方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050001033A1 (en) * 2001-11-03 2005-01-06 Cheol Ho Cheong Apparatus and method for recognizing code
CN102147873A (zh) * 2011-03-21 2011-08-10 上海彩码信息科技有限公司 彩码的生成方法及系统、彩码的解析方法及系统
CN103310251A (zh) * 2012-09-10 2013-09-18 成都菲普迪斯科技有限公司 Ccqr码的编码方法及译码方法
US20160267370A1 (en) * 2013-10-30 2016-09-15 Toppan Tdk Label Co., Ltd. Method for generating two-dimensional barcode, device for generating two-dimensional barcode, method for reading two-dimensional barcode, device for reading two-dimensional barcode, two-dimensional barcode, and program
CN104992207A (zh) * 2015-06-16 2015-10-21 无锡久源软件科技有限公司 一种手机二维条码编解码方法
CN104899630A (zh) * 2015-06-18 2015-09-09 桂林电子科技大学 彩色qr码的编/解码方法
US20170243097A1 (en) * 2016-02-23 2017-08-24 The Chinese University Of Hong Kong Method and apparatus for decoding or generating multi-layer color or code, method for recommending setting parameters in generation of multi-layer or code, and product comprising multi-layer color or code
CN108805246A (zh) * 2018-06-19 2018-11-13 江苏大学 一种智能指示二维码及利用该二维码对食品状态监测的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
中国物品编码中心: "《QR Code二维码技术与应用》", pages: 103 - 113 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112215319A (zh) * 2020-08-09 2021-01-12 向天鸽 颜色标记特征图形的二维码及其识别方法
CN112215319B (zh) * 2020-08-09 2023-09-15 向天鸽 颜色标记特征图形的二维码及其识别方法
CN112819120A (zh) * 2021-01-27 2021-05-18 中山大学 一种模糊可识别二维码及其生成、识别方法
CN114998454A (zh) * 2022-05-09 2022-09-02 西南交通大学 一种动态多色码的生成、解析方法
CN116795939A (zh) * 2023-06-19 2023-09-22 重庆市规划和自然资源信息中心 一种基于geotools工具实现地理数据修复的方法
CN116795939B (zh) * 2023-06-19 2024-04-05 重庆市规划和自然资源信息中心 一种基于geotools工具实现地理数据修复的方法
CN117375623A (zh) * 2023-10-11 2024-01-09 广东技术师范大学 一种基于二进制的模具编码和识别方法、存储装置及智能终端
CN117375623B (zh) * 2023-10-11 2024-05-24 广东技术师范大学 一种基于二进制的模具编码和识别方法、存储装置及智能终端

Also Published As

Publication number Publication date
CN111046996B (zh) 2023-08-04

Similar Documents

Publication Publication Date Title
CN111046996B (zh) 一种彩色qr码生成和识别方法
TWI692724B (zh) 二維碼、二維碼之作成系統及解析程式
EP2393035B1 (en) QR barcode decoding chip and decoding method thereof
US8733649B2 (en) Data matrix decoding chip and decoding method thereof
EP2393038A1 (en) Matrix-type two-dimensional barcode decoding chip and decoding method thereof
JP2006012162A (ja) 高密度幾何学シンボルセットを符号化するためのシステムおよび方法
JP4410231B2 (ja) イメージコードの生成装置及びその方法とイメージコードのデコーディング装置及びその方法
TW201428635A (zh) 二維碼
US8275168B2 (en) Orientation free watermarking message decoding from document scans
WO2010031110A1 (en) Data storage device and encoding/decoding methods
US11843395B2 (en) Coding pattern, coding and reading methods for same, calibration board, and calibration method
US8194918B2 (en) Embedded message extraction for visible watermarking
CN108073966B (zh) 一种二维码与孔阵码的转换方法
CN107247985B (zh) 二维码的编码、定位及识别方法
CN111353321A (zh) 数据生成和解析方法及装置,计算机存储介质和电子设备
CA3045391A1 (en) Method for detection and recognition of long-range high-density visual markers
CN112184826B (zh) 一种标定板和标定方法
US8243985B2 (en) Bit pattern design for visible watermarking
CN112187284A (zh) 编码方法、编码图形、编码图形读取方法和拍摄装置
US8797193B2 (en) Parallel test payload
US8300882B2 (en) Data adaptive message embedding for visible watermarking
CN112183695B (zh) 编码方法、编码图形、编码图形读取方法和拍摄装置
CN117474771A (zh) 一种二维码识别的方法、装置及设备
CN112016339A (zh) 二维码识别及缺损修复方法、装置、电子设备及存储介质
CN117273044A (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