CN109409163B - 一种基于纹理特性的qr码快速定位方法 - Google Patents
一种基于纹理特性的qr码快速定位方法 Download PDFInfo
- Publication number
- CN109409163B CN109409163B CN201811339397.1A CN201811339397A CN109409163B CN 109409163 B CN109409163 B CN 109409163B CN 201811339397 A CN201811339397 A CN 201811339397A CN 109409163 B CN109409163 B CN 109409163B
- Authority
- CN
- China
- Prior art keywords
- blob
- area
- code
- sub
- preset
- 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
- 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/1439—Methods for optical code recognition including a method step for retrieval of the optical code
- G06K7/1443—Methods for optical code recognition including a method step for retrieval of the optical code locating of the code in an image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/255—Detecting or recognising potential candidate objects based on visual cues, e.g. shapes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Electromagnetism (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Artificial Intelligence (AREA)
- Image Analysis (AREA)
Abstract
本申请公开一种基于纹理特性的QR码快速定位方法,所述方法包括:S100、确定图像的成像质量;S200、根据所述成像质量,将图像分块,得到数个子图像;S300、从数个所述子图像中筛选出候选区域;S400、利用候选区域,得到生长区域;S500、根据所述生长区域,得到仿射矩形;S600、根据所述仿射矩形,定位QR码。QR码有较强的边缘梯度幅值和近似正交的两个主方向,利用这一性质,可区分QR码区域与非QR码区域。本申请能够自动、快速、精确地定位到QR码的同时,并具有对各种复杂使用环境的良好适应性。
Description
技术领域
本申请涉及QR码定位技术领域,特别涉及一种基于纹理特性的QR码快速定位方法。
背景技术
QR码的“QR”是Quick Response的缩写。这种二维码能够快速读取,与之前的条形码相比,QR码能存储更丰富的信息,包括对文字、URL地址和其他类型的数据加密。
QR码识别是机器视觉中的一个重要应用,在进行QR码的信号提取和解码之前,需要首先在图像中定位QR码所在的区域。QR码的应用环境多样,现场复杂,很多应用领域对定位的精准提出了很高的要求。
但是传统方法很难做到自动、快速、精确、对应用环境适应性强地对QR进行识别。
所以,针对现有技术中的问题开发一种QR定位方法成为业内亟待解决的问题。
发明内容
本申请的目的在于提供一种基于纹理特性的QR码快速定位方法,以解决现有技术不能够自动、快速、精确地定位到QR的问题。
本申请实施例提供的一种基于纹理特性的QR码快速定位方法,所述方法包括:
S100、确定图像的成像质量;
S200、根据所述成像质量,将图像分块,得到数个子图像;
S300、从数个所述子图像中筛选出候选区域;
S400、利用候选区域,得到生长区域;
S500、根据所述生长区域,得到仿射矩形;
S600、根据所述仿射矩形,定位QR码。
进一步地,所述步骤S300、从数个所述子图像中筛选出候选区域的具体步骤包括:
S301、利用Sobel边缘检测算计,计算子图像的边缘梯度幅值和边缘方向角度;
S302、根据边缘梯度幅值和边缘方向角度,统计边缘方向角度直方图;
S303、判断边缘方向角度直方图的峰值是否达到峰值阈值;
S304、如果达到峰值阈值,确定子图像为候选区域。
进一步地,所述步骤S400、利用候选区域,得到生长区域的具体步骤包括:
S401、选取一个候选区域作为种子区域;
S402、判断所述种子区域的邻域区域是否满足生长准则;
S403、如果满足生长准则,加入所述邻域区域至当前生长区域;
S404、以所述邻域区域为种子区域,重复步骤S402,直至所述邻域区域不满足生长准则,确定生长区域;
S405、判断是否存在未被选作种子区域的候选区域;
S406、如果存在,选取未被选作种子区域的候选区域为种子区域,重复步骤S402;
S407、如果不存在,停止生长。
进一步地,所述步骤S500、根据所述生长区域,得到仿射矩形的具体步骤包括:
筛选所述生长区域,得到初选生长区域;
扫描所述初选生长区域,得到仿射矩形。
进一步地,所述扫描所述初选生长区域,得到仿射矩形的步骤包括:
确定所述初选生长区域的每行或每列的预设颜色的个数;
判断所述每行和每列的预设颜色的个数是否小于预设个数;
如果小于预设个数,删除小于预设个数的行和/或删除小于预设个数的列;
判断所述每行和每列的预设颜色的变化次数是否小于预设次数;
如果小于预设次数,删除小于预设次数的行和/或删除小于预设次数的列,得到仿射矩形。
进一步地,所述步骤S600、根据所述仿射矩形,定位QR码的具体步骤包括:
S601、确定所述仿射矩形的尺寸;
S602、根据所述仿射矩形尺寸,确定Blob图形;
S603、对Blob图形二值化,将二值化后的Blob图形分块,得到数个Blob子图形;
S604、根据数个所述Blob子图形,定位QR码。
进一步地,所述步骤S604、根据数个所述Blob子图形,定位QR码的具体方法包括:
S6041、选取一个Blob子图形;
S6042、对blob子图形进行Blob分析,得到Blob分析结果,其中,所述Blob分析结果包括blob的数量和面积;
S6043、判断数量是否不小于3个;
S6044、如果数量不小于3个,选取面积最大的Blob作为第一待比较Blob,小于或等于待比较Blob面积的Blob作为第一参考Blob;
S6045、判断第一待比较Blob面积是否大于预设面积;
S6046、如果第一待比较Blob的面积大于预设面积,依次判断第一参考BLOB的面积是否不小于第一待比较Blob面积的预设倍数,得到判断结果;
S6047、根据判断结果,确定BLOB集合,其中,所述Blob集合中的blob按照面积从大至小排列;
S6048、按Blob面积由大至小,依次选取Blob集合中的Blob作为第二待比较Blob,小于或等于第二待比较Blob面积的Blob作为第二参考Blob;
S6049、判断位置探测图形数量是否大于或等于1;
S6050、如果位置探测图形数量是否大于或等于1,判断位置探测图形中Blob的均值面积的预设倍数是否大于第二待比较Blob;
S6051、如果位置探测图形中Blob的均值面积的预设倍数不大于第二待比较Blob,判断第二待比较Blob的距离、面积与第二参考Blob的距离、面积是否满足第一预设条件;
S6052、如果满足第一预设条件,所述Blob子图形存在位置探测图形;
S6053、如果不满足第一预设条件,选取下一个Blob集合中的Blob作为第二待比较Blob,小于或等于第二待比较Blob面积的Blob作为第二参考Blob,重复执行S6049,直至Blob集合中的最小面积的Blob作为第二待比较Blob;
S6054、统计位置探测图形的数量;
S6055、判断位置探测图形的数量是否小于或等于3;
S6056、如果位置探测图形的数量等于3,定位QR码;
S6057、如果位置探测图形的数量小于3,统计Blob分析的Blob子图形的数量;
S6058、判断Blob分析的Blob子图形的数量是否等于4;
S6059、如果Blob分析的Blob子图形的数量等于4,确认无QR码;
S6060、如果Blob分析的Blob子图形的数量小于4,选取下一个Blob子图形,重复执行步骤S6042。
进一步地,所述方法还包括:如果位置探测图形中Blob的均值面积的预设倍数小于第二待比较Blob,判断第二待比较Blob的距离、面积与第二参考Blob的距离、面积是否满足第二预设条件;
如果满足第二预设条件,所述Blob子图形存在位置探测图形。
由以上技术方案可知,本申请提供的一种基于纹理特性的QR码快速定位方法,所述方法包括:S100、确定图像的成像质量;S200、根据所述成像质量,将图像分块,得到数个子图像;S300、从数个所述子图像中筛选出候选区域;S400、利用候选区域,得到生长区域;S500、根据所述生长区域,得到仿射矩形;S600、根据所述仿射矩形,定位QR码。QR码有较强的边缘梯度幅值和近似正交的两个主方向,利用这一性质,可区分QR码区域与非QR码区域。本申请能够自动、快速、精确地定位到QR码的同时,并具有对各种复杂使用环境的良好适应性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请根据一示例性实施例示出的一种基于纹理特性的QR码快速定位方法的流程图;
图2为本申请根据一示例性实施例示出的图像;
图3为本申请根据一示例性实施例示出的筛选出候选区域后的图像;
图4为本申请根据一示例性实施例示出的得到生长区域后的图像;
图5为本申请根据一示例性实施例示出的得到放射矩形的图像;
图6为本申请根据另一示例性实施例示出的另一种基于纹理特性的QR码快速定位方法的流程图;
图7为本申请根据又一示例性实施例示出的一种基于纹理特性的QR码快速定位方法的流程图;
图8为本申请根据又一示例性实施例示出的一种基于纹理特性的QR码快速定位方法的流程图;
图9(a)为本申请根据一示例性实施例示出的一种基于纹理特性的QR码快速定位方法中步骤S6041至S6050的流程图;
图9(b)为本申请根据一示例性实施例示出的一种基于纹理特性的QR码快速定位方法中步骤S6051至S6060的流程图;
图10为本申请根据一示例性实施例示出的位置探测图形;
图11为本申请根据一示例性实施例示出的包括三个位置探测图形的图像。
具体实施方式
如图1所示的一种基于纹理特性的QR码快速定位方法的流程图,所述方法包括:
S100、确定图像的成像质量;
具体的,在一张图像中定位QR码,首先需要确定图像的成像质量,由于QR码的应用环境多样,现场复杂,需要判断是否需要对图像做预处理,所述预处理包括去噪和下采样。图2为本申请实施例中的图像。
去燥现有技术中有很多成熟的算法,去燥可以采用均值滤波器和中值滤波器。下采样可以用将图像数据量减少到二分之一的方法进行,可以为最近邻插值,双线性插值,均值插值和中值插值其中一种。
去噪可以去掉噪音点,提高成像质量;下采样可以减少图像数据量,减少图像数据量可以加快整个QR码的定位速度。
S200、根据所述成像质量,将图像分块,得到数个子图像;
根据步骤S100步骤确定的成像质量,将图像分块,得到数个子图像。如果子图像太小,子图像分块数量过多,会导致信息冗余,影响处理效率,但是在QR码周围干扰较多且干扰与QR码距离较近时,分块选择小可以避免生长区域过大。如果分块选择太大,可能引入QR码静音区外过多信息,从而导致QR码区域与非QR码区域无法区分,尤其在周围文字较多的情况下。
如果图形未经预处理,在原始分辨率策略下可以按照下列尺寸:分块32x32(常规)、64x64(大尺寸)、16x16(小尺寸)和8x8(极小尺寸);在采用预处理下采样后,可以按照下列尺寸分块16x16(常规)、32x32(大尺寸)、8x8(小尺寸)和4x4(极小尺寸)。对大部分情况下的图像,分块选择原始分辨率策略的中的常规分块就可以保证得到标记后的条码区域。但是在条码模块尺寸太大的情况下,选择常规分块标记得到的候选区域可能较分散,区域生长时无法生长到一起,因此在条码模块尺寸太大时可使用大尺寸分块;在条码模块尺寸较小或者条码周围干扰较多且距离条码较近的情况,选择常规分块标记得到的候选区域太大,引入的干扰过多,这时可选择小尺寸或者极小尺寸分块。
需要说明的是,对条码模块较小并且成像质量较差的情况,下采样后模块尺寸太小,质量较差,下采样后可能找不到有效信息,这时就需要在选择在原始分辨率策略下搜索。
S300、从数个所述子图像中筛选出候选区域;
具体的,从数个所述子图像中筛选出候选区域的作用为确定每一个子图像是否可能成为QR码的一部分。确定所述子图像是否为候选区域的依据体现在,子图像中是否存在QR码的特性上。图3为本申请实施例中筛选出候选区域后的图像。
S400、利用候选区域,得到生长区域;
所述生长区域为利用候选区域拼接而成的区域。将满足一定条件的候选区域,组合在一起形成生长区域。图4为本申请实施例中得到生长区域后的图像。
S500、根据所述生长区域,得到仿射矩形;图5为本申请实施例中得到放射矩形的图像。
S600、根据所述仿射矩形,定位QR码。
在仿射矩形中定位QR码,可以较从图像中直接定位QR码更快速、准确,并且可以在较为复杂的使用环境中具有良好适应性。
在一些实施例中,图6为另一种基于纹理特性的QR码快速定位方法的流程图,所述步骤S300、从数个所述子图像中筛选出候选区域的具体步骤包括:
S301、利用Sobel边缘检测算计,计算子图像的边缘梯度幅值和边缘方向角度;
S302、根据边缘梯度幅值和边缘方向角度,统计边缘方向角度直方图;
S303、判断边缘方向角度直方图的峰值是否达到峰值阈值;
S304、如果达到峰值阈值,确定子图像为候选区域。
具体的,QR码的边缘信息丰富,并且呈现正交性,这里采用边缘梯度幅值和边缘方向角度信息判断每一个子图像是否可能属于候选区域。算法中采用3x3大小的Sobel边缘检测算子,计算整幅子图像的边缘梯度幅值和边缘方向角度,并根据边缘方向角度统计边缘方向角度直方图,判断子图像中的边缘方向角度直方图的峰值是否可以到达一定阈值,例如阈值在32*32分块下可以为10,如果达不到该阈值,可以判断该子图像不是候选区域。
在一些实施例中,图7为另一种基于纹理特性的QR码快速定位方法的流程图,所述步骤S400、利用候选区域,得到生长区域的具体步骤包括:
S401、选取一个候选区域作为种子区域;
S402、判断所述种子区域的邻域区域是否满足生长准则;
S403、如果满足生长准则,加入所述邻域区域至当前生长区域;
S404、以所述邻域区域为种子区域,重复步骤S402,直至所述邻域区域不满足生长准则,确定生长区域;
S405、判断是否存在未被选作种子区域的候选区域;
S406、如果存在,选取未被选作种子区域的候选区域为种子区域,重复步骤S402;
S407、如果不存在,停止生长。
从候选区域中选取一个作为种子区域,判断其8邻域分块是否满足生长准则,生长规则为相邻分块与种子区域的主方向差异或正交方向差异不超过30度。
需要说明的是,主方向为候选区域内边缘梯度直方图统计中峰值最高的那个角度方向,正交方向是此角度方向相交并垂直的方向。
若满足生长规则,则将邻域分块加入当前生长区域,并以此邻域分块为中心,继续判断其8邻域分块是否满足生长准则,直至都不满足准则或者图像遍历完,此次生长停止。若还有其他分块未遍历,则以之作为新的种子区域进行区域生长得到新的生长区域。
在一些实施例中,所述步骤S500、根据所述生长区域,得到仿射矩形的具体步骤包括:
筛选所述生长区域,得到初选生长区域;
扫描所述初选生长区域,得到仿射矩形。
本申请实施例包括生长区域的筛选,滤除生长区域中分块太少,或者行数或列数太少的分块,得到初选生长区域。例如,当生长区域为单行或单列时,该生长区域为非QR码区域;将生长区域内亮暗像素变化次数太少的生长区域滤除,例如,当生长区域像素方差小于580,则非QR码区域。对生长区域筛选的目的是滤除明显非QR码。
在一些实施例中,所述扫描所述初选生长区域,得到仿射矩形的步骤包括:
确定所述初选生长区域的每行或每列的预设颜色的个数;
判断所述每行和每列的预设颜色的个数是否小于预设个数;
如果小于预设个数,删除小于预设个数的行和/或删除小于预设个数的列;
判断所述每行和每列的预设颜色的变化次数是否小于预设次数;
如果小于预设次数,删除小于预设次数的行和/或删除小于预设次数的列,得到仿射矩形。
本申请实施例中进一步滤除非QR码的部分,缩小识别范围,得到一个可能为QR码的仿射矩形。
确定所述初选生长区域后,初选生长区域可能包含着很多非QR码的信息,诸如静音区、背景和文字等,根据QR码的结果信息,可将这些干扰滤除。
当生长区域中的每行或每列的深色像素或者白色像素太少时,可以将该行或列删除,因为深色像素或者白色像素太少时可能为静音区或静音区外大片背景区域。
另外,生长区域的每行或每列的深色或浅色的像素有效变化次数不能太少,每次有效持续像素至少有一个模块长度,一个模块长度为5个像素,并且连续多行或多列都必须满足这一条件。这样可以滤除文字和静音区的干扰。
一个模块长度定义成5个像素的原因为在模块长度为5个像素时,本申请实施例滤除干扰的表现良好。如果模块尺寸过低,很可能定位不到。
本申请实施例中的静音区为QR码区域的四周。
在一些实施例中,图8为另一种基于纹理特性的QR码快速定位方法的流程图,所述步骤S600、根据所述仿射矩形,定位QR码的具体步骤包括:
S601、确定所述仿射矩形的尺寸;
S602、根据所述仿射矩形尺寸,确定Blob图形;
经过筛选所述生长区域,得到初选生长区域,以及,扫描所述初选生长区域,得到仿射矩形的步骤,仿射矩形边界可能部分略偏移到QR码边界内部,为避免分析时无法找到QR码,所以将所述放射矩形外扩一定比例,本申请实施例中,将放射矩形的X和Y方向扩大至原有的1.2倍。
S603、对Blob图形二值化,将二值化后的Blob图形分块,得到数个Blob子图形;
S604、根据数个所述Blob子图形,定位QR码。
本申请实施例中,将仿射矩形分为4个Blob子图形,分割方式按OX、OY方向均为区域的三分之二分割,然后在各个Blob子图形中进行Blob分析,确定每一个Blob子图形内部是否有位置探测图形。为了滤除噪声对Blob分析结果的影响,先对所述仿射区域进行二值化后,再进行Blob分析。
在一些实施例中,参阅图9(a)和图9(b),所述步骤S604、根据数个所述Blob子图形,定位QR码的具体方法包括:
S6041、选取一个Blob子图形;
在上述四个Blob子图形中随机选取一个Blob子图形。
S6042、对blob子图形进行Blob分析,得到Blob分析结果,其中,所述Blob分析结果包括blob的数量和面积;
Blob分析是对Blob子图形中相同像素的连通域进行分析,连通域成为Blob。
S6043、判断数量是否不小于3个;
由于位置探测图形由三个近似同心的Blob确定而成的,当Blob的数量不小于3时,有可能会存在位置探测图形;当Blob数量小于3时,一定不会存在位置探测图形。
S6044、如果数量不小于3个,选取面积最大的Blob作为第一待比较Blob,小于或等于待比较Blob面积的Blob作为第一参考Blob;
当数量不小于3个,选取当前最大面积的Blob作为第一待比较Blob,其余的Blob作为第一参考Blob。
S6045、判断第一待比较Blob面积是否大于预设面积;
由于位置探测图形的面积是有一定要求的,如果第一待比较Blob面积过小,说明不存在位置探测图形。本申请实施例中预设面积为15。
S6046、如果第一待比较Blob的面积大于预设面积,依次判断第一参考BLOB的面积是否不小于第一待比较Blob面积的预设倍数,得到判断结果;
由于位置探测图形的面积有一定要求,所以第一待比较Blob面积确定后,第一参考Blob的面积也不会与第一待比较Blob面积差距太悬殊。所以,本申请实施例的预设倍数为0.2。
S6047、根据判断结果,确定BLOB集合,其中,所述Blob集合中的blob按照面积从大至小排列;
根据以上步骤排除一定不可能成为位置探测图形中的Blob,得到Blob集合,将Blob集合中的Blob按面积从大至小排列。
S6048、按Blob面积由大至小,依次选取Blob集合中的Blob作为第二待比较Blob,小于或等于第二待比较Blob面积的Blob作为第二参考Blob;
S6049、判断位置探测图形数量是否大于或等于1;
通过此步骤可以确定之前是否有Blob子图形已经判断出有位置探测图形。
S6050、如果位置探测图形数量是否大于或等于1,判断位置探测图形中Blob的均值面积的预设倍数是否大于第二待比较Blob;
由于组合成QR码的位置探测图形的大小近似,所以需要判断第二待比较Blob的面积与已经得到的位置探测图形中的Blob面积的均值是否偏离过大,如果偏离过大,可能不存在位置探测图形。
如果位置探测图形数量小于1,判断第二待比较Blob的距离、面积与第二参考Blob的距离、面积是否满足第一预设条件,执行步骤S6052。
当位置探测图形数量小于1时,直接判断第二待比较Blob的距离、面积与第二参考Blob的距离、面积是否满足第一预设条件,随后执行步骤S6052。
S6051、如果位置探测图形中Blob的均值面积的预设倍数不大于第二待比较Blob,判断第二待比较Blob的距离、面积与第二参考Blob的距离、面积是否满足第一预设条件;
如果第二待比较Blob的面积与已经得到的位置探测图形中的Blob面积的均值没有偏离过大,可以进一步确定是否存在位置探测图形。
分别将第二参考Blob与第二待比较Blob的距离、面积比较,判断是否满足第一预设条件。
S6052、如果满足第一预设条件,所述Blob子图形存在位置探测图形;
本申请实施例的第一预设条件为X、Y方向中心差异至少有一个小于5.0(32*32分块下),至多有一个大于7.0(32*32分块下),得到三个近似同心区域。三个近似同心区域的最大面积小于最小面积的4倍;三个同心Blob中最大面积不得小于15,理想情况下三个近似同心区域面积比例为7x7-5x5:5x5-3x3:3x3=24:16:9。
如果满足第一预设条件,所述Blob子图形存在位置探测图形,图10为本申请实施例中的位置探测图形。
S6053、如果不满足第一预设条件,选取下一个Blob集合中的Blob作为第二待比较Blob,小于或等于第二待比较Blob面积的Blob作为第二参考Blob,重复执行S6049,直至Blob集合中的最小面积的Blob作为第二待比较Blob;
如果不满足第一预设条件,选取下一个Blob集合中的Blob作为第二待比较Blob,重复执行S6049。
S6054、统计位置探测图形的数量;
S6055、判断位置探测图形的数量是否小于或等于3;
S6056、如果位置探测图形的数量等于3,定位QR码;
QR码由三个位置探测图形组成,当位置探测图形的数量等于3时,可以定位QR码。图11为本申请实施例中包括三个位置探测图形的图像。
S6057、如果位置探测图形的数量小于3,统计Blob分析的Blob子图形的数量;
S6058、判断Blob分析的Blob子图形的数量是否等于4;
S6059、如果Blob分析的Blob子图形的数量等于4,确认无QR码;
当位置探测图形的数量小于3个时,判断Blob子图形是否全部分析完成。本申请实施例中,如果Blob子图像等于4个,说明Blob子图像已经全部经过Blob分析。此时,由于位置探测图形的数量不满足3个,所以可以确定无QR码。
S6060、如果Blob分析的Blob子图形的数量小于4,选取下一个Blob子图形,重复执行步骤S6042。
如果Blob分析的Blob子图形的数量小于4,说明Blob子图形没有全部经过Blob分析,所以选取下一个Blob子图形,继续分析。
在一些实施例中,所述方法还包括:
如果位置探测图形中Blob的均值面积的预设倍数小于第二待比较Blob,判断第二待比较Blob的距离、面积与第二参考Blob的距离、面积是否满足第二预设条件;
如果满足第二预设条件,所述Blob子图形存在位置探测图形。
当已经找到一个位置探测图形,且如果位置探测图形中Blob的均值面积的预设倍数小于第二待比较Blob,判断当前Blob子图形中是否存在2个近似同心的Blob。近似同心Blob的判断方法为第二预设条件,具体为X、Y方向中心差异至少有一个小于5.0(32*32分块下),至多有一个大于7.0(32*32分块下)。
由以上技术方案可知,本申请公开一种基于纹理特性的QR码快速定位方法,所述方法包括:S100、确定图像的成像质量;S200、根据所述成像质量,将图像分块,得到数个子图像;S300、从数个所述子图像中筛选出候选区域;S400、利用候选区域,得到生长区域;S500、根据所述生长区域,得到仿射矩形;S600、根据所述仿射矩形,定位QR码。QR码有较强的边缘梯度幅值和近似正交的两个主方向,利用这一性质,可区分QR码区域与非QR码区域。本申请能够自动、快速、精确地定位到QR码的同时,并具有对各种复杂使用环境的良好适应性。
具体实现中,本申请还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本申请提供的基于纹理特性的QR码快速定位方法的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-onlymemory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
本领域的技术人员可以清楚地了解到本申请中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由所附的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (7)
1.一种基于纹理特性的QR码快速定位方法,其特征在于,所述方法包括:
S100、确定图像的成像质量;
S200、根据所述成像质量,将图像分块,得到数个子图像;
S300、从数个所述子图像中筛选出候选区域;
S400、利用候选区域,得到生长区域;
S500、根据所述生长区域,得到仿射矩形;
S600、根据所述仿射矩形,定位QR码;
所述步骤S400、利用候选区域,得到生长区域的具体步骤包括:
S401、选取一个候选区域作为种子区域;
S402、判断所述种子区域的八个邻域区域是否满足生长准则,生长准则为相邻分块与种子区域的主方向差异或正交方向差异不超过30度;
S403、如果满足生长准则,加入所述邻域区域至当前生长区域;
S404、分别以八个所述邻域区域为种子区域,重复步骤S402,直至所述邻域区域不满足生长准则,确定生长区域;
S405、判断是否存在未被选作种子区域的候选区域;
S406、如果存在,选取未被选作种子区域的候选区域为种子区域,重复步骤S402;
S407、如果不存在,停止生长。
2.根据权利要求1所述的一种基于纹理特性的QR码快速定位方法,其特征在于,所述步骤S300、从数个所述子图像中筛选出候选区域的具体步骤包括:
S301、利用Sobel边缘检测算计,计算子图像的边缘梯度幅值和边缘方向角度;
S302、根据边缘梯度幅值和边缘方向角度,统计边缘方向角度直方图;
S303、判断边缘方向角度直方图的峰值是否达到峰值阈值;
S304、如果达到峰值阈值,确定子图像为候选区域。
3.根据权利要求1所述的一种基于纹理特性的QR码快速定位方法,其特征在于,所述步骤S500、根据所述生长区域,得到仿射矩形的具体步骤包括:
筛选所述生长区域,得到初选生长区域;
扫描所述初选生长区域,得到仿射矩形。
4.根据权利要求3所述的一种基于纹理特性的QR码快速定位方法,其特征在于,所述扫描所述初选生长区域,得到仿射矩形的步骤包括:
确定所述初选生长区域的每行或每列的预设颜色的个数;
判断所述每行和每列的预设颜色的个数是否小于预设个数;
如果小于预设个数,删除小于预设个数的行和/或删除小于预设个数的列;
判断所述每行和每列的预设颜色的变化次数是否小于预设次数;
如果小于预设次数,删除小于预设次数的行和/或删除小于预设次数的列,得到仿射矩形。
5.根据权利要求3或4所述的一种基于纹理特性的QR码快速定位方法,其特征在于,所述步骤S600、根据所述仿射矩形,定位QR码的具体步骤包括:
S601、确定所述仿射矩形的尺寸;
S602、根据所述仿射矩形尺寸,确定blob图形;
S603、对blob图形二值化,将二值化后的blob图形分块,得到数个blob子图形;
S604、根据数个所述blob子图形,定位QR码。
6.根据权利要求5所述的一种基于纹理特性的QR码快速定位方法,其特征在于,所述步骤S604、根据数个所述blob子图形,定位QR码的具体方法包括:
S6041、选取一个blob子图形;
S6042、对blob子图形进行blob分析,得到blob分析结果,其中,所述blob分析结果包括blob的数量和面积;
S6043、判断数量是否不小于3个;
S6044、如果数量不小于3个,选取面积最大的blob作为第一待比较blob,小于或等于待比较blob面积的blob作为第一参考blob;
S6045、判断第一待比较blob面积是否大于预设面积;
S6046、如果第一待比较blob的面积大于预设面积,依次判断第一参考blob的面积是否不小于第一待比较blob面积的预设倍数,得到判断结果;
S6047、根据判断结果,确定blob集合,其中,所述blob集合中的blob按照面积从大至小排列;
S6048、按blob面积由大至小,依次选取blob集合中的blob作为第二待比较blob,小于或等于第二待比较blob面积的blob作为第二参考blob;
S6049、判断位置探测图形数量是否大于或等于1;
S6050、如果位置探测图形数量是否大于或等于1,判断位置探测图形中blob的均值面积的预设倍数是否大于第二待比较blob;
S6051、如果位置探测图形中blob的均值面积的预设倍数不大于第二待比较blob,判断第二待比较blob的距离、面积与第二参考blob的距离、面积是否满足第一预设条件;
S6052、如果满足第一预设条件,所述blob子图形存在位置探测图形;
S6053、如果不满足第一预设条件,选取下一个blob集合中的blob作为第二待比较blob,小于或等于第二待比较blob面积的blob作为第二参考blob,重复执行S6049,直至blob集合中的最小面积的blob作为第二待比较blob;
S6054、统计位置探测图形的数量;
S6055、判断位置探测图形的数量是否小于或等于3;
S6056、如果位置探测图形的数量等于3,定位QR码;
S6057、如果位置探测图形的数量小于3,统计blob分析的blob子图形的数量;
S6058、判断blob分析的blob子图形的数量是否等于4;
S6059、如果blob分析的blob子图形的数量等于4,确认无QR码;
S6060、如果blob分析的blob子图形的数量小于4,选取下一个blob子图形,重复执行步骤S6042。
7.根据权利要求6所述的一种基于纹理特性的QR码快速定位方法,其特征在于,所述方法还包括:
如果位置探测图形中blob的均值面积的预设倍数小于第二待比较blob,判断第二待比较blob的距离、面积与第二参考blob的距离、面积是否满足第二预设条件;
如果满足第二预设条件,所述blob子图形存在位置探测图形。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811339397.1A CN109409163B (zh) | 2018-11-12 | 2018-11-12 | 一种基于纹理特性的qr码快速定位方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811339397.1A CN109409163B (zh) | 2018-11-12 | 2018-11-12 | 一种基于纹理特性的qr码快速定位方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109409163A CN109409163A (zh) | 2019-03-01 |
CN109409163B true CN109409163B (zh) | 2022-04-01 |
Family
ID=65472580
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811339397.1A Active CN109409163B (zh) | 2018-11-12 | 2018-11-12 | 一种基于纹理特性的qr码快速定位方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109409163B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111597849B (zh) * | 2020-05-07 | 2023-07-18 | 凌云光技术股份有限公司 | 一种可变码区域的提取方法 |
CN111815725B (zh) * | 2020-07-29 | 2024-03-08 | 苏州中科全象智能科技有限公司 | 一种qr码区域定位方法 |
CN112560538B (zh) * | 2021-02-26 | 2021-05-11 | 江苏东大集成电路系统工程技术有限公司 | 一种根据图像冗余信息快速定位受损qr码的方法 |
CN113592803B (zh) * | 2021-07-27 | 2024-05-24 | 凌云光技术股份有限公司 | 一种螺纹圈数测量方法和装置 |
CN113643274B (zh) * | 2021-08-24 | 2024-06-21 | 凌云光技术股份有限公司 | 一种二维码候选区筛选的方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104794421A (zh) * | 2015-04-29 | 2015-07-22 | 华中科技大学 | 一种qr码定位及识别方法 |
CN106485183A (zh) * | 2016-07-14 | 2017-03-08 | 深圳市华汉伟业科技有限公司 | 一种二维码定位方法及系统 |
CN107025455A (zh) * | 2017-04-01 | 2017-08-08 | 浙江华睿科技有限公司 | 一种快速反应qr码区域的定位方法及装置 |
CN107025639A (zh) * | 2017-04-05 | 2017-08-08 | 中科微至智能制造科技江苏有限公司 | 一种复杂环境下的条码定位方法 |
-
2018
- 2018-11-12 CN CN201811339397.1A patent/CN109409163B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104794421A (zh) * | 2015-04-29 | 2015-07-22 | 华中科技大学 | 一种qr码定位及识别方法 |
CN106485183A (zh) * | 2016-07-14 | 2017-03-08 | 深圳市华汉伟业科技有限公司 | 一种二维码定位方法及系统 |
CN107025455A (zh) * | 2017-04-01 | 2017-08-08 | 浙江华睿科技有限公司 | 一种快速反应qr码区域的定位方法及装置 |
CN107025639A (zh) * | 2017-04-05 | 2017-08-08 | 中科微至智能制造科技江苏有限公司 | 一种复杂环境下的条码定位方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109409163A (zh) | 2019-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109409163B (zh) | 一种基于纹理特性的qr码快速定位方法 | |
US6674904B1 (en) | Contour tracing and boundary detection for object identification in a digital image | |
CN111612781B (zh) | 一种屏幕缺陷检测方法、装置及头戴显示设备 | |
CN109948393B (zh) | 一种一维条码的定位方法及装置 | |
CN110309687B (zh) | 一种二维码图像的校正方法及校正装置 | |
US8254683B2 (en) | Code image processing method | |
CN102354363A (zh) | 高反光柱面金属上的二维条码图像识别方法 | |
CN113177959B (zh) | 一种快速运动过程中qr码实时提取方法 | |
JP2009211626A (ja) | 画像処理装置及び方法 | |
CN110569845A (zh) | 一种试卷图像的校正方法及相关装置 | |
CN111523341B (zh) | 二维码图像的二值化方法及设备 | |
CN114972575A (zh) | 一种基于轮廓边缘的直线拟合算法 | |
CN110458843A (zh) | 掩模图像的分割方法及系统 | |
CN109784328A (zh) | 定位条码的方法、终端及计算机可读存储介质 | |
JP2012048580A (ja) | 画像処理装置、画像処理方法、プログラム、および記憶媒体 | |
CN110543798B (zh) | 二维码的识别方法及装置 | |
CN110969612A (zh) | 二维码印刷缺陷检测方法 | |
CN113822092B (zh) | 用于定位位置探测图形的方法及装置、电子设备、介质 | |
JP6075850B2 (ja) | 情報端末装置及びプログラム並びに認識システム | |
CN116071304A (zh) | 一种物品边缘线定位方法、装置及电子设备 | |
CN111986208B (zh) | 一种目标标记定位圆的捕捉定位方法、装置、计算机设备 | |
CN113673518B (zh) | 一种目标定位候选位置筛选策略方法 | |
JP2011170554A (ja) | 物体認識装置、物体認識方法及び物体認識プログラム | |
CN112927288B (zh) | 图像坐标提取方法、图像处理设备及存储装置 | |
CN117011596B (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 100094 Beijing city Haidian District Cui Hunan loop 13 Hospital No. 7 Building 7 room 701 Applicant after: Lingyunguang Technology Co., Ltd Address before: 100094 Beijing city Haidian District Cui Hunan loop 13 Hospital No. 7 Building 7 room 701 Applicant before: LUSTER LIGHTTECH GROUP Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |