欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2012101637060
申请人: 江南大学
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2023-10-11
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种复杂工况背景下的Data Matrix二维条码快速识别方法,其特征是,所述Data Matrix二维条码快速识别方法包括如下步骤:(a)、读取包含有Data Matrix二维条码的灰度图像,对上述灰度图像进行中值滤波,并利用Sobel边缘检测算子提取灰度图像每个像素点的方向向量及梯度值,且对灰度图像的梯度值进行非极大值抑制及阈值二值化梯度图像,以获得灰度图像的边缘;

(b)、对上述图像,根据边缘点的八方向上边缘点数目进行分类,并对每类边缘点分别进行链码跟踪,且记录每条链码的起点坐标、方向码及链码长度;

(c)、提取上述每条链码的直线段,记录每条直线段的起点坐标、终点坐标、角度以及直线段的长度;

(d)、根据上述直线段角度,查找相邻相差90度的两条直线段,以获得“L”型的两条直线段,在“L”型两条直线段的对角分别作两条平行的线段,以记录条码区域两条虚线边的边界线,并根据“L”型的两条直线段与两条虚线边的边界线,判断条码区域;

(e)、根据上述判断的条码区域,在原始灰度图像上截取条码区域;拟合具有“L”型形状的两条直线段,并根据拟合“L”型两条直线段的角度得到条码区域的旋转角度,根据旋转角度将条码区域旋转到水平正方位置,并对旋转后的条码区域进行双线性插值;

(f)、高斯平滑上述二维条码区域。

2.根据权利要求1所述的复杂工况背景下的Data Matrix二维条码快速识别方法,其特征是:采用最大类间方差法对高斯平滑后的二维条码区域进行二值化,并对二值化后的条码区域进行采样,且根据Data Matrix条码类型对采样后的条码区域进行译码。

3.根据权利要求1所述的复杂工况背景下的Data Matrix二维条码快速识别方法,其特征是,所述步骤(a)包括如下步骤:(a1)、采用中值滤波对灰度图像进行滤波时,设定滤波窗口内输入序列为{x(i,j),i,j∈I},I为自然数集合或子集,窗口大小为m×n,则y为滤波输出;

(a2)、利用Sobel边缘检测算子提取灰度图像内每个像素点X方向、Y方向的方向向量及梯度值时,X方向、Y方向的检测算子为:其中,g1为X方向的检测算子,g2为Y方向的检测算子;采用 计算灰度图像内像素点的梯度值,其中,G为梯度模,dx,dy分别表示X方向,Y方向上的梯度值;

(a3)、对梯度图像的每个像素点作非极大值抑制;

(a4)、计算梯度图像的梯度平均值,设定两倍的梯度平均值为阈值,并根据阈值将梯度图像二值化,以获得灰度图像的边缘。

4.根据权利要求1所述的复杂工况背景下的Data Matrix二维条码快速识别方法,其特征是,所述步骤(b)包括如下步骤:(b1)、提取梯度图像中的“L”型区域,当“L”型区域对应角点的左边点、右点边、上边点或下边点的八方向上只有两个边缘点时,将相应的左边点、右边点、上边点或下边点删除;

当“L”型区域对应角点的上边点、下边点、左边点、右边点的八方向上大于两个边缘点时,将所述角点删除;

(b2)、在上述梯度图像上,将边缘点八方向上边缘点数为0的边缘点删除,根据边缘点的八方向上边缘点数目进行分类,将边缘点八方向上边缘点数目为1的边缘点作为端点,将边缘点八方向上边缘点数为2的边缘点作为链码中间点,将边缘点八方向上边缘点数大于2的边缘点作为链码交叉点;

(b3)、以八方向上边缘点数为1的边缘点作为起点,记录作为起点的边缘点与前一个边缘点、下一个边缘点的方向码,并将前一个边缘点置0,且记录链码的长度,直到遇到八方向上边缘点数为1或大于2的边缘点,此条链码跟踪结束;

(b4)、以八方向上边缘点数大于2的边缘点作为起点,记录作为起点的边缘点与前一个边缘点、下一个边缘点的方向码,并将前一个边缘点置0,且记录链码的长度,直到遇到八方向上边缘点数为1或2的边缘点,此条链码跟踪结束;

(b5)、剩余的边缘点为八方向上边缘点数为2的边缘点,剩余的边缘点构成闭合线圈,以任意一个八方向上边缘点数为2的边缘点作为起点,记录作为起点的边缘点与前一个边缘点、下一个边缘点的方向码,并将前一个边缘点置0、且记录链码的长度,直到不再遇到边缘点,此条链码跟踪结束。

5.根据权利要求1所述的复杂工况背景下的Data Matrix二维条码快速识别方法,其特征是,所述步骤(c)包括如下步骤:(c1)、对每条链码进行分割,以6个像素为一条子链码,记录子链码的长度及角度;

(c2)、当前子链码与上一条相邻的子链码与合并条件匹配时,将当前子链码与上一条相邻的子链码合并;否则,将上一条子链码作为单独的直线段;记录每条直线段的起点坐标、终点坐标、角度以及直线段长度;

(c3)、扫描每条直线段,查找存在能合并的直线段,并将相应的直线段合并;

(c4)、将长度小于25个像素的直线段删除。

6.根据权利要求1所述的复杂工况背景下的Data Matrix二维条码快速识别方法,其特征是,所述步骤(d)包括如下步骤:(d1)、根据上述直线段角度,查找相邻相差90度的两条直线段,以获得“L”型的两条直线段;

(d2)、在在“L”型两条直线段的对角分别作两条平行的线段,并将两条所作的线段向外平移直至线段上无边界点,以记录条码区域两条虚线边的边界线;

(d3)、以两条虚边的边界线向里延伸两个像素分别做两条平行线段,判断所作线段与“L”型的两条直线段间的区域是否为条码区域,获得条码区域。

7.根据权利要求1所述的复杂工况背景下的Data Matrix二维条码快速识别方法,其特征是,所述步骤(e)包括如下步骤:(e1)、根据上述获得条码区域及条码区域对应的边界,计算条码区域的顶点,以在原始灰度图像上截取条码区域;

(e2)、采用最小二乘法拟合截取条码区域内“L”型的两条直线段,精确Data Matrix二维条码的旋转角度,得到其中,a为需要拟合的直线段的斜率,b为对应的截距,y、x分别为拟合点的纵坐标、横坐标,D为拟合差值,n为坐标点个数;

D对a和b分别求一阶偏导数为:

令一阶偏导数为零,得到

引入平均值: 则得到:

(e3)、根据上述拟合“L”型的两条直线段,计算Data Matrix二维条码的旋转角度,令μ=[x1-x3,y1-y3,0],φ=[x2-x3,y2-y3,0],则叉积为w=μ×φ=[0,0,(x1-x3)(y2-y3)-(x2-x3)(y1-y3)];其中,x3,y3分别表示拟合后“L”型的两条直线段交点的横坐标、纵坐标;x1,y1分别表示拟合后“L”型的两条直线段中一条直线段的端点,x2,y2分别表示拟合后“L”型的两条直线段中另一条直线段的端点;

当(x1-x3)(y2-y3)-(x2-x3)(y1-y3)<0时,根据拟合后“L”型的两直线段的角度得到旋转角度θ2;

当(x1-x3)(y2-y3)-(x2-x3)(y1-y3)>0,根据拟合后“L”型的两直线段的角度得到旋转角度θ1;

(e4)、将上述计算得到的旋转角度代入图像旋转公式,得到

以将条码旋转正方便对条码进行采样,其中,x′,y′分别表示旋转后的纵横坐标;

(e5)、采用双线性插值算法对旋转后的二维条码插值,得到

' '

f(x 0,y 0)=(1-η)(1-λ)f(x0,y0)+(1-η)λf(x0,y0+1)+η(1-λ)f(x0+1,y0)+ηλf(x0+1,y0+1)

' ' ′ ′

其中,η=x0-x0,λ=y0-y0;x 0为介于x0与x0+1之间的整数,y 0为介于y0与y0+1之间的整数。

8.根据权利要求1所述的复杂工况背景下的Data Matrix二维条码快速识别方法,其特征是,所述步骤(f)中,高斯卷积模版为:

9.根据权利要求2所述的复杂工况背景下的Data Matrix二维条码快速识别方法,其特征是,对二值化后的条码区域进行采样时,对条码区域进行水平投影与垂直投影,以得到条码的上边界、下边界、左边界、右边界;以上边界向下每落两个像素做一条直线,直至下边界;记录边界点的横坐标,以两点之间的中心点坐标做竖直直线,并以两点之间的中心点坐标做水平直线;以水平直线与竖直直线的交点作为此采样模块的值。

10.根据权利要求5所述的复杂工况背景下的Data Matrix二维条码快速识别方法,其特征是:所述当前子链码与上一条相邻的子链码间的合并条件是两条子链码间角度大于

165度且两条子链码的直线相似度大于0.9,直线相似度的为上一条相邻的子链码起点与当前子链码的终点之间的距离与两条子链码对应长度之和的比值。