CN103955663A - 一种qr码抗污损识别方法 - Google Patents

一种qr码抗污损识别方法 Download PDF

Info

Publication number
CN103955663A
CN103955663A CN201410162402.1A CN201410162402A CN103955663A CN 103955663 A CN103955663 A CN 103955663A CN 201410162402 A CN201410162402 A CN 201410162402A CN 103955663 A CN103955663 A CN 103955663A
Authority
CN
China
Prior art keywords
view finding
code
carry out
judges
decoding
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
CN201410162402.1A
Other languages
English (en)
Other versions
CN103955663B (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.)
Guangzhou Huii Information Technology Co ltd
Original Assignee
Guangzhou Width Information 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 Guangzhou Width Information Technology Co Ltd filed Critical Guangzhou Width Information Technology Co Ltd
Priority to CN201410162402.1A priority Critical patent/CN103955663B/zh
Publication of CN103955663A publication Critical patent/CN103955663A/zh
Application granted granted Critical
Publication of CN103955663B publication Critical patent/CN103955663B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Analysis (AREA)

Abstract

本发明公开了一种QR码抗污损识别方法,先获取图像中所有可能的寻像图形;再将其每三个一组进行组合,并假设每一个组合均对应一个QR码,其为假设QR码,再对其解码,解码成功的,返回QR码码值,未解码成功的,记录寻像图形组合;然后对记录的未解码成功的寻像图形组合进行筛选,找出与其它寻像图形构成的所有组合均未解码成功的寻像图形,将其每两个一组进行组合,并假设每个组合均对应一个QR码,再假设第三个寻像图形的位置,然后进行解码,解码成功的,返回QR码码值。本发明能够识别污损QR码、灵活、高效、快速,适用性广,适于在物流、工厂、实验室等易造成QR码图像污损的环境中使用。

Description

一种QR码抗污损识别方法
 
技术领域
本发明涉及二维码技术,具体说是一种QR码抗污损识别方法。
 
背景技术
QR码(quick response,快速反应二维码)目前在众多行业中均有大量的应用。现有QR码解码算法中,一般先找出码图中的三个寻像图形,根据这三个寻像图形的中心位置大致定位出第四个角点,由这四个点来校正码图。根据找到的寻像图形也可以确定QR码中模块的大致宽度,以此来确定码图中心的大体位置。另外的处理方式是检测QR码的边缘,找到满足边缘宽度满足黑-白-黑-白-黑宽度比为1:1:3:1:1的可能的点,然后对这些点进行分类,找出满足一定条件的聚类点作为可能的寻像图形,接下来的处理方式跟上面的处理方式一致。上述处理方式都具有一个致命的缺陷——当其中一个寻像图形污损,整个QR码就无法识别解码。所以,在例如物流等容易使QR码污损的使用场合,现有的解码方法并不能很好的适用。
 
发明内容
本发明的任务是要针对上述技术问题,提供一种QR码抗污损识别方法,其特征在于,包括如下步骤:
S102:获取图像中所有可能的寻像图形;图像为灰度图像或彩色图像,获取彩色图像中寻像图形的步骤包括先对其进行灰度化处理,得到灰度图像;
S104:QR码的解码识别,包括如下步骤:
S1041:对灰度图像进行二值化处理,每三个寻像图形一组,解码:将所有可能的寻像图形每三个一组进行组合,并假设每一组寻像图形组合均相应的对应一个QR码,其为假设QR码,再对假设的QR码进行解码,解码成功的,返回QR码码值,未解码成功的,记录相应的寻像图形组合;
S1042:每两个二类寻像图形一组,解码:对步骤S1041记录的未解码成功的寻像图形组合进行筛选,找出与其它寻像图形构成的所有组合均未解码成功的寻像图形,将其归类为二类寻像图形,将所有二类寻像图形每两个一组进行组合,并假设每一组寻像图形组合均相应的对应一个QR码,其为假设QR码,再利用QR码的三个寻像图形的位置关系假设第三个寻像图形的位置,然后进行解码,解码成功的,返回QR码码值;
S105:结束解码。
所述S1041中每三个寻像图形一组,解码,包括如下步骤:
S201:每三个寻像图形一组进行组合,假设每个组合均对应一个QR码;
S202:对第一个寻像图形组合对应的QR码进行解码,判断解码是否成功,
如果S202判断的结果为是,进行S203:返回QR码码值,
并进行S206:判断已进行解码的组合的个数是否为总的组合个数,
如果S206判断的结果为是,进行所述步骤S1042,
如果S206判断的结果为否,进行S207,对下一个寻像图形组合对应的QR码进行解码,判断解码是否成功,
如果S207判断的结果为是,进行前述S203,
如果S207判断的结果为否,进行S205:记录未解码成功的组合,
并进行前述步骤S206,
如果S202判断的结果为否,进行前述步骤S205。
所述S1041中每三个寻像图形一组,解码,对假设的QR码进行解码前设置要求成功解码的QR码个数,为要求的解码个数,解码包括如下步骤:
S201:每三个寻像图形一组进行组合,假设每个组合均对应一个QR码;
S202:对第一个寻像图形组合对应的QR码进行解码,判断解码是否成功,
如果S202判断的结果为是,进行S203: 返回QR码码值,
并进行S204:判断成功解码的QR码码值的个数是否为要求的解码个数,
如果S204判断的结果为是,进行S105:结束解码,
如果S204判断的结果为否,进行S206:判断已进行解码的组合的个数是否为总的组合个数,
如果S206判断的结果为是,进行所述步骤S1042,
如果S206判断的结果为否,进行S207,对下一个寻像图形组合对应的QR码进行解码,判断解码是否成功,
如果S207判断的结果为是,进行前述S203,
如果S207判断的结果为否,进行S205,记录未解码成功的组合,
并进行前述步骤S206,
如果S202判断的结果为否,进行前述步骤S205。
所述S1042中每两个二类寻像图形一组,解码,包括如下步骤:
S301:对未解码成功的三个寻像图形构成的组合进行筛选,筛选出二类寻像图形;
S303:每两个二类寻像图形一组进行组合,假设每个组合均对应一个QR码;
S304:假设每个QR码的第三个寻像图形的位置;
S305:对第一个寻像图形组合对应的QR码进行解码,判断解码是否成功,
如果S305判断的结果为是,进行S306:返回QR码码值,
并进行S309:判断已进行解码的组合的个数是否为总的组合个数,
如果S309判断的结果为是,进行所述步骤S105,
如果S309判断的结果为否,进行S310:对下一个寻像图形组合对应的QR码进行解码,判断解码是否成功,
如果S310判断的结果为是,进行前述S306,
如果S310判断的结果为否,进行前述S309,
如果S305判断的结果为否,进行前述S309。
所述S1042中每两个二类寻像图形一组,解码,对假设的QR码进行解码前设置要求成功解码的QR码个数,为要求的解码个数,解码包括如下步骤:
S301:对未解码成功的三个寻像图形构成的组合进行筛选,筛选出二类寻像图形;
S303:每两个二类寻像图形一组进行组合,假设每个组合均对应一个QR码;
S304:假设每个QR码的第三个寻像图形的位置;
S305:对第一个寻像图形组合对应的QR码进行解码,判断解码是否成功,
如果S305判断的结果为是,进行S306:返回QR码码值,
并进行S307:判断成功解码的QR码码值的个数是否为要求的解码个数,
如果S307判断的结果为是,进行S105:结束解码,
如果S307判断的结果为否,进行S309:判断已进行解码的组合的个数是否为总的组合个数,
如果S309判断的结果为是,进行所述步骤S1043,
如果S309判断的结果为否,进行S310:对下一个寻像图形组合对应的QR码进行解码,判断解码是否成功,
如果S310判断的结果为是,进行前述S306,
如果S310判断的结果为否,进行S308:记录未解码成功的组合,
并进行前述S309,
如果S305判断的结果为否,进行前述S308。
所述步骤S1042还包括记录未解码成功的寻像图形组合;所述QR码抗污损识别方法的步骤还包括,在进行步骤S1042后进行S1043;
S1043:每个寻像图形,分别解码:对步骤S1042记录的未解码成功的寻像图形组合进行筛选,找出与其它寻像图形构成的所有组合均未解码成功的寻像图形,将其归类为三类寻像图形,假设所有三类寻像图形均相应的对应一个QR码,其为假设QR码,再利用QR码的三个寻像图形的位置关系假设第二个寻像图形、第三个寻像图形的位置,然后进行解码,解码成功的,返回QR码码值。
所述图像为灰度图像,所述步骤S102中获取图像中所有可能的寻像图形的过程包括如下步骤:
S1021:通过边缘检测获取寻像图形的水平边缘点群:横向扫描灰度图像的每一行,对每一行进行移动均值滤波去噪,再进行二阶差分运算,得到可能的边缘点,并记录边缘点和边缘点之间的灰度变化情况;记录满足宽度比黑:白:黑:白:黑为1:1:3:1:1的边缘点作为可能的寻像图形的内边框和外边框的边缘点,再对边缘点进行分类组合得到水平边缘点群;
S1022:通过边缘检测获取寻像图形的垂直边缘点群:纵向扫描灰度图像的每一列,对每一列进行移动均值滤波去噪,再进行二阶差分运算,得到可能的边缘点,并记录边缘点和边缘点之间的灰度变化情况;记录满足宽度比黑:白:黑:白:黑为1:1:3:1:1的边缘点作为可能的寻像图形的内边框和外边框的边缘点,再对边缘点进行分类组合得到垂直边缘点群;
S1023:对水平边缘点群中心连接的线段和垂直边缘点群中心连接的线段相交的所有点群进行合并,并重新计算每个合并后的边缘点群的中心点,作为可能的寻像图形的中心,外边缘点围成的图形为寻像图形。
在所述步骤S1042中,利用QR码的三个寻像图形的位置关系假设第三个寻像图形的位置的方法为拟合直线,找交点的方法,包括如下步骤:
S10421,计算一组的两个所述二类寻像图形的中心之间的距离l,在其中一个二类寻像图形外边框上任取一点,计算这个点到另外一个二类寻像图形外边框四条直线的距离,这四个距离中只要有一个距离小于0.5l,则假设两个二类寻像图形位于QR码的同一侧,否则假设两个二类寻像图形位于QR码的对角线上的两个角上;
S10422,两个二类寻像图形位于假设QR码的同一侧时,假设第三个寻像图形的位置的方法包括如下步骤:
1)、先对每个寻像图形内边缘点和外边缘点分别拟合出4条直线,组成一个四边形内边框和一个四边形外边框;
2)、分别合并步骤1)中两个寻像图形拟合出的外边框直线和内边框直线:如果满足两条直线之间的距离小于5个像素且它们的夹角小于5°,则将两条直线上的点合并并重新拟合出一条新的直线;得到重新拟合的2条外边框线和2条内边框线。
3)、对一个寻像图形中没有合并的外边框直线和内边框直线之间黑色模块的中心线分别进行拟合,并向两个方向延伸扫描,判定QR码区域位于两个寻像图形中心连线的哪一侧,同时判断边界扫描终点位置,如果满足直线向外边框平移1个模块的位置,直线的外侧是白色边框,直线向内边框平移1个模块的位置,直线的外侧存在黑色模块,并且黑色模块数与白色模块数相差不超过25%,则这条直线为QR码的一条边界黑色模块中心线,将其向外边框平移0.5个模块构成QR码的一条边界E1;根据两个寻像图形的边缘点信息,确定模块尺寸、QR码的版本信息,进一步确定边界扫描终止位置D1;对另一个寻像图形中没有合并的外边框直线与内边框直线做同样的处理,找到另一条边界E2,并找到另一条边界E2的边界扫描终止位置D2;
4)、根据两条边界的扫描终止位置确定一条边界搜索直线L1,以一个边界扫描终止位置D2为起点,如果此点为污损点,沿此条边界搜索直线L1进行搜索,直到找到一个白色模块,以此白色模块为新的起点,将边界搜索直线L1向QR码内侧区域旋转5度,旋转后的边界搜索直线作为新的边界搜索直线L1,沿这条新的边界搜索直线L1继续向另一个边界扫描终止位置D1所在的方向搜索,直到找到一个黑色模块,然后对其进行边界追踪,如果边界点与边界搜索直线L1的距离为3个模块宽度以下,记录边界追踪得到的黑色点,如果边界点与边界搜索直线L1的距离大于3个模块宽度,终止追踪,作此终止点到边界搜索直线L1的垂线,找到此垂线与边界搜索直线L1的交点,并以此作为新的搜索起点,按前述方法搜索直到另一个边界扫描终止位置D1;根据边界追踪得到的黑色点,拟合出一条直线,作为QR码的第3条边界;第3条边界与另外两条边界的交点为QR码的两个角点,第三个寻像图形的位置在两个角点中的一个所在的位置;
S10423,两个二类寻像图形位于假设QR码的对角线上的两个角上时,假设第三个寻像图形的位置的方法包括如下步骤:
1)、先对每个寻像图形内边缘点和外边缘点分别拟合出4条直线,组成一个四边形内边框和一个四边形外边框;
2)、对每个寻像图形的外边框直线和内边框直线之间黑色模块的中心线分别进行拟合,将其向外边框平移0.5个模块构成QR码的一条边界,并进行延伸,两个二类寻像图形的前述边界相交,交点为可能的第三个寻像图形的角点,假设出第三个寻像图形的位置在假设QR码的另外两个角中的一个上,如果这个假设的第三个寻像图形的组合不能解码,则假设第三个寻像图形位于假设QR码的另一个角上;
对所述三个寻像图形一组进行组合前和/或两个二类寻像图形一组进行组合前,首先判断寻像图形的个数:
当寻像图形的个数为三个以上时,进行步骤S1041;
当寻像图形个数为两个时,直接进行步骤S1042;
当寻像图形个数为一个时,直接进行步骤S1043;
当寻像图形个数小于一个时,进行步骤S105;
当二类寻像图形为两个以上时,每两个寻像图形一组进行组合,再解码;
当二类寻像图形个数为一个时,进行步骤S1043;
当二类寻像图形个数小于一个时,进行步骤S105;
所述S1043中每个寻像图形,分别解码,包括如下步骤:
S401:对未解码成功的两个寻像图形构成的组合进行筛选,筛选出三类寻像图形;
S403:假设每个三类寻像图形均对应一个QR码,假设每个QR码的第二寻像图形、第三个寻像图形的位置;
S404:对第一个寻像图形对应的假设QR码进行解码,判断解码是否成功,
如果S404判断的结果为是,进行S405:返回QR码码值,
并进行S406:判断成功解码的QR码码值的个数是否为要求的解码个数,
如果S406判断的结果为是,进行S105:结束解码,
如果S406判断的结果为否,进行S408:判断已进行解码的三类寻像图形个数是否为总的三类寻像图形的个数,
如果S408判断的结果为是,进行所述步骤S105:结束解码,
如果S408判断的结果为否,进行S409,对下一个三类寻像图形对应的QR码进行解码,判断解码是否成功,
如果S409判断的结果为是,进行前述S05,
如果S409判断的结果为否,进行S407,记录未解码成功的三类寻像图形,
如果S404判断的结果为否,进行S407。
所述步骤S1043中利用QR码的三个寻像图形的位置关系假设第二个寻像图形、第三个寻像图形的位置的方法包括如下步骤:
1)、先对当前寻像图形内边缘点和外边缘点分别拟合出4条直线,组成一个四边形内边框和一个四边形外边框;
2)、根据寻像图形的边缘点信息确定模块尺寸信息;
3)、对外边框直线和内边框直线之间黑色模块的中心线分别拟合成一条直线,并沿着一条直线两个方向进行扫描,扫描长度最大为40模块宽度,最小长度14个模块宽度;如果满足该直线向一侧平移一个模块宽度位置是白色外边框,向相对的另一侧平移一个负的模块宽度是黑色模块,黑色模块数与白色模块数相差不到25%,则可以确定为QR码的一条边界,同时终止扫描。对其它拟合的直线进行同样处理,如果可以找到两条可能的边界,则认为是一个可能的QR码区域,并根据直线扫描的方向确定QR码位于两条边界围成的四个象限的哪一个象限;
4)、以一条边界为起始直线,这条边界长度为21个模块宽度,并以一个模块宽度向QR码区域内侧平移、扫描这条直线直到这条直线是一条白色外边框为止;如果能够找到白色外边框,按照S10422中的方法得到第三条边界,同样的方法通过另一条边界得到第4条边界;
5)、分别假设未知的两个寻像图形在QR码的另外3个角上,构成三种寻像图形组合。
 
附图说明
图1为本发明一种QR码抗污损识别方法实施例的流程图之一;
图2为本发明一种QR码抗污损识别方法实施例的流程图之二;
图3为本发明一种QR码抗污损识别方法实施例的流程图之三;
图4为本发明一种QR码抗污损识别方法实施例的流程图之四;
图5为本发明一种QR码抗污损识别方法实施例的流程图之五;
图6为本发明一种QR码抗污损识别方法实施例的流程图之六;
图7为本发明一种QR码抗污损识别方法实施例的流程图之七;
图8为本发明一种QR码抗污损识别方法实施例灰度图像的示意图;
图9为假设图8 B的第三个寻像图形位置的示意图;
图10为假设图8 C的第二个、第三个寻像图形位置的示意图。
 
具体实施方式
实施例1:
如图6所示,本发明公开了一种QR码抗污损识别方法,包括如下步骤:
S102:获取图像中所有可能的寻像图形;图像为灰度图像或彩色图像,获取彩色图像中寻像图形的步骤包括先对其进行灰度化处理,得到灰度图像;
S104:QR码的解码识别,包括如下步骤:
S1041:对灰度图像进行二值化处理,每三个寻像图形一组,解码:将所有可能的寻像图形每三个一组进行组合,并假设每一组寻像图形组合均相应的对应一个QR码,其为假设QR码,再对假设的QR码进行解码,解码成功的,返回QR码码值,未解码成功的,记录相应的寻像图形组合;
S1042:每两个二类寻像图形一组,解码:对步骤S1041记录的未解码成功的寻像图形组合进行筛选,找出与其它寻像图形构成的所有组合均未解码成功的寻像图形,将其归类为二类寻像图形,将所有二类寻像图形每两个一组进行组合,并假设每一组寻像图形组合均相应的对应一个QR码,其为假设QR码,再利用QR码的三个寻像图形的位置关系假设第三个寻像图形的位置,然后进行解码,解码成功的,返回QR码码值;
S105:结束解码。
其中步骤S102中获取图像中所有可能的寻像图形的过程可包括如下步骤:
S1021:通过边缘检测获取寻像图形的水平边缘点群;
S1022:通过边缘检测获取寻像图形的垂直边缘点群;
S1023:对水平边缘点群中心连接的线段和垂直边缘点群中心连接的线段相交的所有点群进行合并,并重新计算每个合并后的边缘点群的中心点,作为可能的寻像图形的中心,外边缘点围成的图形为寻像图形;
其中步骤S1021中获取水平边缘点群的方法可包括步骤:横向扫描灰度图像的每一行,对每一行进行移动均值滤波去噪,再进行二阶差分运算,得到可能的边缘点,并记录边缘点和边缘点之间的灰度变化情况;记录满足宽度比黑:白:黑:白:黑为1:1:3:1:1的边缘点作为可能的寻像图形的内边框和外边框的边缘点,再对边缘点进行分类组合得到水平边缘点群;类似的,步骤S1022中获取垂直边缘点群的步骤包括:纵向扫描灰度图像的每一列,对每一列进行移动均值滤波去噪,再进行二阶差分运算,得到可能的边缘点,并记录边缘点和边缘点之间的灰度变化情况;记录满足宽度比黑:白:黑:白:黑为1:1:3:1:1的边缘点作为可能的寻像图形的内边框和外边框的边缘点,再对边缘点进行分类组合得到垂直边缘点群。
其中步骤S1042中,利用QR码的三个寻像图形的位置关系假设第三个寻像图形的位置的方法可为拟合直线,找交点的方法,可为如下方法:
方法A:
在步骤S1042中,利用QR码的三个寻像图形的位置关系假设第三个寻像图形的位置的方法为拟合直线,找交点的方法,包括如下步骤:
S10421,计算一组的两个二类寻像图形的中心之间的距离l,在其中一个二类寻像图形外边框上任取一点,计算这个点到另外一个二类寻像图形外边框四条直线的距离,这四个距离中只要有一个距离小于0.5l,则假设两个二类寻像图形位于QR码的同一侧,否则假设两个二类寻像图形位于QR码的对角线上的两个角上;
如图9所示,S10422,两个二类寻像图形位于假设QR码的同一侧时,假设第三个寻像图形的位置的方法包括如下步骤:
1)、先对每个寻像图形内边缘点和外边缘点分别拟合出4条直线,组成一个四边形内边框和一个四边形外边框;
2)、分别合并步骤1)中两个寻像图形拟合出的外边框直线和内边框直线:如果满足两条直线之间的距离小于5个像素且它们的夹角小于5°,则将两条直线上的点合并并重新拟合出一条新的直线;得到重新拟合的2条外边框线和2条内边框线。
根据QR码中两个寻像图形的边缘点信息,可以确定:(1)、模块尺寸;(2)QR码的版本信息,也即是当前QR码宽、高方向模块数。
3)、对一个寻像图形中没有合并的外边框直线和内边框直线之间黑色模块的中心线分别进行拟合,并向两个方向延伸扫描,判定QR码区域位于两个寻像图形中心连线的哪一侧,同时判断边界扫描终点位置,如果满足直线向外边框平移1个模块的位置,直线的外侧是白色边框,直线向内边框平移1个模块的位置,直线的外侧存在黑色模块,并且黑色模块数与白色模块数相差不超过25%,则这条直线为QR码的一条边界黑色模块中心线,将其向外边框平移0.5个模块构成QR码的一条边界E3;根据两个寻像图形的边缘点信息,确定模块尺寸、QR码的版本信息,进一步确定边界扫描终止位置D1;对另一个寻像图形中没有合并的外边框直线与内边框直线做同样的处理,找到另一条边界E4,并找到另一条边界扫描的终止位置D2;
4)、根据D1、D2确定一条直线L1,以D2为起点,如果此点为污损点,沿此条直线搜索,直到找到一个白色模块,以此白色模块为新的起点,将直线向QR码内侧区域旋转5度,沿这条新的直线继续向D1所在的方向搜索,直到找到一个黑色模块,然后对其进行边界追踪,如果边界点与L1的距离为3个模块宽度以下,记录边界追踪得到的黑色点,如果边界点与L1的距离大于3个模块宽度,终止追踪,作此终止点到L1的垂线,找到此垂线与L1的交点,并以此作为新的搜索起点,按前述方法搜索直到另一个终止位置D1;根据边界追踪得到的黑色点,拟合出一条直线,作为QR码的第3条边界;第3条边界与另外两条边界的交点为QR码的两个角点,第三个寻像图形的位置在两个角点中的一个所在的位置;
S10423,两个二类寻像图形位于假设QR码的对角线上的两个角上时,假设第三个寻像图形的位置的方法包括如下步骤:
1)、先对每个寻像图形内边缘点和外边缘点分别拟合出4条直线,组成一个四边形内边框和一个四边形外边框;
2)、对每个寻像图形的外边框直线和内边框直线之间黑色模块的中心线分别进行拟合,将其向外边框平移0.5个模块构成QR码的一条边界,并进行延伸,两个二类寻像图形的前述边界相交,交点为可能的第三个寻像图形的角点,假设出第三个寻像图形的位置在假设QR码的另外两个角中的一个上,如果这个假设的第三个寻像图形的组合不能解码,则假设第三个寻像图形位于假设QR码的另一个角上;
后面述及的根据一个三类寻像图形假设QR码中另外两个寻像图形的位置时,也可以通过这种方法先找出两条边界。
实施例2:
本实施例在实施例1的基础上进行了改进,改进了S1041中每三个寻像图形一组,解码的过程。
三个寻像图形组合解码的过程包括如下步骤:
S201:每三个寻像图形一组进行组合,假设每个组合均对应一个QR码;
S202:对第一个寻像图形组合对应的QR码进行解码,判断解码是否成功,
如果S202判断的结果为是,进行S203:返回QR码码值,
并进行S206:判断已进行解码的组合的个数是否为总的组合个数,
如果S206判断的结果为是,进行步骤S1042,
如果S206判断的结果为否,进行S207,对下一个寻像图形组合对应的QR码进行解码,判断解码是否成功,
如果S207判断的结果为是,进行前述S203,
如果S207判断的结果为否,进行S205:记录未解码的组合,
并进行前述步骤S206,
如果S202判断的结果为否,进行前述步骤S205;
各步骤之间的流程可以参考图2。
实施例3:
如图2所示,本实施例在实施例2的基础上增加了成功解码个数是否为要求的解码个数的判断过程,三个寻像图形组合解码的过程包括如下步骤:
对假设的QR码进行解码前设置要求成功解码的QR码个数,为要求的解码个数,解码过程与实施例2的区别如下:
如果S202判断的结果为是,进行S203: 返回QR码码值,并进行S204:判断成功解码的QR码码值的个数是否为要求的解码个数,
如果S204判断的结果为是,进行S105:结束解码,
如果S204判断的结果为否,才进行S206:判断已进行解码的组合的个数是否为总的组合个数。
实施例4:
本实施例在实施例1的基础上进行了改进,改进了S1042中每两个二类寻像图形一组,解码的过程。
两个二类寻像图形组合解码的过程包括如下步骤:
S301:对未解码成功的三个寻像图形构成的组合进行筛选,筛选出二类寻像图形;
S303:每两个二类寻像图形一组进行组合,假设每个组合均对应一个QR码;
S304:假设每个QR码的第三个寻像图形的位置;
S305:对第一个寻像图形组合对应的QR码进行解码,判断解码是否成功,
如果S305判断的结果为是,进行S306:返回QR码码值,
并进行S309:判断已进行解码的组合的个数是否为总的组合个数,
如果S309判断的结果为是,进行步骤S105,
如果S309判断的结果为否,进行S310:对下一个寻像图形组合对应的QR码进行解码,判断解码是否成功,
如果S310判断的结果为是,进行前述S306,
如果S310判断的结果为否,进行前述S309,
如果S305判断的结果为否,进行前述S309;
各步骤之间的流程可以参考图5。
实施例5:
本实施例在实施例4的基础上增加了成功解码个数是否为要求的解码个数的判断过程,两个二类寻像图形组合解码的过程包括如下步骤:
对假设的QR码进行解码前设置要求成功解码的QR码个数,为要求的解码个数,解码过程与实施例4的区别如下:
如果S305判断的结果为是,进行S306:返回QR码码值,并进行S307:判断成功解码的QR码码值的个数是否为要求的解码个数,
如果S307判断的结果为是,进行S105:结束解码,
如果S307判断的结果为否,才进行S309:判断已进行解码的组合的个数是否为总的组合个数;
各步骤之间的流程可以参考图5。
实施例6:
如图7所示,本实施例与实施例1-5的区别在于:在步骤S1042中增加了记录未解码成功的寻像图形组合的步骤,在步骤S1042后增加进行步骤S1043,执行步骤S1042后不跳转到结束,而是跳转到步骤S1043;
S1043包括如下步骤:每个寻像图形,分别解码:对步骤S1042记录的未解码成功的寻像图形组合进行筛选,找出与其它寻像图形构成的所有组合均未解码成功的寻像图形,将其归类为三类寻像图形,假设所有三类寻像图形均相应的对应一个QR码,其为假设QR码,再利用QR码的三个寻像图形的位置关系假设第二个寻像图形、第三个寻像图形的位置,然后进行解码,解码成功的,返回QR码码值。
其中步骤S1043中,利用QR码的三个寻像图形的位置关系假设第二个寻像图形、第三个寻像图形的位置的方法包括如下步骤:
S401:对未解码成功的两个寻像图形构成的组合进行筛选,筛选出三类寻像图形;
S403:假设每个三类寻像图形均对应一个QR码,假设每个QR码的第二寻像图形、第三个寻像图形的位置;
步骤S403的方法可包括如下步骤:
1)、先对当前寻像图形内边缘点和外边缘点分别拟合出4条直线,组成一个四边形内边框和一个四边形外边框;
2)、根据寻像图形的边缘点信息确定模块尺寸信息;
3)、对外边框直线和内边框直线之间黑色模块的中心线分别进行拟合成一条直线,并沿着这条直线两个方向进行扫描,扫描长度最大为40模块宽度,最小长度14个模块宽度;如果满足该直线一侧平移一个模块宽度位置是白色外边框,另一侧平移一个负的模块宽度黑色模块数与白色模块数相差不到25%,则可以确定为QR码的一条边界,同时终止扫描。如果可以找到两条可能的边界,分别为边界E1、边界E2,则认为是一个可能的QR码区域,并根据直线扫描的方向确定QR码位于边界E1、边界E2围成的四个象限的哪一个象限;
4)、以边界E1为起始直线,边界E1长度为21个模块宽度,并以一个模块宽度向QR码区域内侧平移、扫描这条直线直到这条直线是一条白色外边框为止;如果能够找到白色外边框,按照S10422中的方法得到第三条边界。同样的办法得到第4条边界;
5)、分别假设未知两个寻像图形在QR码的另外3个角上,有三种组合,寻找可能的成功解码组合。
S404:对第一个寻像图形对应的假设QR码进行解码,判断解码是否成功,
如果S404判断的结果为是,进行S405:返回QR码码值,
并进行S406:判断成功解码的QR码码值的个数是否为要求的解码个数,
如果S406判断的结果为是,进行S105:结束解码,
如果S406判断的结果为否,进行S408:判断已进行解码的三类寻像图形个数是否为总的三类寻像图形的个数,
如果S408判断的结果为是,进行步骤S105:结束解码,
如果S408判断的结果为否,进行S409,对下一个三类寻像图形对应的QR码进行解码,判断解码是否成功,
如果S409判断的结果为是,进行前述S05,
如果S409判断的结果为否,进行S407,记录未解码成功的三类寻像图形,
如果S404判断的结果为否,进行S407;
各步骤之间的流程可以参考图4。
实施例7:
本实施例与实施例1-7的区别在于:为提高解码效率,对三个寻像图形一组进行组合前和/或两个二类寻像图形一组进行组合前,首先判断寻像图形的个数是否为不小于一个组合需要的寻像图形的个数,在对第三类寻像图形进行解码时,在假设第二寻像图形、第三寻像图形的位置前,也对其个数是否不小于1进行判断:
三个寻像图形一组进行组合前进行如下判断:
当寻像图形的个数为三个以上时,进行步骤S1041;
当寻像图形个数为两个时,直接进行步骤S1042,此时的两个寻像图形也归类为二类寻像图形;
当寻像图形个数为一个时,直接进行步骤S1043,此时的两个寻像图形也归类为三类寻像图形;如果为提高准确度和效率,不进行步骤S1043,则在寻像图形个数为一个以下时,跳转到步骤S105结束解码;
当寻像图形个数小于1个时,进行步骤S105,结束解码;
两个二类寻像图形一组进行组合前进行如下判断:
当二类寻像图形个数为两个以上时,每两个寻像图形一组进行组合,再解码;
当二类寻像图形个数为一个时,进行步骤S1043;如果为提高准确度和效率,不进行步骤S1043,则在二类寻像图形个数为一个以下时,跳转到步骤S105结束解码;
当二类寻像图形个数小于一个时,进行步骤S105,结束解码;
第三类寻像图形进行解码时,在假设第二寻像图形、第三寻像图形的位置前进行如下判断:
当三类寻像图形个数为一个以上时,假设第二寻像图形、第三寻像图形的位置,再解码;
当三类寻像图形个数小于一个时,进行步骤S105,结束解码。
对应附图进行说明:
如图1所示,其是在图7的基础上增加了进行步骤S1041前判断寻像图形个数的过程,即在进行步骤S102后,先进行S103:判断寻像图形的个数是否为3个以上,
如果判断的结果为是才进行步骤S1041,
如果判断的结果为否,则判断寻像图形的个数是否为2个以上,
如果判断结果为是,两个寻像图形组合解码,
如果判断结果为否,进行步骤S1043;
步骤S1042中每两个寻像图形进行组合前,也进行前述寻像图形的个数是否为2个以上的判断。
如图3所示,其是在实施例6的基础上增加了进行步骤S303前判断二类寻像图形个数的过程,即在进行步骤S301后,先进行S302:判断寻像图形的个数是否为2个以上,
如果判断的结果为是才进行步骤S303,
如果判断的结果为否,到图1的步骤S1043。
如图4所示,其是在实施例7的基础上增加了进行步骤S403前判断三类寻像图形个数的过程,即在进行步骤S401后,先进行S402:判断寻像图形的个数是否为1个以上,
如果判断的结果为是才进行步骤S403,
如果判断的结果为否,到图1的步骤S105,结束解码。
如图5所示,其是在实施例4、实施例5的基础上增加了进行步骤S303前判断二类寻像图形个数的过程,即在进行步骤S301后,先进行S302:判断寻像图形的个数是否为2个以上,
如果判断的结果为是才进行步骤S303,
如果判断的结果为否,到图1的步骤S105,结束解码。
实施例8:
本实施例在实施例1的基础上,以一个含有一个以上的QR码的灰度图像为例说明其解码过程:
首先获取图像中所有可能的寻像图形,如图8所示,平面内有A、B、C、D四枚QR码图案,并识别找到7寻像图形,分别为寻像图形1、寻像图形2、寻像图形3、寻像图形4、寻像图形5、寻像图形6、寻像图形7,为了便于表示其组合,分别用(1)、(2)、(3)、(4)、(5)、(6)、(7)来表示这7个寻像图形,对该三枚QR码的解码方式按照下列时序步骤进行:
步骤a:将6个寻像图形每三个一组进行组合,例如(1)(2)(3)、(1)(2)(4)、(1)(2)(5)、(1)(2)(6)、(1)(2)(7)……,并假设每一组均对应一个QR码,然后对每一个假设的QR码进行解码,解码成功的返回QR码码值,未解码成功的,记录该寻像图形组合,如图8,筛选出哪些寻像图形在其构成的QR码均解码失败,归类为二类寻像图形,所有组合中只有组合(1)(2)(5)构成的码图A解码成功,而包含有(3)、(4)、(6)或(7)的QR码图案均没有解码成功。
步骤b:将寻像图形(3)、(4)、(6)、(7)每两个一组进行排列组合,例如(3)(4)、(3)(6)、(3)(7)……,并假设每一组均构成QR码图案,再利用QR码的三个寻像图形的位置关系找到第三个寻像图形的位置,确定QR码的位置;
然后将上述假设的QR码进行解码,返回解码成功的QR码码值,同时记录未解码成功的组合,筛选出哪些寻像图形在其构成的所有假设的QR码中均解码失败,归类为三类寻像图形,由图8可知,此时只有当寻像图形(3)、(4)组合,并且(3)为左上角、(4)为右上角时,码图B才可被成功解码,而寻像图形(6)、(7)构成的QR码仍没有解码成功。
步骤c:解码过程结束;此种只解码到两个二类寻像图形组合的情况,可以不记录两个寻像图形构成的未解码成功的组合;
       或者进行三类寻像图形的解码(对应码图C、D),返回解码成功的QR码码值,完成三类寻像图形的解码后结束解码。
