CN104463795B - 一种点阵式dm二维码图像处理方法及装置 - Google Patents

一种点阵式dm二维码图像处理方法及装置 Download PDF

Info

Publication number
CN104463795B
CN104463795B CN201410674241.4A CN201410674241A CN104463795B CN 104463795 B CN104463795 B CN 104463795B CN 201410674241 A CN201410674241 A CN 201410674241A CN 104463795 B CN104463795 B CN 104463795B
Authority
CN
China
Prior art keywords
image
sigma
value
function
dimensional
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
Application number
CN201410674241.4A
Other languages
English (en)
Other versions
CN104463795A (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.)
Yuan Chong
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN201410674241.4A priority Critical patent/CN104463795B/zh
Publication of CN104463795A publication Critical patent/CN104463795A/zh
Application granted granted Critical
Publication of CN104463795B publication Critical patent/CN104463795B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Processing (AREA)

Abstract

本发明涉及一种点阵式DM二维码图像处理方法及装置,该方法包括:步骤一,读取图像并统一尺寸;步骤二,转化为灰度图;步骤三,高斯平滑滤波处理;步骤四,二值化处理;步骤五,斑点检测获得码元直径;步骤六,根据码元直径对原始灰度图进行动态滤波及改进的二值化处理;步骤七,对二值化图像进行开、闭运算,获得点阵图像;步骤八,对点阵图像中值滤波处理,转化为标准二维码图像。该方法能够克服点阵式DataMatrix码在识别中间隙过大、光照不均匀和噪声干扰等问题,可通过目前的DM码手持识别设备进行检测,硬件上无需二次开发,***设计可行快速有效,能满足目前对点阵式DM解码的实际需求。

Description

