一种点阵码图像的识读方法及装置与流程

文档序号:18901447发布日期:2019-10-18 21:59阅读:567来源:国知局
一种点阵码图像的识读方法及装置与流程

本发明涉及图像处理领域,尤其涉及一种点阵码图像的识读方法及装置。



背景技术:

随着图形编码技术的发展,近年来在各种印刷媒体上出现了以一定规则布置,用来记录特征数据的光学几何图形,其中,这些图形通常采用不同颜色的字块,或者由稀疏点阵构成,这些几何图案上能够用来记录特征数据符号信息,其中,由稀疏点阵构成的图形为点阵码图形。

点阵码图形类似于二维码图像,在对点阵码图形进行编码时,点阵码图形隐含有一定的信息,可以通过对点阵码图形进行解码,获取到点阵码图形的信息。

但是,由于点阵码图形中码点较小,在对点阵码图形进行识别时,容易受到外界因素的影响,使得对点阵码的识别准确率低。



技术实现要素:

有鉴于此,本发明实施例公开了一种点阵码图像识读方法及装置,在本实施例中,该方法包括:

获取待处理的点阵码图像,对所述点阵码图像进行预处理;

对所述点阵码图像进行检测,定位出码点所在的区域;

对所述码点所在的区域进行识读。

可选的,所述对所述点阵码图像进行预处理,包括:

对所述点阵码图像进行灰度化处理,生成灰度图像;

对所述点阵码图像的灰度图像进行质量评价,并依据评价结果确定所述点阵码图像的清晰度;

在所述点阵码图像的清晰度满足预设条件的情况下,对所述点阵码图像进行光照补偿;

对所述点阵码图像进行形态学滤波。

可选的,所述对所述点阵码图像进行形态学滤波,包括:

将所述点阵码图像进行二值化处理;

对所述点阵码图像进行开运算处理;

再对所述点阵码图像进行膨胀运算。

可选的,所述对所述点阵码图像进行检测,定位出码点所在的区域,包括:

采用递变尺寸的滑动窗口对所述点阵码图像进行遍历;

依据每个滑动窗口的平均灰度值,筛选符合第一预设条件的滑动窗口,得到多个符合第一预设条件的第一图像区域;

针对每个第一图像区域,将每个第一图像区域划分为多个子区域;

筛选出平均灰度值满足第二预设条件的子区域;

将筛选出的所有符合第二预设条件的子区域进行合并。

可选的,所述依据每个滑动窗口的平均灰度值,筛选符合第一预设条件的滑动窗口,得到多个符合第一预设条件的第一图像区域,包括:

计算滑动窗口内图像区域的平均灰度值;

筛选出平均灰度值处于第一上限阈值和第一下限阈值之间的图像区域;

对筛选出的平均灰度值处于第一上限阈值和第一下限阈值之间的图像区域进行腐蚀操作;

从腐蚀后的图像区域中筛选出平均灰度值小于第二阈值的区域,得到多个第一图像区域。

可选的,所述第二预设条件为筛选出的子区域与其它子区域的平均灰度值的差小于预设的第三阈值,且与第一图像区域的平均灰度值的差小于预设的第四阈值。

可选的,所述对所述码点所在的区域进行识读,包括:

在所述码点所在的区域中检测数据点组;

将所述码点所在的区域中除数据点组之外的码点作为候选参考点组,并根据参考点组和标称位置之间的几何关系,确定出参考点组;

根据参考点组的位置,确定每个数据点组所在的行和列,得到点阵码图形;

识读所述点阵码图形中每个数据点组的值,得到点阵码图形的码值。

可选的,所述在所述码点所在的区域中检测数据点组,包括:

对所述码点所在的区域进行二值化处理,得到包含多个连通域的二值图像;

获取每个连通域中包含的像素点的数量;

筛选出像素点的数量在预设的第一范围内的连通域;

将距离最近的两个连通域作为一组,计算每组中两个连通域的距离值,并计算所有距离值的平均值;

若每组中两个连通域的距离值小于距离值的平均值,则将该组的连通域作为一个码点;