而为提高检测效率,优选在步骤a之前首先判断寻像图形的个数:1)当寻像图形的个数为三个以上时,进行步骤a;2)当寻像图形个数为两个时,直接进行步骤b;3)当寻像图形个数为一个时,进行C;4)当寻像图形个数小于1个时,结束解码;因为寻像图形为7个【(1)、(2)、(3)、(4)、(5)、(6)、(7)】,大于3,所以进行步骤a。
优选在步骤b之前首先判断二类寻像图形的个数:1)当二类寻像图形的个数为两个以上时,进行步骤b;2)当寻像图形个数为一个时,直接进行步骤c;3)当寻像图形个数为小于1个时,结束解码;因为二类寻像图形为4个【(3)、(4)、(6)、(7)】,大于2,所以进行步骤b。
优选在步骤c之前首先判断三类寻像图形的个数:1)当二类寻像图形的个数为一个以上时,进行步骤c;2)当寻像图形个数小于一个时,结束解码。因为三类寻像图形为2个【(6)、(7)】,大于1,所以进行步骤c。
也可优选有一个成功解码的组合时,对包含这个组合中的至少一个寻像图形对应的其它组合,不进行解码。如进行三个寻像图形组合解码时,如果(1)(2)(5)已经成功解码,则包括(1)、(2)或(5)中任意一个或者多个的其它组合,如(1)(2)(6)、(1)(2)(7)、(5)(6)(7)等,如果还没有进行解码,则不必进行解码。