一种点阵式DM二维码图像处理方法及装置
技术领域
本发明属于二维码计算机图像处理技术领域,特别涉及一种点阵式DM二维码图像处理方法和装置。
背景技术
点阵式DM(DataMatrix)目前主要应用于汽车制造、制药医疗、军队枪械管理等领域,由于其易于生成,因此在金属、玻璃、硬塑等材料中到了广泛的应用。同时由于点阵式DM二维码生成方法和使用材料的多样性导致其条形码图像普遍存在对比度低、多噪声干扰、背景复杂、采集过程中出现的光照不均匀等情况。与标准的DM符号不同,点阵式DM二维码的点间空隙大,如图1所示。如对这种码毫无处理地进行识别,则又会加大识别的难度,因此对于点阵式二维码图像进行图像预处理是很有必要的。
随着嵌入式平台的发展与推广,已经出现了便携式二维码识别阅读器,使对二维码的识读更加快捷方便,目前关于DM码图像预处理的研究层出不穷,但是对于点阵式DM码图像预处理的研究相对较少。因此本发明提出了点阵式DM图像预处理方法以及相应的装置。
发明内容
本发明针对点阵式DataMatrix二维码存在的识别率低的问题,提出了一系列结合二值化的形态学变换的图像预处理方法,并通过斑点检测使平滑模糊与形态学变换具有自适应性。该方法能够克服点阵式DataMatrix码在识别中间隙过大、光照不均匀和噪声干扰等问题,并将点阵式DM二维码转化为标准的格式,从而可通过目前的DM码手持识别设备进行检测,硬件上无需二次开发,***设计可行快速有效,能满足目前对点阵式DM解码的实际需求。
本发明提供了一种点阵式DM二维码图像处理方法,包括:
步骤一:读取点阵式DM二维码图像,在不改变原点阵式DM二维码图像宽高比例的基础上,利用最近邻插值算法或双线性插值算法进行宽度统一化处理;
步骤二:将统一尺寸后的图像转换为灰度图;
步骤三:对灰度化后的图像进行高斯平滑滤波处理,去除图像背景的细小纹理,使点阵码元的实心点更加平滑;
步骤四:将高斯平滑滤波后的灰度级图像转化为黑白二值化图像;
步骤五:对步骤四中二值化后的图像进行码元检测,得到点阵式码元的直径;
步骤六:根据步骤五获得的点阵码元的直径大小而动态的改变平均模板的大小,进而对步骤二中的灰度图进行动态均值滤波处理,对动态均值滤波后的灰度图再进行kittler算法与Bernsen算法相结合的改进的二值化处理;
步骤七:将步骤六获得的二值化图像进行形态学的开运算和闭运算操作,得到处理后的点阵图像,其中,
开运算用下式表示:
闭运算用下式表示:
其中A为输入的二值图像,B为正方形结构元素。
步骤八:将步骤七获得的点阵图像通过中值滤波去噪处理,转变为可识别的块状结构的标准DM二维码图像。
进一步的,所述步骤七开运算中的正方形结构元素B的边长优选为点阵码元直径的1/3,闭运算中正方形结构元素B的边长优选为小于点阵码元直径1至5个显示像素点。
进一步的,步骤八使用的中值滤波去噪处理优选为通过以下步骤实现:
把图像中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近真实值,从而消除孤立的噪声点,其中二维中值滤波输出通过下式获得:
g(x,y)=med{f(x-k,y-1),(k,1∈W)}
其中,med{}表示取数组序列的中间值;f(x,y),g(x,y)分别为原始图像和处理后图像;W为3×3大小的二维模板;k,l均为整数,分别表示坐标x、y方向上的增量。
进一步的,步骤六的动态均值滤波处理优选的进一步包括如下步骤:
(1)模板大小通过下式获得:
其中round表示取整操作;
(2)计算平均滤波模板:
其中,k为平均模板的大小,D为点阵码元的直径,ε是平均模板;
(3)按照下式进行平均滤波:
I1(x,y)=ε*I(x,y)
其中I(x,y)表示灰度图矩阵,I1(x,y)表示滤波后图像灰度矩阵;
进一步的,步骤四中将高斯平滑滤波后的灰度级图像转化为黑白二值化图像的过程具体包括:
(1)用Kittler算法得到全局阈值T,计算该全局阈值T的方法如下:
其中,f(x,y)是步骤二获得的原始的灰度图,e(x,y)=max{|ex|,|ey|}即梯度最大值,ex=f(x-1,y)-f(x+1,y)是水平方向上的梯度,ey=f(x,y-1)-f(x,y+1)是垂直方向上的梯度;
(2)扫描整个f(x,y)灰度图像,则二值化结果为:
其中b(x,y)为二值化结果。
进一步的,步骤六使用的kittler算法与Bernsen算法相结合的改进的二值化处理包括如下具体步骤:
步骤(1)用Kittler算法得到全局阈值T,计算该全局阈值T的方法如下:
其中,f(x,y)是步骤二获得的原始的灰度图,e(x,y)=max{|ex|,|ey|}即梯度最大值,ex=f(x-1,y)-f(x+1,y)是水平方向上的梯度,ey=f(x,y-1)-f(x,y+1)是垂直方向上的梯度;
步骤(2)采用Bernsen算法对图像直方图中光照不均的区间进行处理,该区间的灰度值集中在步骤(1)得到的全局阈值T附近,如果T3>D,D是Bernsen算法处理的区间宽度即点阵码元的直径
则二值化结果
如果T3<D,D是Bernsen算法处理的区间宽度即点阵码元的直径
则二值化结果
其中,
T3是阈值选择依据且T3(x,y)=maxs-mins
T2(x,y)=0.5(maxd+mind),
T4(x,y)=0.5(T+T2(x,y));
其中,
maxd表示像素点(x,y)在大小为4w*4w的窗口中最大像素值;
表示像素点(x,y)在大小为4w*4w的较大窗口中最小像素值;
表示像素点(x,y)在大小为2w*2w的较小窗口中最大像素值;
表示像素点(x,y)在大小为2w*2w的较小窗口中最小像素值;
上述式中的max表示取窗口内像素的最大值,min表示取窗口内像素的最小值,k和l均为整数,分别表示坐标x、y方向上的增量;w表示局部阈值运算的窗口,w取值范围为5~9,T2表示窗口内像素灰度平均值,T4是T2与全局阈值T的平均值。
进一步的,步骤五中的码元检测具体流程如下:
利用高斯拉普拉斯算子检测图像码元,对于二维高斯函数:
其中,σ为函数的宽度参数即特征尺度,用于控制函数的径向作用范围,σ越大表示函数的径向越宽,其相似的码元越大,σ越小表示函数的径向越窄,其相似的码元越小,x,y表示二维空间位置,g(x,y,σ)表示二维高斯函数;
式(1)的拉普拉斯变换为:
其中,Δ2g表示二维高斯函数的拉普拉斯函数,Δ2表示二阶微分算子,g表示二维高斯函数;规范化的高斯拉普拉斯变换为:
式(3)中表示规范化的高斯拉普拉斯函数,其方差为0;
式(3)所示的规范化的二维高斯拉普拉斯函数是圆对称函数,通过改变σ的值,检测不同尺寸的二维码码元,而求取得极点值等价于求取下式:
其中,表示对规范化的高斯拉普拉斯函数求σ的偏导,表示求规范化的高斯拉普拉斯函数的极点值;
亦即:
r2-2σ2=0
其中r表示二维码图像二值化的圆形码元的半径,在尺度时,高斯拉普拉斯响应值达到最大,同理,如果图像中的圆形码元黑白反相,那么,该码元的高斯拉普拉斯响应值在尺度为时达到最小,高斯拉普拉斯响应达到峰值时的尺度σ值是码元检测的特征尺度,计算二值化后的图像在不同尺度下的离散拉普拉斯响应值,然后检查位置空间中的每个点,若该点的拉普拉斯响应值都大于或小于其它立方空间邻域的值,那么,该点就是被检测到的二维码数据元素点,上述寻找位置空间和尺度空间的峰值可通过如下函数表示:
该函数表示同时在空间位置和尺度上拉普拉斯响应达到最大值或最小值的点的取值,该点就是所要检测的码元;其中,t表示尺度值,(x,y)表示空间位置,max minlocal(x,y,t)(·)表示响应函数在空间和尺度位置上的最大值或最小值,arg(·)表示对应函数值的变量的取值,表示在尺度空间下标准二维拉普拉斯函数。
本发明还提供了一种点阵式DM二维码图像处理装置,包括:
图像读取模块,用于读取点阵式DM二维码图像,在不改变原点阵式DM二维码图像宽高比例的基础上,利用最近邻插值算法或双线性插值算法进行宽度统一化处理;
灰度转换模块,用于将统一尺寸后的图像转换为灰度图;
高斯平滑滤波模块,用于对灰度化后的图像进行高斯平滑滤波处理,去除图像背景的细小纹理,使点阵码元的实心点更加平滑;
二值化转换模块,用于将高斯平滑滤波后的灰度级图像转化为黑白二值化图像;
码元检测模块,用于对二值化转换模块中二值化后的图像进行码元检测,得到点阵式码元的直径;
动态均值滤波及二值化转换模块,用于根据码元检测模块获得的点阵码元的直径大小而动态的改变平均模板的大小,进而对灰度转换模块获得的灰度图进行动态均值滤波处理,对动态均值滤波后的灰度图再进行kittler算法与Bernsen算法相结合的改进的二值化处理;
运算操作模块,用于将动态均值滤波及二值化转换模块获得的二值化图像进行形态学的开运算和闭运算操作,得到处理后的点阵图像,其中,
开运算用下式表示:
闭运算用下式表示:
其中A为输入的二值图像;B为正方形结构元素;
标准化模块,用于将运算操作模块获得的点阵图像通过中值滤波去噪处理,转变为可识别的块状结构的标准DM二维码图像。
进一步的,所述运算操作模块的开运算中的正方形结构元素B的边长优选为点阵码元直径的1/3,闭运算中正方形结构元素B的边长优选为小于点阵码元直径1至5个显示像素点。
进一步的,标准化模块使用的中值滤波去噪处理优选为通过以下方式实现:
把图像中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近真实值,从而消除孤立的噪声点,其中二维中值滤波输出通过下式获得:
g(x,y)=med{f(x-k,y-1),(k,1∈W)}
其中,med{}表示取数组序列的中间值;f(x,y),g(x,y)分别为原始图像和处理后图像;W为3×3大小的二维模板;k,l均为整数,分别表示坐标x、y方向上的增量。
附图说明
图1是点阵DM码与标准DM码的对比图;
图2是点阵DM码图像处理流程图;
图3是二值化的点阵DM码图像与二值化后的斑点(码元)检测示意图;
图4是开运算和闭运算的效果图;
图5是点阵DM码图像转换为标准DM二维码图像的效果示意图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步详细的说明,并不是把本发明的实施范围局限于此。
如图1所示,点阵DM码(右)与标准DM码(左)有着显著的区别。
由于点阵式DM码是由均匀的圆点按照一定的规则组成的,如果按照常规的方法直接对图片进行模糊平滑以及形态学变化,效果很不理想,容易造成过处理以及处理效果不明显。
[实施例一]
本实施例提供了一种点阵式DM二维码图像处理流程和方法,该方法可以通过计算机程序实现或是通过硬件电路实现,具体流程参照图2所示。
(一)读取图像并统一尺寸
为了方便处理,首先在读取图像后对点阵式二维图像的大小进行统一化,在不改变原图宽高比例的基础上利用最近邻插值算法或双线性插值算法进行宽度统一化,经过试验表明统一化能够使辨识更加精准。
(二)转换为灰度图
位于便于对图像进行处理,需要将原始采集的图像转换为灰度图像。
(三)高斯平滑滤波处理
由于条码背景的粗糙度影响辨识精确性,而点阵DM码的点阵模块均为实心斑点,平滑对实心点影响不大,所以,为了去除图片的复杂纹理,需要进行模糊平滑化处理。点阵式DM条码对平滑处理的要求不需要太高,通过多种平滑滤波变换的实验比较,发现动态均值滤波与高斯滤波均满足要求。因此本步骤中使用高斯平滑得到自然的平滑效果,不至于太模糊,以使斑点检测的测量更精准稳定。
(四)二值化处理
图像的二值化处理就是通过选取适当的阈值,将灰度级图像转化为可以反映图像整体结构和局部特征的黑白二值化图像。在点阵式Data Matrix条码图像处理过程中,通过对二值化后的图像进行相应运算,可以比较容易获取目标区域的边界、位置、大小等特征信息,从而为条码图像的分析和识别奠定基础。
首先,用Kittler算法得到全局阈值T,计算该全局阈值T的方法如下:
其中,f(x,y)是步骤二获得的原始的灰度图,e(x,y)=max{|ex|,|ey|}即梯度最大值,ex=f(x-1,y)-f(x+1,y)是水平方向上的梯度,ey=f(x,y-1)-f(x,y+1)是垂直方向上的梯度;
然后,扫描整个f(x,y)灰度图像,则二值化结果为:
其中b(x,y)为二值化结果。
(五)斑点检测
斑点检测(即点阵码元检测)的原理如下:
利用高斯拉普拉斯(Laplace of Guassian,LoG)算子检测图像码元,对于二维高斯函数:
其中,σ为函数的宽度参数即特征尺度,用于控制函数的径向作用范围,σ越大表示函数的径向越宽,其相似的码元越大,σ越小表示函数的径向越窄,其相似的码元越小,x,y表示二维空间位置,g(x,y,σ)表示二维高斯函数;
式(1)的拉普拉斯变换为:
其中,Δ2g表示二维高斯函数的拉普拉斯函数,Δ2表示二阶微分算子,g表示二维高斯函数;
规范化的高斯拉普拉斯变换为:
式(3)中表示规范化的高斯拉普拉斯函数,其方差为0;
式(3)所示的规范化的二维高斯拉普拉斯函数是圆对称函数,通过改变σ的值,检测不同尺寸的二维码码元,而求取得极点值等价于求取下式:
其中,表示对规范化的高斯拉普拉斯函数求σ的偏导,表示求规范化的高斯拉普拉斯函数的极点值;
亦即:
r2-2σ2=0
其中r表示二维码图像二值化的圆形码元的半径,在尺度时,高斯拉普拉斯响应值达到最大,同理,如果图像中的圆形码元黑白反相,那么,该码元的高斯拉普拉斯响应值在尺度为时达到最小,高斯拉普拉斯响应达到峰值时的尺度σ值是码元检测的特征尺度,计算二值化后的图像在不同尺度下的离散拉普拉斯响应值,然后检查位置空间中的每个点,若该点的拉普拉斯响应值都大于或小于其它立方空间邻域的值,那么,该点就是被检测到的二维码数据元素点,上述寻找位置空间和尺度空间的峰值可通过如下函数表示:
该函数表示同时在空间位置和尺度上拉普拉斯响应达到最大值或最小值的点的取值,该点就是所要检测的码元;其中,t表示尺度值,(x,y)表示空间位置,max minlocal(x,y,t)(·)表示响应函数在空间和尺度位置上的最大值或最小值,arg(·)表示对应函数值的变量的取值,表示在尺度空间下标准二维拉普拉斯函数。
根据以上原理,可以很好地检测到二维码图像的数据元素点及其各个斑点的尺寸,见图3。
(六)动态滤波及改进的二值化处理
首先,进行动态滤波处理:
(1)模板大小通过下式获得:
其中round表示取整操作;
(2)计算平均滤波模板:
其中,k为平均模板的大小,D为点阵码元的直径,ε是平均模板;
(3)按照下式进行平均滤波:
I1(x,y)=ε*I(x,y)
其中I(x,y)表示灰度图矩阵,I1(x,y)表示滤波后图像灰度矩阵;
然后,进行改进的二值化处理:
本方法的二值化算法选用了kittler算法与改进的Bernsen算法相结合的二值化算法,针对于点阵式二维码点模块相对于平滑,背景纹理相似的特点,可以很好的忽略不必要的背景细节,同时对光照不均匀的图片有很好的处理效果。首先根据Kittler的简单统计算法找到图像发生光照不均的区域,然后改进Bernsen算法的处理过程、调整参数、削弱原算法的伪影问题,并用改进后的算法处理图像光照不均的部分。该算法具有良好的稳定性和自适应性,可以明显提高二维条码的二值化效果和识别率。
kittler算法与改进的Bernsen算法相结合的二值化处理方法如下:
步骤(1)用Kittler算法得到全局阈值T,计算该全局阈值T的方法如下:
其中,f(x,y)是步骤二获得的原始的灰度图,e(x,y)=max{|ex|,|ey|}即梯度最大值,ex=f(x-1,y)-f(x+1,y)是水平方向上的梯度,ey=f(x,y-1)-f(x,y+1)是垂直方向上的梯度;
步骤(2)采用Bernsen算法对图像直方图中光照不均的区间进行处理,该类区间的灰度值集中在步骤(1)得到的全局阈值T附近,
如果T3>D,D是Bernsen算法处理的区间宽度即点阵码元的直径
则二值化结果
如果T3<D,D是Bernsen算法处理的区间宽度即点阵码元的直径
则二值化结果
其中,
T3是阈值选择依据且T3(x,y)=maxs-mins
T2(x,y)=0.5(maxd+mind),
T4(x,y)=0.5(T+T2(x,y));
其中,
maxd表示像素点(x,y)在大小为4w*4w的窗口中最大像素值;
表示像素点(x,y)在大小为4w*4w的较大窗口中最小像素值;
表示像素点(x,y)在大小为2w*2w的较小窗口中最大像素值;
表示像素点(x,y)在大小为2w*2w的较小窗口中最小像素值;
上述式中的max表示取窗口内像素的最大值,min表示取窗口内像素的最小值,k和l均为整数,分别表示坐标x、y方向上的增量;w表示局部阈值运算的窗口,w取值范围为5~9,T2表示窗口内像素灰度平均值,T4是T2与全局阈值T的平均值。
(七)进行开、闭运算,获得点阵图像
点阵式DM码是由点模块构成的,为了变为可识别的标准DM码,需要将点阵模块变为块状结构,就用到了形态学变换上开、闭运算,开、闭运算是膨胀与腐蚀的组合形式。
其中,A被B膨胀,记为定义为:
其中,A被B腐蚀,记为AΘB,定义为:
AΘB={z|(B)z∩Ac≠Φ}
A被B的形态学开运算可以记做AοB,这种运算是A被B腐蚀后再用B来膨胀腐蚀的结果:
A被B的形态学闭运算可以记做A·B,这种运算是A被B膨胀后再用B来腐蚀膨胀的结果:
在本方法中,A为输入的二值图像,B为正方形结构元素。
开运算可以使图像的轮廓变得光滑,还能使狭窄的连接断开和消除毛刺,但与腐蚀不同的是图像大的轮廓并没有发生整体的收缩,物***置也没有发生任何变化。闭运算同样可以使轮廓变得光滑,但与开运算相反,它通常能够弥合狭窄的间断,填充小的空洞。如图4为开运算和闭运算的示意图。因此将开运算与闭运算运用在DM二维码标准化上,可以去掉二值化后的杂散点与一些毛刺。大量实验总结可得,用斑点检测得到的斑点尺寸(即点阵码元直径)的三分之一的方形结构元素进行开运算,去除杂散点与毛刺。用稍小于斑点尺寸(即点阵码元直径)1至5个显示像素点的方形结构元素进行闭运算,使点模块变为近似块状结构,使其“L”形边界清晰可见。
(八)开、闭运算后进行中值滤波处理,转化为标准二维码图像
中值滤波去噪处理优选为通过以下方式实现:
把图像中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近真实值,从而消除孤立的噪声点,其中二维中值滤波输出通过下式获得:
g(x,y)=med{f(x-k,y-1),(k,l∈W)}
其中,med{}表示取数组序列的中间值;f(x,y),g(x,y)分别为原始图像和处理后图像;W为3×3大小的二维模板;k,1均为整数,分别表示坐标x、y方向上的增量。
转变为标准DM二维码图像后的效果如图5所示。
[实施例二]
本发明还提供了一种功能模块架构的软件虚拟装置,其包括以下结构:
一种点阵式DM二维码图像处理装置,包括:
图像读取模块,用于读取点阵式DM二维码图像,在不改变原点阵式DM二维码图像宽高比例的基础上,利用最近邻插值算法或双线性插值算法进行宽度统一化处理;
灰度转换模块,用于将统一尺寸后的图像转换为灰度图;
高斯平滑滤波模块,用于对灰度化后的图像进行高斯平滑滤波处理,去除图像背景的细小纹理,使点阵码元的实心点更加平滑;
二值化转换模块,用于将高斯平滑滤波后的灰度级图像转化为黑白二值化图像;
码元检测模块,用于对二值化转换模块中二值化后的图像进行码元检测,得到点阵式码元的直径;
动态均值滤波及二值化转换模块,用于根据码元检测模块获得的点阵码元的直径大小而动态的改变平均模板的大小,进而对灰度转换模块获得的灰度图进行动态均值滤波处理,对动态均值滤波后的灰度图再进行kittler算法与Bernsen算法相结合的改进的二值化处理:
运算操作模块,用于将动态均值滤波及二值化转换模块获得的二值化图像进行形态学的开运算和闭运算操作,得到处理后的点阵图像,其中,
开运算用下式表示:
闭运算用下式表示:
其中A为输入的二值图像;B为正方形结构元素;
标准化模块,用于将运算操作模块获得的点阵图像通过中值滤波去噪处理,转变为可识别的块状结构的标准DM二维码图像。
当然,上述功能模块架构的产品也能通过真实的硬件电路实现。
本发明中所提到的点阵斑点也被称为点阵码元,斑点和码元属于同一概念。
基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