若连通域大于预设的第三阈值,则将该连通域作为两个码点;

将距离最近的两个码点作为一个数据点组。

可选的,所述根据参考点组的位置,确定每个数据点组所在的行和列,包括:

计算离参考点标称位置最近的三个标称位置;

依据所述离参考点标称位置最近的三个标称位置,计算点图形子块的宽和高;

计算每个数据点组中标称位置与参考点标称位置之间的距离,表示为参考距离;

计算参考距离与点图形子块的宽的第一倍数关系,计算参考距离与点图形子块高的第二倍数关系;

根据第一倍数关系和第二倍数关系,确定数据点组所在的行和列。

本发明实施例公开了一种点阵码图像识读装置,包括:

预处理单元,用于获取待处理的点阵码图像,对所述点阵码图像进行预处理;

定位单元,用于对所述点阵码图像进行检测,定位出码点所在的区域;

识读单元,用于对所述码点所在的区域进行识读。

本发明实施例公开了一种点阵码图像的识读方法和装置,通过对点阵码图像进行预处理,改善图像质量,解决了现有技术中光照不均、复杂背景和噪声干扰对点阵码识别噪声的影响;然后,在点阵码图像中定位出码点所在的区域,提高了寻找码点的准确度,最后,在对码点所在的区域进行识读。由此可知,通过上述的方法,提高了对点阵码图像识读的准确度。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1示出了本发明实施例提供的一种点阵码图像的识读方法的流程示意图;

图2示出了定位码点所在区域的流程示意图;

图3示出了区域划分的示意图;

图4示出了点阵码图形的示意图;

图5示出了点阵码图形识读的流程示意图;

图6示出了点阵码图形的又一示意图;

图7示出了本发明实施例提供的一种点阵码图像识读装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参考图1,示出了本发明实施例提供的一种点阵码图像识读方法的流程示意图,在本实施例中,该方法包括:

s101:获取待处理的点阵码图像,对所述点阵码图像进行预处理;

本实施例中,点阵码图像在生成的过程中,难免会出现光照不均、噪声干扰等问题,这些问题的存在会影响点阵码图像的质量,点阵码图像的质量又会对点阵码图像的识别产生影响。因此,为了能够提高点阵码图像识读的准确度,可以对点阵码图像进行如下的操作:

对所述点阵码图像进行灰度化处理,生成灰度图像;

对所述点阵码图像的灰度图像进行质量评价,并依据评价结果确定所述点阵码图像的清晰度;

在所述点阵码图像的清晰度满足预设条件的情况下,对所述点阵码图像进行光照补偿;

对所述点阵码图像进行形态学滤波。

本实施例中,可以依据如下的公式1),对点阵码图像进行灰度化处理:

1)s=(0.299*b+0.587*g+0.114*r);

本实施例中,对点阵码图像的灰度图像进行质量评价的方法有很多,本实施例中,不进行限定,例如可以通过brenner梯度函数、tenengrad梯度函数、laplacian梯度函数,smd、smd2、variance函数、vollath函数、entropy、二次模糊等十三种质量评价函数组成的分类器对s11中的灰度图进行质量评价。

在这里对点阵码图像进行质量评价的目的在于,确定点阵码图像的清晰度,若点阵码图像清晰度较低,则可能是印刷质量有问题,则无需再进行识读了。

其中,清晰度可以通过对质量评价的等级进行确定,若图像质量等级低于预设的等级,则表示清晰度低,无需再进行识读,而对于图像质量等于高于预设等级的,即清晰度较高的,可以执行后续的步骤。

本实施例中,对图像进行光照补偿的方法有很多,例如可以采用于retinex增强和直方图均衡等方法,但是为了能够增强明处和暗处的细节,可以采用如下的方法对图像进行光照补偿:

利用nlemd对图像中明处和暗处的细节进行有效地挖掘、增强,并利用retinex算法对nlemd的剩余分量进行增强。

本实施例中,可以采用形态学滤波的方式消除图像中的噪声,并增强码点的显著度,具体的包括:

将所述点阵码图像进行二值化处理;

对所述点阵码图像进行开运算处理;