Claims (10)

1.一种QR码抗污损识别方法,其特征在于,包括如下步骤:
S102:获取图像中所有可能的寻像图形;图像为灰度图像或彩色图像,获取彩色图像中寻像图形的步骤包括先对其进行灰度化处理,得到灰度图像;
S104:QR码的解码识别,包括如下步骤:
S1041:对灰度图像进行二值化处理,每三个寻像图形一组,解码:将所有可能的寻像图形每三个一组进行组合,并假设每一组寻像图形组合均相应的对应一个QR码,其为假设QR码,再对假设的QR码进行解码,解码成功的,返回QR码码值,未解码成功的,记录相应的寻像图形组合;
S1042:每两个二类寻像图形一组,解码:对步骤S1041记录的未解码成功的寻像图形组合进行筛选,找出与其它寻像图形构成的所有组合均未解码成功的寻像图形,将其归类为二类寻像图形,将所有二类寻像图形每两个一组进行组合,并假设每一组寻像图形组合均相应的对应一个QR码,其为假设QR码,再利用QR码的三个寻像图形的位置关系假设第三个寻像图形的位置,然后进行解码,解码成功的,返回QR码码值;
S105:结束解码。
2.根据权利要求1所述的一种QR码抗污损识别方法,其特征在于,所述S1041中每三个寻像图形一组,解码,包括如下步骤:
S201:每三个寻像图形一组进行组合,假设每个组合均对应一个QR码;
S202:对第一个寻像图形组合对应的QR码进行解码,判断解码是否成功,
如果S202判断的结果为是,进行S203:返回QR码码值,
并进行S206:判断已进行解码的组合的个数是否为总的组合个数,
如果S206判断的结果为是,进行所述步骤S1042,
如果S206判断的结果为否,进行S207,对下一个寻像图形组合对应的QR码进行解码,判断解码是否成功,
如果S207判断的结果为是,进行前述S203,
如果S207判断的结果为否,进行S205:记录未解码成功的组合,
并进行前述步骤S206,
如果S202判断的结果为否,进行前述步骤S205。
3.根据权利要求1所述的一种QR码抗污损识别方法,其特征在于,所述S1041中每三个寻像图形一组,解码,对假设的QR码进行解码前设置要求成功解码的QR码个数,为要求的解码个数,解码包括如下步骤:
S201:每三个寻像图形一组进行组合,假设每个组合均对应一个QR码;
S202:对第一个寻像图形组合对应的QR码进行解码,判断解码是否成功,
如果S202判断的结果为是,进行S203: 返回QR码码值,
并进行S204:判断成功解码的QR码码值的个数是否为要求的解码个数,
如果S204判断的结果为是,进行S105:结束解码,
如果S204判断的结果为否,进行S206:判断已进行解码的组合的个数是否为总的组合个数,
如果S206判断的结果为是,进行所述步骤S1042,
如果S206判断的结果为否,进行S207,对下一个寻像图形组合对应的QR码进行解码,判断解码是否成功,
如果S207判断的结果为是,进行前述S203,
如果S207判断的结果为否,进行S205,记录未解码成功的组合,
并进行前述步骤S206,
如果S202判断的结果为否,进行前述步骤S205。
4.根据权利要求1所述的一种QR码抗污损识别方法,其特征在于,所述S1042中每两个二类寻像图形一组,解码,包括如下步骤:
S301:对未解码成功的三个寻像图形构成的组合进行筛选,筛选出二类寻像图形;
S303:每两个二类寻像图形一组进行组合,假设每个组合均对应一个QR码;
S304:假设每个QR码的第三个寻像图形的位置;
S305:对第一个寻像图形组合对应的QR码进行解码,判断解码是否成功,
如果S305判断的结果为是,进行S306:返回QR码码值,
并进行S309:判断已进行解码的组合的个数是否为总的组合个数,
如果S309判断的结果为是,进行所述步骤S105,
如果S309判断的结果为否,进行S310:对下一个寻像图形组合对应的QR码进行解码,判断解码是否成功,
如果S310判断的结果为是,进行前述S306,
如果S310判断的结果为否,进行前述S309,
如果S305判断的结果为否,进行前述S309。
5.根据权利要求1所述的一种QR码抗污损识别方法,其特征在于,所述S1042中每两个二类寻像图形一组,解码,对假设的QR码进行解码前设置要求成功解码的QR码个数,为要求的解码个数,解码包括如下步骤:
S301:对未解码成功的三个寻像图形构成的组合进行筛选,筛选出二类寻像图形;
S303:每两个二类寻像图形一组进行组合,假设每个组合均对应一个QR码;
S304:假设每个QR码的第三个寻像图形的位置;
S305:对第一个寻像图形组合对应的QR码进行解码,判断解码是否成功,
如果S305判断的结果为是,进行S306:返回QR码码值,
并进行S307:判断成功解码的QR码码值的个数是否为要求的解码个数,
如果S307判断的结果为是,进行S105:结束解码,
如果S307判断的结果为否,进行S309:判断已进行解码的组合的个数是否为总的组合个数,
如果S309判断的结果为是,进行所述步骤S1043,
如果S309判断的结果为否,进行S310:对下一个寻像图形组合对应的QR码进行解码,判断解码是否成功,
如果S310判断的结果为是,进行前述S306,
如果S310判断的结果为否,进行S308:记录未解码成功的组合,
并进行前述S309,
如果S305判断的结果为否,进行前述S308。
6.根据权利要求1所述的一种QR码抗污损识别方法,其特征在于,所述步骤S1042还包括记录未解码成功的寻像图形组合;所述QR码抗污损识别方法的步骤还包括,在进行步骤S1042后进行S1043;
S1043:每个寻像图形,分别解码:对步骤S1042记录的未解码成功的寻像图形组合进行筛选,找出与其它寻像图形构成的所有组合均未解码成功的寻像图形,将其归类为三类寻像图形,假设所有三类寻像图形均相应的对应一个QR码,其为假设QR码,再利用QR码的三个寻像图形的位置关系假设第二个寻像图形、第三个寻像图形的位置,然后进行解码,解码成功的,返回QR码码值。
7.根据权利要求1至6中任一权利要求所述的一种QR码抗污损识别方法,其特征在于,所述图像为灰度图像,所述步骤S102中获取图像中所有可能的寻像图形的过程包括如下步骤:
S1021:通过边缘检测获取寻像图形的水平边缘点群:横向扫描灰度图像的每一行,对每一行进行移动均值滤波去噪,再进行二阶差分运算,得到可能的边缘点,并记录边缘点和边缘点之间的灰度变化情况;记录满足宽度比黑:白:黑:白:黑为1:1:3:1:1的边缘点作为可能的寻像图形的内边框和外边框的边缘点,再对边缘点进行分类组合得到水平边缘点群;
S1022:通过边缘检测获取寻像图形的垂直边缘点群:纵向扫描灰度图像的每一列,对每一列进行移动均值滤波去噪,再进行二阶差分运算,得到可能的边缘点,并记录边缘点和边缘点之间的灰度变化情况;记录满足宽度比黑:白:黑:白:黑为1:1:3:1:1的边缘点作为可能的寻像图形的内边框和外边框的边缘点,再对边缘点进行分类组合得到垂直边缘点群;
S1023:对水平边缘点群中心连接的线段和垂直边缘点群中心连接的线段相交的所有点群进行合并,并重新计算每个合并后的边缘点群的中心点,作为可能的寻像图形的中心,外边缘点围成的图形为寻像图形。
8.根据权利要求1至6中任一权利要求所述的QR码抗污损识别方法,其特征在于,在所述步骤S1042中,利用QR码的三个寻像图形的位置关系假设第三个寻像图形的位置的方法为拟合直线,找交点的方法,包括如下步骤:
S10421,计算一组的两个所述二类寻像图形的中心之间的距离l,在其中一个二类寻像图形外边框上任取一点,计算这个点到另外一个二类寻像图形外边框四条直线的距离,这四个距离中只要有一个距离小于0.5l,则假设两个二类寻像图形位于QR码的同一侧,否则假设两个二类寻像图形位于QR码的对角线上的两个角上;
S10422,两个二类寻像图形位于假设QR码的同一侧时,假设第三个寻像图形的位置的方法包括如下步骤:
1)、先对每个寻像图形内边缘点和外边缘点分别拟合出4条直线,组成一个四边形内边框和一个四边形外边框;
2)、分别合并步骤1)中两个寻像图形拟合出的外边框直线和内边框直线:如果满足两条直线之间的距离小于5个像素且它们的夹角小于5°,则将两条直线上的点合并并重新拟合出一条新的直线;得到重新拟合的2条外边框线和2条内边框线;
3)、对一个寻像图形中没有合并的外边框直线和内边框直线之间黑色模块的中心线分别进行拟合,并向两个方向延伸扫描,判定QR码区域位于两个寻像图形中心连线的哪一侧,同时判断边界扫描终点位置,如果满足直线向外边框平移1个模块的位置,直线的外侧是白色边框,直线向内边框平移1个模块的位置,直线的外侧存在黑色模块,并且黑色模块数与白色模块数相差不超过25%,则这条直线为QR码的一条边界黑色模块中心线,将其向外边框平移0.5个模块构成QR码的一条边界(E1);根据两个寻像图形的边缘点信息,确定模块尺寸、QR码的版本信息,进一步确定边界扫描终止位置(D1);对另一个寻像图形中没有合并的外边框直线与内边框直线做同样的处理,找到另一条边界(E2),并找到另一条边界(E2)的边界扫描终止位置(D2);
4)、根据两条边界的扫描终止位置确定一条边界搜索直线(L1),以一个边界扫描终止位置(D2)为起点,如果此点为污损点,沿此条边界搜索直线(L1)进行搜索,直到找到一个白色模块,以此白色模块为新的起点,将边界搜索直线(L1)向QR码内侧区域旋转5度,旋转后的边界搜索直线作为新的边界搜索直线(L1),沿这条新的边界搜索直线(L1)继续向另一个边界扫描终止位置(D1)所在的方向搜索,直到找到一个黑色模块,然后对其进行边界追踪,如果边界点与边界搜索直线(L1)的距离为3个模块宽度以下,记录边界追踪得到的黑色点,如果边界点与边界搜索直线(L1)的距离大于3个模块宽度,终止追踪,作此终止点到边界搜索直线(L1)的垂线,找到此垂线与边界搜索直线(L1)的交点,并以此作为新的搜索起点,按前述方法搜索直到另一个边界扫描终止位置(D1);根据边界追踪得到的黑色点,拟合出一条直线,作为QR码的第3条边界;第3条边界与另外两条边界的交点为QR码的两个角点,第三个寻像图形的位置在两个角点中的一个所在的位置;
S10423,两个二类寻像图形位于假设QR码的对角线上的两个角上时,假设第三个寻像图形的位置的方法包括如下步骤:
1)、先对每个寻像图形内边缘点和外边缘点分别拟合出4条直线,组成一个四边形内边框和一个四边形外边框;
2)、对每个寻像图形的外边框直线和内边框直线之间黑色模块的中心线分别进行拟合,将其向外边框平移0.5个模块构成QR码的一条边界,并进行延伸,两个二类寻像图形的前述边界相交,交点为可能的第三个寻像图形的角点,假设出第三个寻像图形的位置在假设QR码的另外两个角中的一个上,如果这个假设的第三个寻像图形的组合不能解码,则假设第三个寻像图形位于假设QR码的另一个角上。
9.根据权利要求8所述的QR码抗污损识别方法,其特征在于,对所述三个寻像图形一组进行组合前和/或两个二类寻像图形一组进行组合前,首先判断寻像图形的个数:
当寻像图形的个数为三个以上时,进行步骤S1041;
当寻像图形个数为两个时,直接进行步骤S1042;
当寻像图形个数为一个时,直接进行步骤S1043;
当寻像图形个数小于一个时,进行步骤S105;
当二类寻像图形为两个以上时,每两个寻像图形一组进行组合,再解码;
当二类寻像图形个数为一个时,进行步骤S1043;
当二类寻像图形个数小于一个时,进行步骤S105;
所述S1043中每个寻像图形,分别解码,包括如下步骤:
S401:对未解码成功的两个寻像图形构成的组合进行筛选,筛选出三类寻像图形;
S403:假设每个三类寻像图形均对应一个QR码,假设每个QR码的第二寻像图形、第三个寻像图形的位置;
S404:对第一个寻像图形对应的假设QR码进行解码,判断解码是否成功,
如果S404判断的结果为是,进行S405:返回QR码码值,
并进行S406:判断成功解码的QR码码值的个数是否为要求的解码个数,
如果S406判断的结果为是,进行S105:结束解码,
如果S406判断的结果为否,进行S408:判断已进行解码的三类寻像图形个数是否为总的三类寻像图形的个数,
如果S408判断的结果为是,进行所述步骤S105:结束解码,
如果S408判断的结果为否,进行S409,对下一个三类寻像图形对应的QR码进行解码,判断解码是否成功,
如果S409判断的结果为是,进行前述S05,
如果S409判断的结果为否,进行S407,记录未解码成功的三类寻像图形,
如果S404判断的结果为否,进行S407。
10.根据权利要求8所述的QR码抗污损识别方法,其特征在于,所述步骤S1043中利用QR码的三个寻像图形的位置关系假设第二个寻像图形、第三个寻像图形的位置的方法包括如下步骤:
1)、先对当前寻像图形内边缘点和外边缘点分别拟合出4条直线,组成一个四边形内边框和一个四边形外边框;
2)、根据寻像图形的边缘点信息确定模块尺寸信息;
3)、对外边框直线和内边框直线之间黑色模块的中心线分别拟合成一条直线,并沿着一条直线两个方向进行扫描,扫描长度最大为40模块宽度,最小长度14个模块宽度;如果满足该直线向一侧平移一个模块宽度位置是白色外边框,向相对的另一侧平移一个负的模块宽度是黑色模块,黑色模块数与白色模块数相差不到25%,则可以确定为QR码的一条边界,同时终止扫描;对其它拟合的直线进行同样处理,如果可以找到两条可能的边界,则认为是一个可能的QR码区域,并根据直线扫描的方向确定QR码位于两条边界围成的四个象限的哪一个象限;
4)、以一条边界为起始直线,这条边界长度为21个模块宽度,并以一个模块宽度向QR码区域内侧平移、扫描这条直线直到这条直线是一条白色外边框为止;如果能够找到白色外边框,按照S10422中的方法得到第三条边界,同样的方法通过另一条边界得到第4条边界;
5)、分别假设未知的两个寻像图形在QR码的另外3个角上,构成三种寻像图形组合。
CN201410162402.1A 2014-04-22 2014-04-22 一种qr码抗污损识别方法 Expired - Fee Related CN103955663B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410162402.1A CN103955663B (zh) 2014-04-22 2014-04-22 一种qr码抗污损识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410162402.1A CN103955663B (zh) 2014-04-22 2014-04-22 一种qr码抗污损识别方法