Claims (2)

1.一种点阵式DM二维码图像处理方法,包括:
步骤一:读取点阵式DM二维码图像,在不改变原点阵式DM二维码图像宽高比例的基础上,利用最近邻插值算法或双线性插值算法进行宽度统一化处理;
步骤二:将统一尺寸后的图像转换为灰度图;
步骤三:对灰度化后的图像进行高斯平滑滤波处理,去除图像背景的细小纹理,使点阵码元的实心点更加平滑;
步骤四:将高斯平滑滤波后的灰度级图像转化为黑白二值化图像,具体包括如下步骤:
(1)用Kittler算法得到全局阈值T,计算该全局阈值T的方法如下:
T = Σ x Σ y e ( x , y ) f ( x , y ) Σ x Σ y e ( x , y )
其中,f(x,y)是步骤二获得的原始的灰度图,e(x,y)=max{|ex|,|ey|}即梯度最大值,ex=f(x-1,y)-f(x+1,y)是水平方向上的梯度,ey=f(x,y-1)-f(x,y+1)是垂直方向上的梯度;
(2)扫描整个f(x,y)灰度图像,则二值化结果为:
b ( x , y ) = 255 f ( x , y ) > T 0 f ( x , y ) < T
其中b(x,y)为二值化结果;
步骤五:对步骤四中二值化后的图像进行码元检测,得到点阵式码元的直径,码元检测具体流程如下:
利用高斯拉普拉斯算子检测图像码元,对于二维高斯函数:
g ( x , y , &sigma; ) = 1 2 &pi; &sigma; e - ( x 2 + y 2 ) 2 &sigma; - - - ( 1 )
其中,σ为函数的宽度参数即特征尺度,用于控制函数的径向作用范围,σ越大表示函数的径向越宽,其相似的码元越大,σ越小表示函数的径向越窄,其相似的码元越小,x,y表示二维空间位置,g(x,y,σ)表示二维高斯函数;
式(1)的拉普拉斯变换为:
&Delta; 2 g = &part; 2 g &part; x 2 + &part; 2 g &part; y 2 - - - ( 2 )
其中,Δ2g表示二维高斯函数的拉普拉斯函数,Δ2表示二阶微分算子,g表示二维高斯函数;
规范化的高斯拉普拉斯变换为:
&Delta; n o r m 2 g = &sigma; 2 ( &part; 2 g &part; x 2 + &part; 2 g &part; y 2 ) = &sigma; 2 &Delta; 2 g = - 1 &pi;&sigma; 2 &lsqb; 1 - x 2 + y 2 2 &sigma; 2 &rsqb; &CenterDot; e - ( x 2 + y 2 ) 2 &sigma; - - - ( 3 )
式(3)中表示规范化的高斯拉普拉斯函数,其方差为0;
式(3)所示的规范化的二维高斯拉普拉斯函数是圆对称函数,通过改变σ的值,检测不同尺寸的二维码码元,而求取得极点值等价于求取下式:
&part; ( &Delta; n o r m 2 g ) &part; &sigma; = 0
其中,表示对规范化的高斯拉普拉斯函数求σ的偏导,表示求规范化的高斯拉普拉斯函数的极点值;
亦即:
( x 2 + y 2 - 2 &sigma; 2 ) &CenterDot; e - ( x 2 + y 2 ) 2 &sigma; = 0
r2-2σ2=0
其中r表示二维码图像二值化后的圆形码元的半径,在尺度时,高斯拉普拉斯响应值达到最大,同理,如果图像中的圆形码元黑白反相,那么,该码元的高斯拉普拉斯响应值在尺度为时达到最小,高斯拉普拉斯响应达到峰值时的尺度σ值是码元检测的特征尺度,计算二值化后的图像在不同尺度下的离散拉普拉斯响应值,然后检查位置空间中的每个点,若该点的拉普拉斯响应值都大于或小于其它立方空间邻域的值,那么,该点就是被检测到的二维码数据元素点,上述寻找位置空间和尺度空间的峰值可通过如下函数表示:
( x ^ , y ^ , t ^ ) = arg max min local ( x , y ; t ) ( &Delta; n o r m 2 L ( x , y , t ) )
该函数表示同时在空间位置和尺度上拉普拉斯响应达到最大值或最小值的点的取值,该点就是所要检测的码元;其中,t表示尺度值,(x,y)表示空间位置,max min local(x,y,t)(·)表示响应函数在空间和尺度位置上的最大值或最小值,arg(·)表示对应函数值的变量的取值,表示在尺度空间下标准二维拉普拉斯函数;
步骤六:根据步骤五获得的点阵码元的直径大小而动态的改变平均模板的大小,进而对步骤二中的灰度图进行动态均值滤波处理,对动态均值滤波后的灰度图再进行kittler算法与改进的Bernsen算法相结合的二值化处理;
所述动态均值滤波包括如下步骤:
(1)模板大小通过下式获得:
其中round表示取整操作;
(2)计算平均滤波模板:
其中,k为平均模板的大小,D为点阵码元的直径,ε是平均模板;
(3)按照下式进行平均滤波:
I1(x,y)=ε*I(x,y)
其中I(x,y)表示灰度图矩阵,I1(x,y)表示滤波后图像灰度矩阵;
所述kittler算法与改进的Bernsen算法相结合的二值化处理包括如下具体步骤:
(1)用Kittler算法得到全局阈值T,计算该全局阈值T的方法如下:
T = &Sigma; x &Sigma; y e ( x , y ) f ( x , y ) &Sigma; x &Sigma; y e ( x , y )
其中,f(x,y)是步骤二获得的原始的灰度图,e(x,y)=max{|ex|,|ey|}即梯度最大值,ex=f(x-1,y)-f(x+1,y)是水平方向上的梯度,ey=f(x,y-1)-f(x,y+1)是垂直方向上的梯度;
(2)采用Bernsen算法对图像直方图中光照不均的区间进行处理,该区间的灰度值集中在步骤(1)得到的全局阈值T附近,
如果T3>D,D是Bernsen算法处理的区间宽度即点阵码元的直径
则二值化结果
如果T3<D,D是Bernsen算法处理的区间宽度即点阵码元的直径
则二值化结果
其中,
T3是阈值选择依据且T3(x,y)=maxs-mins
T2(x,y)=0.5(maxd+mind),
T4(x,y)=0.5(T+T2(x,y));
其中,
maxd表示像素点(x,y)在大小为4w*4w的窗口中最大像素值;
表示像素点(x,y)在大小为4w*4w的较大窗口中最小像素值;
表示像素点(x,y)在大小为2w*2w的较小窗口中最大像素值;
表示像素点(x,y)在大小为2w*2w的较小窗口中最小像素值;
上述式中的max表示取窗口内像素的最大值,min表示取窗口内像素的最小值,k和l均为整数,分别表示坐标x、y方向上的增量;w表示局部阈值运算的窗口,w取值范围为5~9,T2表示窗口内像素灰度平均值,T4是T2与全局阈值T的平均值;
步骤七:将步骤六获得的二值化图像进行形态学的开运算和闭运算操作,得到处理后的点阵图像,其中,
开运算用下式表示:
闭运算用下式表示:
A &CenterDot; B = ( A &CirclePlus; B ) &Theta; B
其中A为输入的二值图像,B为正方形结构元素,开运算中的正方形结构元素B的边长为点阵码元直径的1/3,闭运算中正方形结构元素B的边长为小于点阵码元直径1至5个显示像素点;
步骤八:将步骤七获得的点阵图像通过中值滤波去噪处理,转变为可识别的块状结构的标准DM二维码图像,所述中值滤波去噪处理通过以下步骤实现:
把图像中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近真实值,从而消除孤立的噪声点,其中二维中值滤波输出通过下式获得:
g(x,y)=med{f(x-k,y-l),(k,l∈W)}
其中,med{}表示取数组序列的中间值;f(x,y),g(x,y)分别为原始图像和处理后图像;W为3×3大小的二维模板;k,l均为整数,分别表示坐标x、y方向上的增量。
2.一种点阵式DM二维码图像处理装置,包括:
图像读取模块,用于读取点阵式DM二维码图像,在不改变原点阵式DM二维码图像宽高比例的基础上,利用最近邻插值算法或双线性插值算法进行宽度统一化处理;
灰度转换模块,用于将统一尺寸后的图像转换为灰度图;
高斯平滑滤波模块,用于对灰度化后的图像进行高斯平滑滤波处理,去除图像背景的细小纹理,使点阵码元的实心点更加平滑;
二值化转换模块,用于将高斯平滑滤波后的灰度级图像转化为黑白二值化图像,具体通过如下步骤:
(1)用Kittler算法得到全局阈值T,计算该全局阈值T的方法如下:
T = &Sigma; x &Sigma; y e ( x , y ) f ( x , y ) &Sigma; x &Sigma; y e ( x , y )
其中,f(x,y)是步骤二获得的原始的灰度图,e(x,y)=max{|ex|,|ey|}即梯度最大值,ex=f(x-1,y)-f(x+1,y)是水平方向上的梯度,ey=f(x,y-1)-f(x,y+1)是垂直方向上的梯度;
(2)扫描整个f(x,y)灰度图像,则二值化结果为:
b ( x , y ) = 255 f ( x , y ) > T 0 f ( x , y ) < T
其中b(x,y)为二值化结果;
码元检测模块,用于对二值化转换模块中二值化后的图像进行码元检测,得到点阵式码元的直径,码元检测具体流程如下:
利用高斯拉普拉斯算子检测图像码元,对于二维高斯函数:
g ( x , y , &sigma; ) = 1 2 &pi; &sigma; e - ( x 2 + y 2 ) 2 &sigma; - - - ( 1 )
其中,σ为函数的宽度参数即特征尺度,用于控制函数的径向作用范围,σ越大表示函数的径向越宽,其相似的码元越大,σ越小表示函数的径向越窄,其相似的码元越小,x,y表示二维空间位置,g(x,y,σ)表示二维高斯函数;
式(1)的拉普拉斯变换为:
&Delta; 2 g = &part; 2 g &part; x 2 + &part; 2 g &part; y 2 - - - ( 2 )
其中,Δ2g表示二维高斯函数的拉普拉斯函数,Δ2表示二阶微分算子,g表示二维高斯函数;
规范化的高斯拉普拉斯变换为:
&Delta; n o r m 2 g = &sigma; 2 ( &part; 2 g &part; x 2 + &part; 2 g &part; y 2 ) = &sigma; 2 &Delta; 2 g = - 1 &pi;&sigma; 2 &lsqb; 1 - x 2 + y 2 2 &sigma; 2 &rsqb; &CenterDot; e - ( x 2 + y 2 ) 2 &sigma; - - - ( 3 )
式(3)中表示规范化的高斯拉普拉斯函数,其方差为0;
式(3)所示的规范化的二维高斯拉普拉斯函数是圆对称函数,通过改变σ的值,检测不同尺寸的二维码码元,而求取得极点值等价于求取下式:
&part; ( &Delta; n o r m 2 g ) &part; &sigma; = 0
其中,表示对规范化的高斯拉普拉斯函数求σ的偏导,表示求规范化的高斯拉普拉斯函数的极点值;
亦即:
( x 2 + y 2 - 2 &sigma; 2 ) &CenterDot; e - ( x 2 + y 2 ) 2 &sigma; = 0
r2-2σ2=0
其中r表示二维码图像二值化后的圆形码元的半径,在尺度时,高斯拉普拉斯响应值达到最大,同理,如果图像中的圆形码元黑白反相,那么,该码元的高斯拉普拉斯响应值在尺度为时达到最小,高斯拉普拉斯响应达到峰值时的尺度σ值是码元检测的特征尺度,计算二值化后的图像在不同尺度下的离散拉普拉斯响应值,然后检查位置空间中的每个点,若该点的拉普拉斯响应值都大于或小于其它立方空间邻域的值,那么,该点就是被检测到的二维码数据元素点,上述寻找位置空间和尺度空间的峰值可通过如下函数表示:
( x ^ , y ^ , t ^ ) = arg max min local ( x , y ; t ) ( &Delta; n o r m 2 L ( x , y , t ) )
该函数表示同时在空间位置和尺度上拉普拉斯响应达到最大值或最小值的点的取值,该点就是所要检测的码元;其中,t表示尺度值,(x,y)表示空间位置,max min local(x,y,t)(·)表示响应函数在空间和尺度位置上的最大值或最小值,arg(·)表示对应函数值的变量的取值,表示在尺度空间下标准二维拉普拉斯函数;
动态均值滤波及二值化转换模块,用于根据码元检测模块获得的点阵码元的直径大小而动态的改变平均模板的大小,进而对灰度转换模块获得的灰度图进行动态均值滤波处理,对动态均值滤波后的灰度图再进行kittler算法与改进的Bernsen算法相结合的二值化处理;所述动态均值滤波包括如下步骤:
(1)模板大小通过下式获得:
其中round表示取整操作;
(2)计算平均滤波模板:
其中,k为平均模板的大小,D为点阵码元的直径,ε是平均模板;
(3)按照下式进行平均滤波:
I1(x,y)=ε*I(x,y)
其中I(x,y)表示灰度图矩阵,I1(x,y)表示滤波后图像灰度矩阵;
所述kittler算法与改进的Bernsen算法相结合的二值化处理包括如下具体步骤:
(1)用Kittler算法得到全局阈值T,计算该全局阈值T的方法如下:
T = &Sigma; x &Sigma; y e ( x , y ) f ( x , y ) &Sigma; x &Sigma; y e ( x , y )
其中,f(x,y)是步骤二获得的原始的灰度图,e(x,y)=max{|ex|,|ey|}即梯度最大值,ex=f(x-1,y)-f(x+1,y)是水平方向上的梯度,ey=f(x,y-1)-f(x,y+1)是垂直方向上的梯度;
(2)采用Bernsen算法对图像直方图中光照不均的区间进行处理,该区间的灰度值集中在步骤(1)得到的全局阈值T附近,
如果T3>D,D是Bernsen算法处理的区间宽度即点阵码元的直径
则二值化结果
如果T3<D,D是Bernsen算法处理的区间宽度即点阵码元的直径
则二值化结果
其中,
T3是阈值选择依据且T3(x,y)=maxs-mins
T2(x,y)=0.5(maxd+mind),
T4(x,y)=0.5(T+T2(x,y));
其中,
maxd表示像素点(x,y)在大小为4w*4w的窗口中最大像素值;
表示像素点(x,y)在大小为4w*4w的较大窗口中最小像素值;
表示像素点(x,y)在大小为2w*2w的较小窗口中最大像素值;
表示像素点(x,y)在大小为2w*2w的较小窗口中最小像素值;
上述式中的max表示取窗口内像素的最大值,min表示取窗口内像素的最小值,k和l均为整数,分别表示坐标x、y方向上的增量;w表示局部阈值运算的窗口,w取值范围为5~9,T2表示窗口内像素灰度平均值,T4是T2与全局阈值T的平均值;
运算操作模块,用于将动态均值滤波及二值化转换模块获得的二值化图像进行形态学的开运算和闭运算操作,得到处理后的点阵图像,其中,
开运算用下式表示:
闭运算用下式表示:
A &CenterDot; B = ( A &CirclePlus; B ) &Theta; B
其中A为输入的二值图像;B为正方形结构元素,开运算中的正方形结构元素B的边长为点阵码元直径的1/3,闭运算中正方形结构元素B的边长为小于点阵码元直径1至5个显示像素点;
标准化模块,用于将运算操作模块获得的点阵图像通过中值滤波去噪处理,转变为可识别的块状结构的标准DM二维码图像,所述中值滤波去噪处理通过以下步骤实现:
把图像中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近真实值,从而消除孤立的噪声点,其中二维中值滤波输出通过下式获得:
g(x,y)=med{f(x-k,y-l),(k,l∈W)}
其中,med{}表示取数组序列的中间值;f(x,y),g(x,y)分别为原始图像和处理后图像;W为3×3大小的二维模板;k,l均为整数,分别表示坐标x、y方向上的增量。
CN201410674241.4A 2014-11-21 2014-11-21 一种点阵式dm二维码图像处理方法及装置 Active CN104463795B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410674241.4A CN104463795B (zh) 2014-11-21 2014-11-21 一种点阵式dm二维码图像处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410674241.4A CN104463795B (zh) 2014-11-21 2014-11-21 一种点阵式dm二维码图像处理方法及装置

