CN106909869A - 一种矩阵式二维码的采样网格划分方法及装置 - Google Patents
一种矩阵式二维码的采样网格划分方法及装置 Download PDFInfo
- Publication number
- CN106909869A CN106909869A CN201710108375.3A CN201710108375A CN106909869A CN 106909869 A CN106909869 A CN 106909869A CN 201710108375 A CN201710108375 A CN 201710108375A CN 106909869 A CN106909869 A CN 106909869A
- Authority
- CN
- China
- Prior art keywords
- code
- image
- vertical
- horizontal
- width
- 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
Links
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/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
- 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/146—Methods for optical code recognition the method including quality enhancement steps
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Electromagnetism (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种矩阵式二维码的采样网格划分方法及装置,该方法包括:将二维码图像在水平方向上的水平梯度投影图和在垂直方向上的垂直梯度投影图中各峰值的位置分别作为用于分割二维码图像的各垂直分割线和各水平分割线的位置;根据二维码图像的列数和在水平方向上的模块宽度,对各垂直分割线进行调整;以及根据二维码图像的行数和在垂直方向上的模块宽度,对各水平分割线进行调整;根据调整后的各垂直分割线和水平分割线对二维码图像进行采样网格划分。本发明提供的方法,利用二维码图像中丰富的梯度特征,对模块是否整齐,模块大小是否一致的要求较低,且不依赖定位符的特征,具有很强的适应性和鲁棒性,也使后续的解码过程有更高的解码率。
Description
技术领域
本发明涉及图像处理技术领域,尤指一种矩阵式二维码的采样网格划分方法及装置。
背景技术
二维码(2-dimensional bar code)是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的,在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理。根据二维码的实现原理和结构形状的差异,可分为堆积式二维码和矩阵式二维码,其中矩阵式二维码主要包括Code One、MaxiCode、QR Code、Data Matrix、Han Xin Code、GridMatrix等。
以DM(Data Matrix)码为例,在对矩阵式二维码进行检测时,主要分为DM码区域的定位和DM码区域的解码。快速准确地解码已知位置的DM码,是DM码检测方案的重要组成部分。传统的技术方案在确定DM码的位置和版本之后,采用均匀网格划分法,平均分割DM码所在区域,完成对DM码模块的划分,或者通过读取DM码的定位符特征,依赖DM码的定位符特性微调采样网格,完成对DM码模块的划分。
然而,均匀网格划分法对于模块分布均匀且大小基本一致的DM码,有比较好的解码效果。但是,实际得到的DM码图像由于拍摄角度、打印机质量、工业环境污染和误差等不同的原因,会存在各模块大小、长宽不一致等问题。此时,均匀网格划分法无法准确地得到DM码的黑白分布结构特征,也就无法正确解码。通过读取DM码定位符特征的方法,可以在一定程度上解决上述均匀划分导致的问题,但是无法解决由于污染、破坏导致的DM码定位符缺损问题。
综上,现有技术中,不能合理划分矩阵式二维码的采样网格。
发明内容
本发明实施例提供了一种矩阵式二维码的采样网格划分方法及装置,用以解决现有技术中存在的不能合理划分矩阵式二维码的采样网格的问题。
本发明实施例提供了一种矩阵式二维码的采样网格划分方法,包括:
将二维码图像在水平方向上的水平梯度投影图和在垂直方向上的垂直梯度投影图中各峰值的位置分别作为用于分割所述二维码图像的各垂直分割线和各水平分割线的位置;
根据所述二维码图像的列数和在水平方向上的模块宽度,对各所述垂直分割线进行调整;以及根据所述二维码图像的行数和在垂直方向上的模块宽度,对各所述水平分割线进行调整;
根据调整后的各所述垂直分割线和所述水平分割线对所述二维码图像进行采样网格划分。
在一种可能的实现方式中,在本发明实施例提供的上述矩阵式二维码的采样网格划分方法中,所述二维码图像的列数和行数按以下方式确定:
分别根据所述水平梯度投影图中各相邻峰值的间距,以及所述二维码图像在水平方向上的宽度,确定所述二维码图像的列数;
分别根据所述垂直梯度投影图中各相邻峰值的间距,以及所述二维码图像在垂直方向上的宽度,确定所述二维码图像的行数;
所述二维码图像在水平方向和垂直方向上的模块宽度按以下方式确定:
根据所述二维码图像列数和行数,确定所述二维码图像的版本信息;
根据所述二维码图像的版本信息,确定所述二维码图像在水平方向和垂直方向上的模块宽度。
在一种可能的实现方式中,在本发明实施例提供的上述矩阵式二维码的采样网格划分方法中,所述根据所述二维码图像的列数和在水平方向上的模块宽度,对各所述垂直分割线进行调整,具体包括:
若相邻垂直分割线的间距小于第一阈值,则删除其中一个垂直分割线;
若相邻垂直分割线的间距大于第二阈值,则在相邻的所述垂直分割线之间插入一定数量的垂直分割线;所述第一阈值小于所述第二阈值。
在一种可能的实现方式中,在本发明实施例提供的上述矩阵式二维码的采样网格划分方法中,所述根据所述二维码图像的行数和在垂直方向上的模块宽度,对各所述水平分割线进行调整,具体包括:
若相邻水平分割线的间距小于第三阈值,则删除其中一个水平分割线;
若相邻水平分割线的间距大于第四阈值,则在相邻的所述水平分割线之间插入一定数量的水平分割线;所述第三阈值小于所述第四阈值。
在一种可能的实现方式中,在本发明实施例提供的上述矩阵式二维码的采样网格划分方法中,在确定所述二维码图像的所述水平梯度投影图和所述垂直梯度投影图之前,还包括:
将所述二维码图像中的各像素点的灰度值映射到矩形区域中,得到校正后的二维码图像。
在一种可能的实现方式中,在本发明实施例提供的上述矩阵式二维码的采样网格划分方法中,所述矩形区域的长度和宽度是根据下列方式确定的:
根据所述二维码图像的四个顶点的位置,确定所述二维码图像的四个边界线的长度;
以所述二维码图像中任意相邻两条边界线的长度分别作为所述矩形区域的长度和宽度。
本发明实施例还提供了一种矩阵式二维码的采样网格划分装置,包括:
分割线确定单元,用于将二维码图像在水平方向上的水平梯度投影图和在垂直方向上的垂直梯度投影图中各峰值的位置分别作为用于分割所述二维码图像的各垂直分割线和各水平分割线的位置;
调整单元,用于根据所述二维码图像的列数和在水平方向上的模块宽度,对各所述垂直分割线进行调整;以及根据所述二维码图像的行数和在垂直方向上的模块宽度,对各所述水平分割线进行调整;
采样网格划分单元,用于根据调整后的各所述垂直分割线和所述水平分割线对所述二维码图像进行采样网格划分。
在一种可能的实现方式中,在本发明实施例提供的上述矩阵式二维码的采样网格划分装置中,还包括:模块规格确定单元,用于:
分别根据所述水平梯度投影图中各相邻峰值的间距,以及所述二维码图像在水平方向上的宽度,确定所述二维码图像的列数;
分别根据所述垂直梯度投影图中各相邻峰值的间距,以及所述二维码图像在垂直方向上的宽度,确定所述二维码图像的行数;
根据所述二维码图像列数和行数,确定所述二维码图像的版本信息;
根据所述二维码图像的版本信息,确定所述二维码图像在水平方向和垂直方向上的模块宽度。
在一种可能的实现方式中,在本发明实施例提供的上述矩阵式二维码的采样网格划分装置中,所述调整单元,具体用于:
若相邻垂直分割线的间距小于第一阈值,则删除其中一个垂直分割线;
若相邻垂直分割线的间距大于第二阈值,则在相邻的所述垂直分割线之间插入一定数量的垂直分割线;所述第一阈值小于所述第二阈值。
在一种可能的实现方式中,在本发明实施例提供的上述矩阵式二维码的采样网格划分装置中,所述调整单元,具体用于:
若相邻水平分割线的间距小于第三阈值,则删除其中一个水平分割线;
若相邻水平分割线的间距大于第四阈值,则在相邻的所述水平分割线之间插入一定数量的水平分割线;所述第三阈值小于所述第四阈值。
在一种可能的实现方式中,在本发明实施例提供的上述矩阵式二维码的采样网格划分装置中,还包括:
校正单元,用于将所述二维码图像中的各像素点的灰度值映射到矩形区域中,得到校正后的二维码图像。
在一种可能的实现方式中,在本发明实施例提供的上述矩阵式二维码的采样网格划分装置中,所述校正单元,具体用于:
根据所述二维码图像的四个顶点的位置,确定所述二维码图像的四个边界线的长度;
以所述二维码图像中任意相邻两条边界线的长度分别作为所述矩形区域的长度和宽度;
将所述二维码图像中的各像素点的灰度值映射到所述矩形区域中。
本发明有益效果如下:
本发明实施例提供的矩阵式二维码的采样网格划分方法及装置,该方法包括:将二维码图像在水平方向上的水平梯度投影图和在垂直方向上的垂直梯度投影图中各峰值的位置分别作为用于分割二维码图像的各垂直分割线和各水平分割线的位置;根据二维码图像的列数和在水平方向上的模块宽度,对各垂直分割线进行调整;以及根据二维码图像的行数和在垂直方向上的模块宽度,对各水平分割线进行调整;根据调整后的各垂直分割线和水平分割线对二维码图像进行采样网格划分。本发明实施例提供的方法,根据二维码图像的列数和在水平方向上的模块宽度,对各垂直分割线进行调整;以及根据二维码图像的行数和在垂直方向上的模块宽度,对各水平分割线进行调整,根据调整后的各垂直分割线和水平分割线对二维码图像进行采样网格划分,这种网格划分方法对模块的排列是否整齐,模块大小是否一致的要求较低,且不依赖定位符的特征,因此,即使获取到的二维码图像中的模块大小不一致,或者定位符缺损等,也不会对采样网格划分产生影响,适应性较强。此外,二维码图像中的梯度特征比较丰富,在对比度极低的情况下也可以准确的划分采样网格,即该方法具有很强的鲁棒性,也使后续的解码过程有更高的解码率。
附图说明
图1为本发明实施例提供的矩阵式二维码的采样网格划分方法的流程图之一;
图2a为DM二维码的结构示意图;
图2b为图2a中的DM二维码的定位区的示意图;
图2c为图2a中的DM二维码的数据区的示意图;
图3为本发明实施例提供的矩阵式二维码的采样网格划分方法的流程图之二;
图4为本发明实施例提供的矩阵式二维码的采样网格划分装置的结构示意图。
具体实施方式
针对现有技术中存在的不能合理划分矩阵式二维码的采样网格的问题,本发明实施例提供了一种矩阵式二维码的采样网格划分方法及装置。
下面结合附图,对本发明实施例提供的矩阵式二维码的采样网格划分方法及装置的具体实施方式进行详细地说明。
本发明实施例提供了一种矩阵式二维码的采样网格划分方法,如图1所示,包括:
S101、将二维码图像在水平方向上的水平梯度投影图和在垂直方向上的垂直梯度投影图中各峰值的位置分别作为用于分割二维码图像的各垂直分割线和各水平分割线的位置;
S102、根据二维码图像的列数和在水平方向上的模块宽度,对各垂直分割线进行调整;以及根据二维码图像的行数和在垂直方向上的模块宽度,对各水平分割线进行调整;
S103、根据调整后的各垂直分割线和水平分割线对二维码图像进行采样网格划分。
本发明实施例提供的矩阵式二维码的采样网格划分方法,根据二维码图像的列数和在水平方向上的模块宽度,对各垂直分割线进行调整;以及根据二维码图像的行数和在垂直方向上的模块宽度,对各水平分割线进行调整,根据调整后的各垂直分割线和水平分割线对二维码图像进行采样网格划分,这种网格划分方法对模块的排列是否整齐,模块大小是否一致的要求较低,且不依赖定位符的特征,因此,即使获取到的二维码图像中的模块大小不一致,或者定位符缺损等,也不会对采样网格划分产生影响,适应性较强。此外,二维码图像中的梯度特征比较丰富,在对比度极低的情况下也可以准确的划分采样网格,即该方法具有很强的鲁棒性,也使后续的解码过程有更高的解码率。
本发明实施例提供的矩阵式二维码的采样网格划分方法,可以应用于任何矩阵式二维码,本发明以DM码为例进行说明,DM二维码是由多个大小相同的黑色或白色方块组成的矩形阵列的图像,如图2a所示,DM二维码的四周为定位区,如图2b所示,定位区包括四条边界,由两条相邻的实线边界和两条相邻的虚线边界组成,所谓虚线是各模块一黑一白交替组成,目的是的为了帮助识别该二维码的尺寸和单位结构。定位区包围的内部为数据区,如图2c所示,数据区内每个黑色模块或白色模块代表矩阵数据中的一位数据,0或1。
上述步骤S101中,二维码图像的水平梯度投影图和垂直梯度投影图是根据二维码图像中各像素点的灰度值得到的,由于二维码图像本身具有黑白相间的颜色特性,因此利用各像素点的灰度值,可以去除其他颜色对图像处理过程的影响,提高了处理的速度,降低方法的空间复杂度。在确定水平梯度投影图和垂直梯度投影图之后,可以分别将水平梯度投影图和垂直梯度投影图中的峰值个数、峰值的大小以及各峰值的位置等峰值信息,以数组、矩阵或者图表等形式记录下来,用于后续计算。
在图像处理领域中,梯度值指的是相邻两个像素点的灰度差,而二维码图像一般由多个黑色模块或者白色模块按照一定规则排列,黑色模块和白色模块之间的位置为灰度变化最大的位置,即黑色模块和白色模块之间的灰度值为某个邻域范围内的极大值,所以在不考虑噪声的影响时,梯度投影图中的峰值位置可以认为是黑色模块和白色模块之间的位置,而一般水平梯度投影图可以通过将各像素点在垂直方向上的梯度图逐行求和得到,所以水平梯度投影图中的峰值一般为垂直方向上多个峰值叠加的效果,由于很少会出现一行或一列的模块均是黑色或白色,所以在水平梯度投影图中,相邻两个模块之间一定会出现峰值,因此,相邻两个峰值的间距可以近似等于模块的宽度,垂直梯度投影图的原理与水平梯度投影图的原理类似,此处不再赘述。
基于上述原理,可以根据水平梯度投影图中各相邻峰值之间的间距以及二维码图像在水平方向上的宽度,确定二维码图像的列数和水平方向上的模块宽度,同理,可以根据垂直梯度投影图中各相邻峰值之间的间距以及二维码图像在垂直方向上的宽度,确定二维码图像的行数和垂直方向上的模块宽度。
在不考虑噪声的影响时,在梯度投影图中的峰值的位置可以认为是相邻两个峰值之间的位置,所以可以将峰值出现的位置作为分割线的位置,通过将水平梯度投影图中各峰值的位置作为各垂直分割线的位置,将垂直梯度投影图中各峰值的位置作为各水平分割线的位置,因而可以将二维码图像分割为一个一个的矩形网格。在实际应用中,在梯度投影图中噪声比较大的位置处也可能出现峰值,并且获取到的二维码图像可能并不是很整齐,所以在上述步骤S102中,需要根据二维码图像的列数和在水平方向上的模块宽度,对各垂直分割线进行调整,以及根据二维码图像的行数和在垂直方向上的模块宽度,对各水平分割线进行调整,从而去除噪声和二维码图像可能不整齐带来的划分网格的误差。
具体地,本发明实施例提供的上述矩阵式二维码的采样网格划分方法中,还可以包括:
S100'、分别根据水平梯度投影图和垂直梯度投影图中各相邻峰值的间距,以及二维码图像在水平方向和垂直方向上的宽度,确定二维码图像的行数、列数,以及在水平方向和垂直方向上的模块宽度。
上述二维码图像的列数和行数按以下方式确定(图中未示出):
分别根据水平梯度投影图中各相邻峰值的间距,以及二维码图像在水平方向上的宽度,确定二维码图像的列数;
分别根据垂直梯度投影图中各相邻峰值的间距,以及二维码图像在垂直方向上的宽度,确定二维码图像的行数;
具体地,上述二维码图像在水平方向和垂直方向上的模块宽度按以下方式确定(图中未示出):
根据二维码图像列数和行数,确定二维码图像的版本信息;
根据二维码图像的版本信息,确定二维码图像在水平方向和垂直方向上的模块宽度。
更具体地,在确定二维码图像的列数时,根据水平梯度投影图中每一个相邻峰值的间距和二维码图像在水平方向上的宽度,可以得到多个与每一个间距对应的列数的近似个数,一般可以通过水平方向上的宽度分别除以每一个间距得到每一个间距对应的近似个数,而列数一般为确定的整数,例如16、18或22等数值,在得到的多个近似个数中,若大多数的近似个数与这些整数中的某一个整数接近,则可以认为二维码图像的列数就是该整数。举例来说,若水平梯度投影图中的各相邻峰值的间距分别为2.1、2.15、2.13、2.09、2.4、2.12,二维码图像在水平方向上的宽度为38,则用41除以上述间距的数值,可以得到各间距对应的近似个数为:18.1、17.7、17.8、18.2、15.8、17.9,可以看出大多数的近似个数都与18接近,则可以认为列数为18。若在计算出的近似个数中出现某个数值介于上述整数之间,例如出现17在16和18之间的情况,此时也可以通过设置权重的方式看整体上哪个整数的权重最大来确定列数。在确定行数时的过程与确定列数的过程类似,此处不再赘述。
在确定水平方向和垂直方向上的模块宽度时,一般对于二维码图像每个版本对应的行数、列数以及模块的尺寸都是是固定的,所以可以根据二维码图像的行数和列数来确定该二维码图像属于哪个版本,确定该二维码图像的版本信息后,则可以确定该二维码的尺寸。
具体地,本发明实施例提供的上述矩阵式二维码的采样网格划分方法中,上述步骤S102中对垂直分割线进行调整,可以具体包括(图中未示出):
S102a、若相邻垂直分割线的间距小于第一阈值,则删除其中一个垂直分割线;
S102b、若相邻垂直分割线的间距大于第二阈值,则在相邻的垂直分割线之间插入一定数量的垂直分割线;第一阈值小于第二阈值。
具体地,本发明实施例提供的上述矩阵式二维码的采样网格划分方法中,上述步骤S102中对水平分割线进行调整,可以具体包括(图中未示出):
S102c、若相邻水平分割线的间距小于第三阈值,则删除其中一个水平分割线;
S102d、若相邻水平分割线的间距大于第四阈值,则在相邻的水平分割线之间插入一定数量的水平分割线;第三阈值小于第四阈值。
上述步骤S102a中,若相邻两个垂直分割线的间距太小,则可以认为其中一个垂直分割线对应的峰值是由于噪声导致的,则需要删除其中一个垂直分割线,在具体应用中,对每一个间距进行判断,若出现间距小于第一阈值,优选为均删除靠前的垂直分割线或均删除靠后的垂直分割线,上述第一阈值可以根据在水平方向上的模块宽度确定,例如可以取在水平方向上的模块宽度的1/3或1/2等数值,也可以根据实际需要确定。
上述步骤S102b中,若相邻垂直分割线的间距太大,则说明在这两个垂直分割线之间还存在没有检测出来的峰值,则需要在这两个垂直分割线之间插入垂直分割线,插入的数量要根据间距的大小来确定,若该间距大约为两个模块的宽度,则只需再插入一个垂直分割线即可,若该间距大约为三个模块的宽度,则需要再插入两个垂直分割线。上述第二阈值可以根据在水平方向上的模块宽度确定,例如可以取在水平方向上的模块宽度的1.2倍或1.3倍等数值,也可以根据实际需要确定。在具体实施时,在插入垂直分割线时,还要结合二维码图像的列数来确定插入垂直分割线的数量,要使插入垂直分割线后得到的垂直分割线的数量比列数多1,才能进行网格划分,后续才能正确解码,也可以将间距由大到小进行排序,看哪些间距中可以插入垂直分割线,再结合需要插入的个数,来确定每一个间距中需要插入的个数,当然也可以采用其他确定方式,此处不做限定。
上述步骤S102c和步骤S102d为对水平分割线调整的过程,与上述步骤S102a和步骤S102b对垂直分割线的调整过程类似,此处不再赘述。
进一步地,本发明实施例提供的上述矩阵式二维码的采样网格划分方法中,在确定二维码图像的水平梯度投影图和垂直梯度投影图之前,还可以包括:
S100、将二维码图像中的各像素点的灰度值映射到矩形区域中,得到校正后的二维码图像。
通过将二维码图像中的各像素点的灰度值映射到矩形区域中,实际上是对二维码图像进行校正,由于拍摄角度的问题,获取到的二维码图像可能并不是规则的矩形,有可能是平行四边形或者梯形等,通过将二维码图像中的各像素点的灰度值映射到矩形区域中,可以得到图形规则的校正后的二维码图像,在本发明实施例中,后续提到的二维码图形优选为校正后的二维码图像。
具体地,上述步骤S100可以具体包括(图中未示出):
S100a、根据二维码图像的四个顶点的位置,确定二维码图像的四个边界线的长度;
S100b、以二维码图像中任意相邻两条边界线的长度分别作为矩形区域的长度和宽度;
S100c、将二维码图像中的各像素点的灰度值映射到矩形区域中。
参照图2b所示的DM二维码的定位区,上述S100a中,首先根据DM二维码的实线边界可以找到三个顶点的位置,然后根据虚线位置确定DM二维码第四个顶点的位置,然后就可以根据四个顶点的位置,得到四条边界的长度。
步骤S100b中,以二维码图像中任意相邻两条边界线的长度作为矩形区域的预设长度和宽度,使后续步骤S100c中的映射过程比较容易,减小映射过程的计算量。
在具体实施时,本发明实施例提供的上述矩阵式二维码的采样网格划分方法中,上述步骤S101中的水平梯度投影图和垂直梯度投影图,可以按以下方式确定:
S101a、根据二维码图像中的各像素点的灰度值,分别得到各像素点在水平方向和垂直方向上的梯度值;
S101b、将各像素点在垂直方向上的梯度值逐行求和,得到水平梯度投影图;
S101c、将各像素点在水平方向上的梯度值逐列求和,得到垂直梯度投影图。
在上述步骤S101a中,由于在对二维码图像进行网格划分时,需要对水平方向和垂直方向上均划分,所以需要确定各像素点在水平方向和垂直方向两个方向上的梯度值,以便后续计算两个方向上出现的峰值。
在上述步骤S101b中,将各像素点在垂直方向上的梯度值逐行求和,可以得到各像素点灰度变化的累加效果,而峰值一般出现在黑色模块和白色模块之间的位置,由于很少会出现一行或一列的模块均是黑色或白色,所以在水平梯度投影图中,相邻两个模块之间一定会出现峰值,因而后续可以将峰值的位置作为分割线的位置。上述步骤S101c与步骤S101b的原理类似,此处不再赘述。
更进一步地,本发明实施例提供的上述矩阵式二维码的采样网格划分方法中,上述步骤S101之前,还可以包括(图中未示出):
确定水平梯度投影图和垂直梯度投影图中的峰值、各峰值的位置、谷值以及各谷值的位置;
滤除与相邻的谷值的差值小于预设阈值的峰值。
在水平(或垂直)梯度投影图中,一般相邻的峰值和谷值之间的差值会比较大,若相邻的峰值和谷值之间的差值比较小,则有可能该峰值位置处并不是边缘,而是噪声,因此,通过设定预设阈值,如果相邻的峰值和谷值之间的差值小于该预设阈值,则认为该峰值位置处为噪声,将该峰值去除,将整个水平(或垂直)梯度投影图都进行这样的处理,则滤除二维码图像中不规则或独立的噪声,使后续的处理结果更加准确。
参照图3,以下结合附图,对本发明实施例提供的优选实施例进行详细说明:
S201、根据二维码图像的四个顶点的位置,确定二维码图像的四个边界线的长度;
S202、将二维码图像中的各像素点的灰度值映射到矩形区域中,得到校正后的二维码图像;该矩形区域的长度和宽度分别为二维码图像中任意相邻两条边界线的长度;
S203、根据校正后的二维码图像中各像素点的灰度值,确定校正后的二维码图像在水平方向上的水平梯度投影图和在垂直方向上的垂直梯度投影图;
S204、分别确定水平梯度投影图和垂直梯度投影图中的峰值、各峰值的位置、谷值以及各谷值的位置,滤除与相邻的谷值的差值小于预设阈值的峰值;
S205、分别根据水平梯度投影图和垂直梯度投影图中各相邻峰值的间距,以及二维码图像在水平方向和垂直方向上的宽度,确定二维码图像的列数、行数以及在水平方向和垂直方向上的模块宽度;二维码图像在水平方向上和垂直方向上的宽度可以为上述S202中的矩形区域的长度和宽度;
S206、将水平梯度投影图和垂直梯度投影图中各峰值的位置分别作为用于分割二维码图像的各垂直分割线和各水平分割线的位置;
S207、根据二维码图像的列数和在水平方向上的模块宽度,对各垂直分割线进行调整;以及根据二维码图像的行数和在垂直方向上的模块宽度,对各水平分割线进行调整;
S208、根据调整后的各垂直分割线和水平分割线对二维码图像进行采样网格划分。
基于同一发明构思,本发明实施例提供一种矩阵式二维码的采样网格划分装置,由于该装置解决问题的原理与上述方法相似,因此该装置的实施可以参见上述方法的实施,重复之处不再赘述。
如图4所示,本发明实施例提供了一种矩阵式二维码的采样网格划分装置,包括:
分割线确定单元301,用于将二维码图像在水平方向上的水平梯度投影图和在垂直方向上的垂直梯度投影图中各峰值的位置分别作为用于分割二维码图像的各垂直分割线和各水平分割线的位置;
调整单元302,用于根据二维码图像的列数和在水平方向上的模块宽度,对各垂直分割线进行调整;以及根据二维码图像的行数和在垂直方向上的模块宽度,对各水平分割线进行调整;
采样网格划分单元303,用于根据调整后的各垂直分割线和水平分割线对二维码图像进行采样网格划分。
具体地,本发明实施例提供的上述矩阵式二维码的采样网格划分装置中,还可以包括:模块规格确定单元300',用于:
分别根据水平梯度投影图中各相邻峰值的间距,以及二维码图像在水平方向上的宽度,确定二维码图像的列数;
分别根据垂直梯度投影图中各相邻峰值的间距,以及二维码图像在垂直方向上的宽度,确定二维码图像的行数;
根据二维码图像列数和行数,确定二维码图像的版本信息;
根据二维码图像的版本信息,确定二维码图像在水平方向和垂直方向上的模块宽度。
具体地,本发明实施例提供的上述矩阵式二维码的采样网格划分装置中,调整单元302,可以具体用于:
若相邻垂直分割线的间距小于第一阈值,则删除其中一个垂直分割线;
若相邻垂直分割线的间距大于第二阈值,则在相邻的垂直分割线之间插入一定数量的垂直分割线;第一阈值小于第二阈值。
具体地,本发明实施例提供的上述矩阵式二维码的采样网格划分装置中,调整单元302,可以具体用于:
若相邻水平分割线的间距小于第三阈值,则删除其中一个水平分割线;
若相邻水平分割线的间距大于第四阈值,则在相邻的水平分割线之间插入一定数量的水平分割线;第三阈值小于第四阈值。
进一步地,本发明实施例提供的上述矩阵式二维码的采样网格划分装置中,参照图4,还可以包括:
校正单元300,用于将二维码图像中的各像素点的灰度值映射到矩形区域中,得到校正后的二维码图像。
具体地,本发明实施例提供的上述矩阵式二维码的采样网格划分装置中,校正单元300,可以具体用于:
根据二维码图像的四个顶点的位置,确定二维码图像的四个边界线的长度;
以二维码图像中任意相邻两条边界线的长度分别作为矩形区域的长度和宽度;
将二维码图像中的各像素点的灰度值映射到矩形区域中。
本发明实施例提供的矩阵式二维码的采样网格划分方法及装置,根据二维码图像的列数和在水平方向上的模块宽度,对各垂直分割线进行调整;以及根据二维码图像的行数和在垂直方向上的模块宽度,对各水平分割线进行调整,根据调整后的各垂直分割线和水平分割线对二维码图像进行采样网格划分,这种网格划分方法对模块的排列是否整齐,模块大小是否一致的要求较低,且不依赖定位符的特征,因此,即使获取到的二维码图像中的模块大小不一致,或者定位符缺损等,也不会对采样网格划分产生影响,适应性较强。此外,二维码图像中的梯度特征比较丰富,在对比度极低的情况下也可以准确的划分采样网格,即该方法具有很强的鲁棒性,也使后续的解码过程有更高的解码率。此外,通过将二维码图像中的各像素点的灰度值映射到矩形区域中,使校正后的二维码图像具有规则的图形,因而,二维码图像本身的形状不会影响后续的处理过程,降低后续处理过程的复杂度。并且在采用网格划分前还包括去除噪声的过程,进一步提高了处理速度和采样网格划分的准确性。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (12)
1.一种矩阵式二维码的采样网格划分方法,其特征在于,包括:
将二维码图像在水平方向上的水平梯度投影图和在垂直方向上的垂直梯度投影图中各峰值的位置分别作为用于分割所述二维码图像的各垂直分割线和各水平分割线的位置;
根据所述二维码图像的列数和在水平方向上的模块宽度,对各所述垂直分割线进行调整;以及根据所述二维码图像的行数和在垂直方向上的模块宽度,对各所述水平分割线进行调整;
根据调整后的各所述垂直分割线和所述水平分割线对所述二维码图像进行采样网格划分。
2.如权利要求1所述的方法,其特征在于,所述二维码图像的列数和行数按以下方式确定:
分别根据所述水平梯度投影图中各相邻峰值的间距,以及所述二维码图像在水平方向上的宽度,确定所述二维码图像的列数;
分别根据所述垂直梯度投影图中各相邻峰值的间距,以及所述二维码图像在垂直方向上的宽度,确定所述二维码图像的行数;
所述二维码图像在水平方向和垂直方向上的模块宽度按以下方式确定:
根据所述二维码图像列数和行数,确定所述二维码图像的版本信息;
根据所述二维码图像的版本信息,确定所述二维码图像在水平方向和垂直方向上的模块宽度。
3.如权利要求1所述的方法,其特征在于,所述根据所述二维码图像的列数和在水平方向上的模块宽度,对各所述垂直分割线进行调整,具体包括:
若相邻垂直分割线的间距小于第一阈值,则删除其中一个垂直分割线;
若相邻垂直分割线的间距大于第二阈值,则在相邻的所述垂直分割线之间插入一定数量的垂直分割线;所述第一阈值小于所述第二阈值。
4.如权利要求1所述的方法,其特征在于,所述根据所述二维码图像的行数和在垂直方向上的模块宽度,对各所述水平分割线进行调整,具体包括:
若相邻水平分割线的间距小于第三阈值,则删除其中一个水平分割线;
若相邻水平分割线的间距大于第四阈值,则在相邻的所述水平分割线之间插入一定数量的水平分割线;所述第三阈值小于所述第四阈值。
5.如权利要求1所述的方法,其特征在于,在确定所述二维码图像的所述水平梯度投影图和所述垂直梯度投影图之前,还包括:
将所述二维码图像中的各像素点的灰度值映射到矩形区域中,得到校正后的二维码图像。
6.如权利要求5所述的方法,其特征在于,所述矩形区域的长度和宽度是根据下列方式确定的:
根据所述二维码图像的四个顶点的位置,确定所述二维码图像的四个边界线的长度;
以所述二维码图像中任意相邻两条边界线的长度分别作为所述矩形区域的长度和宽度。
7.一种矩阵式二维码的采样网格划分装置,其特征在于,包括:
分割线确定单元,用于将二维码图像在水平方向上的水平梯度投影图和在垂直方向上的垂直梯度投影图中各峰值的位置分别作为用于分割所述二维码图像的各垂直分割线和各水平分割线的位置;
调整单元,用于根据所述二维码图像的列数和在水平方向上的模块宽度,对各所述垂直分割线进行调整;以及根据所述二维码图像的行数和在垂直方向上的模块宽度,对各所述水平分割线进行调整;
采样网格划分单元,用于根据调整后的各所述垂直分割线和所述水平分割线对所述二维码图像进行采样网格划分。
8.如权利要求7所述的装置,其特征在于,还包括:模块规格确定单元,用于:
分别根据所述水平梯度投影图中各相邻峰值的间距,以及所述二维码图像在水平方向上的宽度,确定所述二维码图像的列数;
分别根据所述垂直梯度投影图中各相邻峰值的间距,以及所述二维码图像在垂直方向上的宽度,确定所述二维码图像的行数;
根据所述二维码图像列数和行数,确定所述二维码图像的版本信息;
根据所述二维码图像的版本信息,确定所述二维码图像在水平方向和垂直方向上的模块宽度。
9.如权利要求7所述的装置,其特征在于,所述调整单元,具体用于:
若相邻垂直分割线的间距小于第一阈值,则删除其中一个垂直分割线;
若相邻垂直分割线的间距大于第二阈值,则在相邻的所述垂直分割线之间插入一定数量的垂直分割线;所述第一阈值小于所述第二阈值。
10.如权利要求7所述的装置,其特征在于,所述调整单元具体用于:
若相邻水平分割线的间距小于第三阈值,则删除其中一个水平分割线;
若相邻水平分割线的间距大于第四阈值,则在相邻的所述水平分割线之间插入一定数量的水平分割线;所述第三阈值小于所述第四阈值。
11.如权利要求7所述的装置,其特征在于,还包括:
校正单元,用于将所述二维码图像中的各像素点的灰度值映射到矩形区域中,得到校正后的二维码图像。
12.如权利要求11所述的装置,其特征在于,所述校正单元,具体用于:
根据所述二维码图像的四个顶点的位置,确定所述二维码图像的四个边界线的长度;
以所述二维码图像中任意相邻两条边界线的长度分别作为所述矩形区域的长度和宽度;
将所述二维码图像中的各像素点的灰度值映射到所述矩形区域中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710108375.3A CN106909869B (zh) | 2017-02-27 | 2017-02-27 | 一种矩阵式二维码的采样网格划分方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710108375.3A CN106909869B (zh) | 2017-02-27 | 2017-02-27 | 一种矩阵式二维码的采样网格划分方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106909869A true CN106909869A (zh) | 2017-06-30 |
CN106909869B CN106909869B (zh) | 2020-04-03 |
Family
ID=59208896
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710108375.3A Active CN106909869B (zh) | 2017-02-27 | 2017-02-27 | 一种矩阵式二维码的采样网格划分方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106909869B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108174217A (zh) * | 2017-12-06 | 2018-06-15 | 广州索答信息科技有限公司 | 一种图像码的生成与解析方法、电子设备及存储介质 |
CN109214230A (zh) * | 2017-07-05 | 2019-01-15 | 杭州海康威视数字技术股份有限公司 | 数据矩阵码识别方法、装置及电子设备 |
CN113850100A (zh) * | 2021-09-24 | 2021-12-28 | 杭州海康威视数字技术股份有限公司 | 一种校正二维码的方法和装置 |
CN114564978A (zh) * | 2022-04-27 | 2022-05-31 | 北京紫光青藤微系统有限公司 | 用于二维码解码的方法及装置、电子设备、存储介质 |
WO2023274097A1 (zh) * | 2021-06-28 | 2023-01-05 | 歌尔股份有限公司 | 二维码图像处理方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102184378A (zh) * | 2011-04-27 | 2011-09-14 | 茂名职业技术学院 | 一种pdf417标准二维条码图像切割的办法 |
CN102902945A (zh) * | 2012-09-28 | 2013-01-30 | 南京汇兴博业数字设备有限公司 | 基于快速响应矩阵码外轮廓的畸变校正方法 |
CN103400131A (zh) * | 2013-08-16 | 2013-11-20 | 徐宁 | 一种图像识别中的校正装置及其方法 |
CN103593664A (zh) * | 2013-11-29 | 2014-02-19 | 重庆大学 | 一种qr码畸变图像的预处理方法 |
-
2017
- 2017-02-27 CN CN201710108375.3A patent/CN106909869B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102184378A (zh) * | 2011-04-27 | 2011-09-14 | 茂名职业技术学院 | 一种pdf417标准二维条码图像切割的办法 |
CN102902945A (zh) * | 2012-09-28 | 2013-01-30 | 南京汇兴博业数字设备有限公司 | 基于快速响应矩阵码外轮廓的畸变校正方法 |
CN103400131A (zh) * | 2013-08-16 | 2013-11-20 | 徐宁 | 一种图像识别中的校正装置及其方法 |
CN103593664A (zh) * | 2013-11-29 | 2014-02-19 | 重庆大学 | 一种qr码畸变图像的预处理方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109214230A (zh) * | 2017-07-05 | 2019-01-15 | 杭州海康威视数字技术股份有限公司 | 数据矩阵码识别方法、装置及电子设备 |
CN109214230B (zh) * | 2017-07-05 | 2022-04-05 | 杭州海康威视数字技术股份有限公司 | 数据矩阵码识别方法、装置及电子设备 |
CN108174217A (zh) * | 2017-12-06 | 2018-06-15 | 广州索答信息科技有限公司 | 一种图像码的生成与解析方法、电子设备及存储介质 |
CN108174217B (zh) * | 2017-12-06 | 2021-01-19 | 广州索答信息科技有限公司 | 一种图像码的生成与解析方法、电子设备及存储介质 |
WO2023274097A1 (zh) * | 2021-06-28 | 2023-01-05 | 歌尔股份有限公司 | 二维码图像处理方法和装置 |
CN113850100A (zh) * | 2021-09-24 | 2021-12-28 | 杭州海康威视数字技术股份有限公司 | 一种校正二维码的方法和装置 |
CN113850100B (zh) * | 2021-09-24 | 2023-08-11 | 杭州海康威视数字技术股份有限公司 | 一种校正二维码的方法和电子设备 |
CN114564978A (zh) * | 2022-04-27 | 2022-05-31 | 北京紫光青藤微系统有限公司 | 用于二维码解码的方法及装置、电子设备、存储介质 |
CN114564978B (zh) * | 2022-04-27 | 2022-07-15 | 北京紫光青藤微系统有限公司 | 用于二维码解码的方法及装置、电子设备、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106909869B (zh) | 2020-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111814722B (zh) | 一种图像中的表格识别方法、装置、电子设备及存储介质 | |
CN106909869A (zh) | 一种矩阵式二维码的采样网格划分方法及装置 | |
CN102567300B (zh) | 图片文档的处理方法及装置 | |
CN112200117B (zh) | 表格识别方法及装置 | |
CN108921152B (zh) | 基于物体检测网络的英文字符切分方法及装置 | |
CN103942797B (zh) | 基于直方图和超像素的场景图像文字检测方法及系统 | |
KR20150017755A (ko) | 형태 인식 방법 및 디바이스 | |
CN103870790A (zh) | 一种二维条码的识别方法及其装置 | |
CN110598566A (zh) | 图像处理方法、装置、终端和计算机可读存储介质 | |
CN108229232B (zh) | 批量扫描二维码的方法和批量扫描二维码的装置 | |
CN104036292A (zh) | 一种医学影像数字胶片中文字区域提取方法及提取系统 | |
CN105354571B (zh) | 基于曲线投影的畸变文本图像基线估计方法 | |
CN112800955A (zh) | 基于加权双向特征金字塔的遥感影像旋转目标检测方法及系统 | |
CN112446262A (zh) | 文本分析方法、装置、终端和计算机可读存储介质 | |
CN104504387A (zh) | 文本图像的校正方法和装置 | |
CN108197624A (zh) | 证书图像校正识别方法及装置、计算机存储介质 | |
CN111626302A (zh) | 乌金体藏文古籍文档图像的粘连文本行切分方法及系统 | |
CN106228103B (zh) | 一种双层码的识别方法 | |
CN111311497A (zh) | 一种条形码图像角度校正方法和装置 | |
CN104966109A (zh) | 医疗化验单图像分类方法及装置 | |
Yu et al. | An efficient algorithm for depression filling and flat-surface processing in raster DEMs | |
CN114022434B (zh) | 一种护栏上下边线自动化提取方法及提取系统 | |
CN113506301B (zh) | 一种牙齿图像分割方法和装置 | |
CN113989823B (zh) | 基于ocr坐标的图片表格还原方法及系统 | |
Biswas et al. | Text extraction from scanned land map images |
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 | ||
CP01 | Change in the name or title of a patent holder |
Address after: C10, No. 1199 Bin'an Road, Binjiang District, Hangzhou City, Zhejiang Province Patentee after: Zhejiang Huarui Technology Co.,Ltd. Address before: C10, No. 1199 Bin'an Road, Binjiang District, Hangzhou City, Zhejiang Province Patentee before: ZHEJIANG HUARAY TECHNOLOGY Co.,Ltd. |
|
CP01 | Change in the name or title of a patent holder |