Publications (2)

Publication Number Publication Date
CN103955663A true CN103955663A (zh) 2014-07-30
CN103955663B CN103955663B (zh) 2017-02-01

Family

ID=51332938

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410162402.1A Expired - Fee Related CN103955663B (zh) 2014-04-22 2014-04-22 一种qr码抗污损识别方法

Country Status (1)

Country Link
CN (1) CN103955663B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104199916A (zh) * 2014-08-29 2014-12-10 北京智谷技术服务有限公司 信息获取方法及信息获取装置
CN104598904A (zh) * 2014-11-14 2015-05-06 腾讯科技(深圳)有限公司 一种图形码校正图形中心的定位方法和设备
CN104657700A (zh) * 2015-03-25 2015-05-27 广州宽度信息技术有限公司 一种二维码抗损坏解码方法
WO2017036265A1 (zh) * 2015-09-02 2017-03-09 福建联迪商用设备有限公司 Qr 码位置探测图形破损时的解码方法及系统
CN106529636A (zh) * 2016-10-18 2017-03-22 上海觉感视觉科技有限公司 一种qr码的位置探测图形分组方法
CN109325381A (zh) * 2018-08-13 2019-02-12 佛山市顺德区中山大学研究院 一种寻像图形缺失一处的qr码定位和校正算法
CN109711223A (zh) * 2018-12-28 2019-05-03 福州符号信息科技有限公司 一种提升qr码解码率方法及设备
WO2023284670A1 (zh) * 2021-07-12 2023-01-19 深圳思谋信息科技有限公司 图形码提取模型构建方法、识别方法、装置、设备和介质
CN115675581A (zh) * 2022-11-17 2023-02-03 重庆赛迪奇智人工智能科技有限公司 一种控制机车运行状态的方法、系统、装置及介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100464345C (zh) * 2006-11-07 2009-02-25 中国物品编码中心 二维条码符号转换为编码信息的方法
CN101908133B (zh) * 2010-06-01 2012-06-06 福建新大陆电脑股份有限公司 一种条码解码方法及装置
CN102999772B (zh) * 2012-11-14 2016-02-10 韩偲铭 一种新型矩阵式二维码的编解码方法

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104199916B (zh) * 2014-08-29 2017-09-05 北京智谷技术服务有限公司 信息获取方法及信息获取装置
CN104199916A (zh) * 2014-08-29 2014-12-10 北京智谷技术服务有限公司 信息获取方法及信息获取装置
CN104598904A (zh) * 2014-11-14 2015-05-06 腾讯科技(深圳)有限公司 一种图形码校正图形中心的定位方法和设备
CN104598904B (zh) * 2014-11-14 2019-04-02 腾讯科技(深圳)有限公司 一种图形码校正图形中心的定位方法和设备
CN104657700A (zh) * 2015-03-25 2015-05-27 广州宽度信息技术有限公司 一种二维码抗损坏解码方法
CN104657700B (zh) * 2015-03-25 2017-07-25 广州宽度信息技术有限公司 一种二维码抗损坏解码方法
WO2017036265A1 (zh) * 2015-09-02 2017-03-09 福建联迪商用设备有限公司 Qr 码位置探测图形破损时的解码方法及系统
CN106529636A (zh) * 2016-10-18 2017-03-22 上海觉感视觉科技有限公司 一种qr码的位置探测图形分组方法
CN106529636B (zh) * 2016-10-18 2019-08-13 上海觉感视觉科技有限公司 一种qr码的位置探测图形分组方法
CN109325381A (zh) * 2018-08-13 2019-02-12 佛山市顺德区中山大学研究院 一种寻像图形缺失一处的qr码定位和校正算法
CN109325381B (zh) * 2018-08-13 2022-03-08 佛山市顺德区中山大学研究院 一种qr码定位和校正方法
CN109711223A (zh) * 2018-12-28 2019-05-03 福州符号信息科技有限公司 一种提升qr码解码率方法及设备
WO2023284670A1 (zh) * 2021-07-12 2023-01-19 深圳思谋信息科技有限公司 图形码提取模型构建方法、识别方法、装置、设备和介质
CN115675581A (zh) * 2022-11-17 2023-02-03 重庆赛迪奇智人工智能科技有限公司 一种控制机车运行状态的方法、系统、装置及介质

Also Published As

Publication number Publication date
CN103955663B (zh) 2017-02-01

Similar Documents

Publication Publication Date Title
CN103955663A (zh) 一种qr码抗污损识别方法
EP0825547B1 (en) Two-dimensional code reader
CN110956169A (zh) 一种车牌识别方法、装置及电子设备
EP1524622A1 (en) Method and image processing device for analyzing an object contour image, method and image processing device for detecting an object, industrial vision apparatus, smart camera, image display, security system, and computer program product
US10354111B2 (en) Primary localization method and system for QR codes
CN102254144A (zh) 一种鲁棒的图像中二维码区域提取方法
CN107564006B (zh) 一种利用Hough变换的圆形目标检测方法
CN111353485B (zh) 印章识别方法、装置、设备及介质
CN112750107A (zh) 基于轮廓边数拟合与凸包处理的球形工件识别方法及系统
CN109059922A (zh) 移动机器人定位方法、装置和系统
CN104517108A (zh) 一种确定qr码二值化图像边缘线的方法及系统
CN110020571B (zh) 二维码校正方法、装置及设备
CN105095937A (zh) 一种基于直线聚类的圆形阵列图形码的视觉识别方法
KR101727138B1 (ko) 다중 영상을 이용한 컨테이너 코드 인식 장치 및 방법
CN103413291A (zh) 一种图像定位方法
CN103235951B (zh) 一种矩阵式二维条码的初步定位方法
Yang et al. A local voting and refinement method for circle detection
CN115063359B (zh) 基于对抗双自编码器网络的遥感图像变化检测方法及系统
CN115270841A (zh) 条码检测方法、装置、存储介质及计算机设备
CN108242059B (zh) 图像边界查找方法和装置
CN113066128A (zh) 自识别标识板的视觉检测与恢复方法、装置、设备及介质
CN106503604A (zh) 一种qr码的位置探测图形分组方法
CN112800797A (zh) 一种dm码的区域定位方法及系统
CN107133961B (zh) 一种检测处理视频图像中圆形区域的方法
CN118133858B (zh) 一种深度学习结合像素级检测的dm码定位识别方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220609

Address after: 510663 No. b013-b015, office card space of yueembedded Zhongchuang space on the fourth floor of block A107 and block B, creative center, TCL Cultural Industry Park, No. 69, spectrum West Road, Science City, Huangpu District, Guangzhou, Guangdong Province

Patentee after: Guangzhou Huii Information Technology Co.,Ltd.

Address before: 510663 Unit 502, Fifth Floor, B2 District, 162 Science Avenue, Science City, Guangzhou High-tech Industrial Development Zone, Guangdong Province

Patentee before: GUANGZHOU WIDTH INFORMATION TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170201

CF01 Termination of patent right due to non-payment of annual fee