Publications (2)

Publication Number Publication Date
CN104463795A CN104463795A (zh) 2015-03-25
CN104463795B true CN104463795B (zh) 2017-03-01

Family

ID=52909783

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410674241.4A Active CN104463795B (zh) 2014-11-21 2014-11-21 一种点阵式dm二维码图像处理方法及装置

Country Status (1)

Country Link
CN (1) CN104463795B (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017113290A1 (zh) * 2015-12-31 2017-07-06 深圳配天智能技术研究院有限公司 一种一维码定位的方法及装置
CN106960427A (zh) * 2016-01-11 2017-07-18 中兴通讯股份有限公司 二维码图像处理的方法和装置
CN105609008A (zh) * 2016-02-05 2016-05-25 中国科学院理化技术研究所 一种基于二维码图像的控制***及控制方法
CN105938556B (zh) * 2016-04-22 2020-07-28 复旦大学 基于水流法的宽线检测方法
CN106875357A (zh) * 2017-01-26 2017-06-20 上海正雅齿科科技有限公司 二维码图像处理方法
CN107169977B (zh) * 2017-04-24 2020-08-18 华南理工大学 基于FPGA和Kirsch的自适应阈值彩色图像边缘检测方法
CN108109120B (zh) * 2017-12-18 2020-09-08 凌云光技术集团有限责任公司 一种点阵二维码的光照补偿方法及装置
CN108491796B (zh) * 2018-03-22 2021-10-22 电子科技大学 一种时域周期点目标检测方法
CN108647550B (zh) * 2018-04-11 2021-07-16 中山大学 一种基于机器学习的二维码模糊聚类识别方法及***
CN110046528B (zh) * 2018-11-20 2022-10-28 维库(厦门)信息技术有限公司 一种点状DataMatrix二维码识别方法
CN109766656B (zh) * 2019-01-25 2021-03-09 北京航空航天大学 一种基于拓扑优化的梯度点阵结构设计方法
CN110009615B (zh) * 2019-03-31 2020-06-19 深圳大学 图像角点的检测方法及检测装置
CN110349189A (zh) * 2019-05-31 2019-10-18 广州铁路职业技术学院(广州铁路机械学校) 一种基于连续帧间差分的背景图像更新方法
CN110287752B (zh) * 2019-06-25 2023-04-14 北京慧眼智行科技有限公司 一种点阵码检测方法及装置
CN110276226A (zh) * 2019-06-26 2019-09-24 北京慧眼智行科技有限公司 一种点阵码检测方法及***
CN110348267A (zh) * 2019-07-19 2019-10-18 北京慧眼智行科技有限公司 一种点阵码检测定位方法及装置
CN111553317B (zh) * 2020-05-14 2023-08-08 北京惠朗时代科技有限公司 一种防伪码的获取方法、装置、计算机设备和存储介质
CN112562021B (zh) * 2020-12-26 2023-05-23 苏州斯普锐智能***股份有限公司 一种条码的图像滤镜处理方法
CN113034481A (zh) * 2021-04-02 2021-06-25 广州绿怡信息科技有限公司 设备图像模糊检测方法及装置
CN115829848A (zh) * 2022-07-22 2023-03-21 宁德时代新能源科技股份有限公司 处理图形符号的方法、装置和计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6606421B1 (en) * 2000-05-25 2003-08-12 Hewlett-Packard Development Company, L.P. Geometric deformation correction method and system for dot pattern images
CN1472704A (zh) * 2003-06-27 2004-02-04 上海龙贝信息科技有限公司 二维条形码数字图像信息的增强方法
CN103383738A (zh) * 2012-05-03 2013-11-06 香港科技大学 嵌入视觉信息的二维条形码
CN103824257A (zh) * 2012-11-16 2014-05-28 无锡汉兴电子有限公司 一种二维码图像预处理方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10141876A1 (de) * 2001-08-28 2003-03-20 Sick Ag Verfahren zur Erkennung eines Codes
JP2013055472A (ja) * 2011-09-02 2013-03-21 Sony Corp 画像処理装置および方法、並びにプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6606421B1 (en) * 2000-05-25 2003-08-12 Hewlett-Packard Development Company, L.P. Geometric deformation correction method and system for dot pattern images
CN1472704A (zh) * 2003-06-27 2004-02-04 上海龙贝信息科技有限公司 二维条形码数字图像信息的增强方法
CN103383738A (zh) * 2012-05-03 2013-11-06 香港科技大学 嵌入视觉信息的二维条形码
CN103824257A (zh) * 2012-11-16 2014-05-28 无锡汉兴电子有限公司 一种二维码图像预处理方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《Data Matrix二维条码图像识别的算法研究与实现》;李雅静;《万方学位论文》;20100319;第三章和第四章 *
《一种新的二维条码图像二值化算法》;杨硕等;《昆明理工大学学报(自然科学版)》;20080520;第33卷(第1期);摘要和第1节 *

Also Published As

Publication number Publication date
CN104463795A (zh) 2015-03-25

Similar Documents

Publication Publication Date Title
CN104463795B (zh) 一种点阵式dm二维码图像处理方法及装置
CN105069394B (zh) 二维码加权平均灰度法解码方法及***
CN107292310B (zh) 一种圆形指针式表盘视觉定位及自动读数方法
US8509536B2 (en) Character recognition device and method and computer-readable medium controlling the same
CN107577979B (zh) DataMatrix型二维码快速识别方法、装置及电子设备
CN105354866A (zh) 一种多边形轮廓相似度检测方法
CN104036284A (zh) 基于Adaboost算法的多尺度行人检测方法
US6507675B1 (en) Structure-guided automatic learning for image feature enhancement
CN109961416B (zh) 一种基于形态学梯度多尺度融合的营业执照信息提取方法
CN104899589B (zh) 一种采用阈值二值化算法实现二维条码预处理的方法
CN115272306B (zh) 利用梯度运算的太阳能电池板栅线增强方法
CN111899270A (zh) 卡片边框检测方法、装置、设备及可读存储介质
CN112085721A (zh) 基于人工智能的水淹车定损方法、装置、设备及存储介质
Bodnár et al. A novel method for barcode localization in image domain
CN104268550A (zh) 特征提取方法及装置
JP5201184B2 (ja) 画像処理装置及びプログラム
CN112926695A (zh) 基于模板匹配的图像识别方法和***
US10115195B2 (en) Method and apparatus for processing block to be processed of urine sediment image
CN114529715B (zh) 一种基于边缘提取的图像识别方法及***
CN112101058A (zh) 一种试卷条码自动识别方法及装置
CN111178111A (zh) 二维码检测方法、电子设备、存储介质及***
CN113159027B (zh) 基于最小外接矩形变体的七段式数显仪表识别方法
CN109815791B (zh) 基于血管的身份识别方法和装置
CN113705660A (zh) 目标识别方法及相关设备
Lakshmi et al. Plant leaf image detection method using a midpoint circle algorithm for shape-based feature extraction

Legal Events

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

Effective date of registration: 20170228

Address after: 050031 Hebei Province, Yuhua District, prosperous street, No. 131, North University of science and Technology Park, layer 1204, 12,

Patentee after: Hebei nine degrees Software Technology Co., Ltd.

Address before: 050071 Shijiazhuang Province, Xinhua District, Heping West Road, press and Publication Bureau dormitory News Building, unit 15, unit 202, 1

Patentee before: Gao Tao

TR01 Transfer of patent right

Effective date of registration: 20210521

Address after: 050000 Room 302, unit 4, building 6, 108 Huaizhong Road, Qiaoxi District, Shijiazhuang City, Hebei Province

Patentee after: Yuan Chong

Address before: 050031 1204, 12th floor, Beida Science Park, 131 Fuqiang street, Yuhua District, Shijiazhuang City, Hebei Province

Patentee before: Hebei nine degrees Software Technology Co.,Ltd.

TR01 Transfer of patent right