再对所述点阵码图像进行膨胀运算。

本实施例中,点阵码图像的二值图像中会包含少量的噪声点,二值图像中噪声点比码点小,而且分布不规则,利用一次开运算可以消除一部分噪声,再利用一次膨胀运算可以增强码点,使码点变得充实显著。

s102:对所述点阵码图像进行检测,定位出码点所在的区域;

本实施例中,一个图像中除了包含点阵码图形外,可能还包含其它的信息,为了避免其它信息对码点的识读产生影响,可以先定位出码点所在的区域,再对码点进行识读,具体,如图2所示,s102包括:

s201:采用递变尺寸的滑动窗口对所述点阵码图像进行遍历;

递变尺寸可以理解为,确定滑动窗口尺寸的最大值和滑动窗口尺寸的最小值,并以每次逐级递减的方式改变滑动窗口的尺寸,例如以每次减小2的规则进行递减。

s202:依据每个滑动窗口的平均灰度值,筛选符合第一预设条件的滑动窗口,得到多个符合第一预设条件的第一图像区域;

其中对第一预设条件的筛选,可以包括:

计算滑动窗口内图像区域的平均灰度值;

筛选出平均灰度值处于第一上限阈值和第一下限阈值之间的图像区域;

对筛选出的平均灰度值处于第一上限阈值和第一下限阈值之间的图像区域进行腐蚀操作;

从腐蚀后的图像区域中筛选出平均灰度值小于第二阈值的区域,得到多个第一图像区域。

其中,第一上限阈值和第二上限阈值以及第二阈值可以是通过实验获得的,在本实施例中不进行限定。

s203:针对每个第一图像区域,将每个第一图像区域划分为多个子区域;

s204:筛选出平均灰度值满足第二预设条件的子区域;

本实施例中,第二预设条件可以为为筛选出的子区域与其它子区域的平均灰度值的差小于预设的第三阈值,且与第一图像区域的平均灰度值的差小于预设的第四阈值。

举例说明:将一个第一图像区域平均划分为四个子区域,并将中间的十字区域作为一部分,共五个部分,如图3所示。计算每个子区域(区域1、区域2、区域3、区域4和区域5)的平均灰度值,并判断每个子区域之间的平均灰度值是否相近,以及每个子区域的平均灰度值和第一图像区域6的灰度值是否相近。其中,针对区域1,判断区域1和区域2的平均灰度的平均值的差值是否接近,区域1和区域3的平均灰度的平均值的差值是否接近,区域1和区域4的平均灰度的平均值是否接近,区域1和区域5的平均灰度的平均值是否接近,并判断区域1和第一图像区域6的灰度值是否相近。

s205:将筛选出的所有符合第二预设条件的子区域进行合并。

本实施例中,合并过程可以包括:在对子区域进行筛选的过程中,每次在筛选出新的子区域时,将筛选出的子区域进行标记,将筛选出的新的子区域与已经筛选出的子区域进行对比,若存在水平、竖直、倾斜的方向上有交集的即可进行合并,若不能进行合并,则记录,再下一次再有新的子区域被筛选出来后,再次进行对比。

s103:对所述码点所在的区域进行识读。

本实施例中,点阵码图形包括:多个图像子块,每个图形子块包括数据点组和标称位置,如图4所示。点图形块100包括多个子单元101,每个子单元包括数据点标称位置102,每个数据点标称位置的两侧包含两个码点,每个数据点标称位置两侧的两个码点表示为数据点组103,参考点标称位置104的正上方包括一个参考点组104。

对点阵码图形的识别,可以理解为对每个图形子块中数据点组的识别,具体的如图5所示,s103包括:

s501:在所述码点所在的区域中检测数据点组;

其中,s501包括:

对所述码点所在的区域进行二值化处理,得到包含多个连通域的二值图像;

获取每个连通域中包含的像素点的数量;

筛选出像素点的数量在预设的第一范围内的连通域;

将距离最近的两个连通域作为一组,计算每组中两个连通域的距离值,并计算所有距离值的平均值;

若每组中两个连通域的距离值小于距离值的平均值,则将该组的连通域作为一个码点;

若连通域大于预设的第三阈值,则将该连通域作为两个码点;

将距离最近的两个码点作为一个数据点组。

本实施例中,点阵码图形中,每个数据点组是成对出现的,而且这两个数据点组之间的距离是最近的,在本实施例中可以通过距离用于配对的码点,进而确定出数据点组。

首先,初次寻找可用于配对的码点,包括:统计每个连通域中包含的像素点的数量,筛选出像素点的数量大于预设的第一范围的目标连通域;针对于任意一个目标连通域,计算该目标连通域与其它目标连通域之间的距离,并筛选出距离最近的目标连通域,将该距离最近的两个连通域作为一组。计算每组连通域的距离值,并计算所有距离值的平均值。

然后,根据筛选出的连通域,确定码点所在的区域中所有的码点,包括:判断每个连通域的大小与预设的第三阈值之间的关系,将大于第三阈值的连通域作为两个码点,例如可以将该连通域分成两部分,每部分作为一个连通域,例如可以分成上下两部分也可以分成左右两部分;并判断每组中两个连通域的距离与距离值的平均值的关系,若每组中两个连通域的距离小于距离值的平均值,则将该组中的两个连通域作为一个码点。

计算每个码点与其它码点的中心距,其中,中心距可以理解为,一个码点的中心到另外一个码点中心的距。

针对于任何一个码点,计算该码点与其它码点的中心距,将最小中心距对应的码点作为该码点的配对码点,并将这两个码点作为一个数据点组,即针对于任何一个码点,寻找到距离该码点最近的一个其它的码点,并将这两个码点作为一个数据点组。

s502:将所述码点所在的区域中除数据点组之外的码点作为候选参考点组,并根据参考点组和标称位置之间的几何关系,确定出参考点组;

本实施例中,一个点阵码图形中,包括数据点组和参考点组,那么在码点所在的区域中,除了数据点组之外的其它码点,都有可能为参考点组,例如表示为候选的参考点组。

在候选的参考点组中,一个点阵码图形中可能包括一个参考点组,有可能包含多个参考点组,但是与数据点组不同的是,参考点组不是成对出现的,而且,每个参考点组位于标称位置的正上方,那么根据标称位置与参考点组之间的关系,可以从候选的参考点组中确定出实际的参考点组。

进一步的,当|cd|表示c、d之间的距离,|ab|表示a、b之间的距离。

在确定了参考点组后,还需要根据参考点组将点图形进行旋转,使得点图形处于预定的正方向。

s503:根据参考点组的位置,确定每个数据点组所在的行和列,得到点阵码图形;

其中,计算离参考点标称位置最近的三个标称位置,如图6所示,并根据这三个标称位置计算点图形子块的宽和高;计算每个数据点组中标称位置与参考点标称位置之间的距离,表示为参考距离;计算参考距离与点图形子块的宽的第一倍数关系,计算参考距离与点图形子块高的第二倍数关系;根据第一倍数关系和第二倍数关系,确定数据点组所在的行和列。

举例说明:如图6所示,点d为参考点标称位置,a、c、b为距离参考点标称位置最近的三个标称位置,则a的y坐标和c的y坐标之间的差值等于高。

s504:识读所述点阵码图形中每个数据点组的值,得到点阵码图形的码值。

本实施例中,计算每个数据点组的角度,并根据角度确定数据点组的值。

需要知道的是,每个数据点组中的两个码点,以标称位置为中心,对称的设置两个码点,并且码点的角度包括:0度、45度、90度和135度,不同的角度表示不同的信息。

其中,为了得到更加准确的点阵码图形的码值,还可以对点阵码图形进行纠错处理,例如可以采用reed-solomon纠错算法进行纠错,从而得到纠错校验后的码值。

本实施例中,通过对点阵码图像进行预处理,改善图像质量,解决了现有技术中光照不均、复杂背景和噪声干扰对点阵码识别噪声的影响;然后,在点阵码图像中定位出码点所在的区域,提高了寻找码点的准确度,最后,在对码点所在的区域进行识读。由此可知,通过上述的方法,提高了对点阵码图像识读的准确度。

参考图7,示出了本发明实施例提供的一种点阵码图像的识读装置的结构示意图,在本实施例中,该装置包括:

预处理单元701,用于获取待处理的点阵码图像,对所述点阵码图像进行预处理;

定位单元702,用于对所述点阵码图像进行检测,定位出码点所在的区域;

识读单元703,用于对所述码点所在的区域进行识读。

可选的,所述预处理单元,用于:

对所述点阵码图像进行灰度化处理,生成灰度图像;

对所述点阵码图像的灰度图像进行质量评价,并依据评价结果确定所述点阵码图像的清晰度;

在所述点阵码图像的清晰度满足预设条件的情况下,对所述点阵码图像进行光照补偿;

对所述点阵码图像进行形态学滤波。

可选的,所述对所述点阵码图像进行形态学滤波,包括:

将所述点阵码图像进行二值化处理;

对所述点阵码图像进行开运算处理;

再对所述点阵码图像进行膨胀运算。

可选的,定位单元,用于:

采用递变尺寸的滑动窗口对所述点阵码图像进行遍历;

依据每个滑动窗口的平均灰度值,筛选符合第一预设条件的滑动窗口,得到多个符合第一预设条件的第一图像区域;

针对每个第一图像区域,将每个第一图像区域划分为多个子区域;

筛选出平均灰度值满足第二预设条件的子区域;

将筛选出的所有符合第二预设条件的子区域进行合并。

可选的,所述依据每个滑动窗口的平均灰度值,筛选符合第一预设条件的滑动窗口,得到多个符合第一预设条件的第一图像区域,包括:

计算滑动窗口内图像区域的平均灰度值;

筛选出平均灰度值处于第一上限阈值和第一下限阈值之间的图像区域;

对筛选出的平均灰度值处于第一上限阈值和第一下限阈值之间的图像区域进行腐蚀操作;

从腐蚀后的图像区域中筛选出平均灰度值小于第二阈值的区域,得到多个第一图像区域。

可选的,所述第二预设条件为筛选出的子区域与其它子区域的平均灰度值的差小于预设的第三阈值,且与第一图像区域的平均灰度值的差小于预设的第四阈值。

可选的,识读单元,用于:

在所述码点所在的区域中检测数据点组;

将所述码点所在的区域中除数据点组之外的码点作为候选参考点组,并根据参考点组和标称位置之间的几何关系,确定出参考点组;

根据参考点组的位置,确定每个数据点组所在的行和列,得到点阵码图形;

识读所述点阵码图形中每个数据点组的值,得到点阵码图形的码值。

可选的,所述在所述码点所在的区域中检测数据点组,包括:

对所述码点所在的区域进行二值化处理,得到包含多个连通域的二值图像;

获取每个连通域中包含的像素点的数量;

筛选出像素点的数量在预设的第一范围内的连通域;

将距离最近的两个连通域作为一组,计算每组中两个连通域的距离值,并计算所有距离值的平均值;

若每组中两个连通域的距离值小于距离值的平均值,则将该组的连通域作为一个码点;

若连通域大于预设的第三阈值,则将该连通域作为两个码点;

将距离最近的两个码点作为一个数据点组。

可选的,所述根据参考点组的位置,确定每个数据点组所在的行和列,包括:

计算离参考点标称位置最近的三个标称位置;

依据所述离参考点标称位置最近的三个标称位置,计算点图形子块的宽和高;

计算每个数据点组中标称位置与参考点标称位置之间的距离,表示为参考距离;

计算参考距离与点图形子块的宽的第一倍数关系,计算参考距离与点图形子块高的第二倍数关系;

根据第一倍数关系和第二倍数关系,确定数据点组所在的行和列。

本实施例的装置,通过对点阵码图像进行预处理,改善图像质量,解决了现有技术中光照不均、复杂背景和噪声干扰对点阵码识别噪声的影响;然后,在点阵码图像中定位出码点所在的区域,提高了寻找码点的准确度,最后,在对码点所在的区域进行识读。由此可知,通过上述的方法,提高了对点阵码图像识读的准确度。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1