CN102346850B - 复杂金属背景下DataMatrix条码区域定位方法 - Google Patents
复杂金属背景下DataMatrix条码区域定位方法 Download PDFInfo
- Publication number
- CN102346850B CN102346850B CN 201110310325 CN201110310325A CN102346850B CN 102346850 B CN102346850 B CN 102346850B CN 201110310325 CN201110310325 CN 201110310325 CN 201110310325 A CN201110310325 A CN 201110310325A CN 102346850 B CN102346850 B CN 102346850B
- Authority
- CN
- China
- Prior art keywords
- grid
- judgement
- candidate target
- edge
- matrix
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Image Analysis (AREA)
Abstract
本发明公开了一种复杂金属背景下DataMatrix条码区域定位方法,利用机器学习与级联检测联合的方法快速并抗干扰的识别定位DataMatrix条码区域,依次进行图像预处理、灰度直方图判决、连通域判决、局部二值模式特征判决、连通域判决、边缘直方图特征判决、连通域判决和聚类生长,能够解决生锈腐蚀、高反光、磨损污染和纹理干扰等各种复杂金属上的DataMatrix二维条码区域定位的问题。
Description
技术领域
本发明涉及对各种复杂金属背景上的DataMatrix二维条码进行识别并定位的方法,属于模式识别技术领域。
背景技术
直接零件标识DPM(Direct Part Marking)技术是一种可直接在产品的表面形成包括文字、符号或图案等形式的永久标识技术,利用DPM技术在产品表面形成的一维条码或二维条码符号,是实现产品可追溯性标识的重要技术手段,在条码符号的选择上,考虑到产品表面面积有限、提高符号识读率等因素,目前多选用DataMatrix条码作为产品的二维条码永久标识,这是因为DataMatrix条码编码容量大、密度高、纠错能力强。
二维条码区域定位是指检查图像中是否存在二维条形码,并将位置定位出来,此过程也可称为二维条形码的检测。若二维条码背景为金属零件或金属刀具,在车间流通环境下,二维条码定位会有下列问题:1、长期恶劣环境使用下金属会有腐蚀生锈,磨损划痕污染等问题;2、由于金属本身的形状材质各异,二维条码可能会有柱面变形,对比度有高有低,背景粗糙,噪声污染大等问题。3、如果光照不理想的话,可能会有高光反光,光照不均等光照问题影响识别。4、二维条码在图像中的位置任意,并且角度任意旋转,大小不定。
目前所存在的二维条形码检测方法分为两大类:硬件检测方法和软件检测方法。硬件检测方法基于特定的硬件平台,用半自动化的方法来定位二维条码,譬如申请号为“200410076815”,名称为“用于定位二维条形码的方法和设备”与申请号为“200610060244”,名称为“一种二维条码移动终端辅助定位方法”的发明专利。硬件检测方法的优点在于输入数据精确,保证了后续解码模块的准确性。但这种检测方法也存在着明显的缺点,设备昂贵、便携性低、适用范围窄。软件检测方法以数字图像作为输入,使用数字图像处理的方法对图像中的二维条形码进行检测定位,譬如申请号为“200710050434”,名称为“一种二维条码系统及其定位方法”与申请号为“200610086966”,名称为“一种基于定为圆形的可快速定位的二维条码系统”的发明专利。目前二维条形码的检测软件方法使用的都是非机器学习的方法,只是利用二维码特有的格式几何形态检测数字图像中的二维条码。这些方法都只是初等方法,只适用于印刷在纸张上的背景环境好的二维条码,难以推广到刻印在各种材料,尤其是复杂的金属背景上的二维条码检测。
发明内容
为了克服现有技术无法应用于复杂金属背景上的二维条码检测的不足,本发明提供一种利用机器学习与级联检测联合的方法快速并抗干扰的识别定位DataMatrix条码区域,能够解决生锈腐蚀、高反光、磨损污染和纹理干扰等各种复杂金属上的DataMatrix二维条码区域定位的问题。
本发明解决其技术问题所采用的技术方案包括以下步骤:
第一步,预处理图像
1.划分网格
设输入图像A的网格划分方式为p×q,宽度为w像素,高度为h像素,pixi,j代表现图像中i列j行像素点的像素值,则定义整体网格坐标矩阵G为:
其中,gm,n(0≤m<p,0≤n<q)代表第m行n列网格,并定义gm,n数组为: 其中 和 分别代表网格gm,n的横向最小值、横向最大值、纵向最小值和纵向最大值,并且gm,n为正方形区域。gm,n[4]=attribute代表网格gm,n的属性,attribute∈{1,2,3},其中0代表背景网格,1代表候选目标网格,2代表目标网格。所有网格的属性初始值都赋为1。
2.16灰度级重置各网格
对于网格gm,n,16灰度级重置算法如下:
1)首先遍历gm,n内的所有像素点,寻找最大像素值和最小像素值,分别设为Vmax与Vmin。判断Vmax-Vmin>17,若成立则转向步骤2)继续执行;若不成立则将gm,n属性赋为背景,令gm,n[4]=0,然后本次16灰度级重置网格gm,n结束。
2)建立一个空白的索引区间数组其中iterater[l]代表一个索引,l代表索引区间。
5)再次遍历gm,n模块,对于pixi,j∈gm,n,重新赋像素值:pixi,j=iterater[l](pixi,j=l)。遍历G,利用16灰度级重置算法将其中的每个网格中的所有像素值重新赋值,得到新的重置后的图像A1。
3.边缘特征提取
ex(i,j)=(pixi+1,j+1+2pixi+1,j+pixi+1,j-1)-(pixi-1,j+1+2pixi-1,j+pixi-1,j-1)
ey(i,j)=(pixi+1,j+1+2pixi,j+1+pixi-1,j+1)-(pixi+1,j-1+2pixi,j 1+pixi-1,j-1)
设定一个阈值T: 本发明取T=80。若则认为其对应的像素点为非边缘点。
循环求取A1中所有像素点的边缘强度,将其记录在缓存区E[w×h]中。
4)对于gm,n[4]=1的候选目标网格gm,n,求取其边缘方向累计函数Hm,n:
循环整体网格矩阵G,得到所有候选目标网格的直方图特征集合:
HG={Hm,n|gm,n∈G&&gm,n[4]=1}。
第二步,灰度直方图判决
1.候选目标网格灰度直方图特征提取
设gm,n为图像A1中的一个候选目标网格,则gm,n的灰度直方图特征提取如下:
2)计算直方图平均灰度:
3)计算直方图方差:
4)计算直方图偏度:
循环整体网格矩阵G,得到所有候选目标网格的直方图特征集合:
HS={HISm,n|gm,n∈G&&gm,n[4]=1}。
2.灰度直方图判决器训练
1)采用n(30<n<60)幅生锈腐蚀、高反光、磨损污染和纹理干扰的金属背景二维条码图像作为训练样本图像,并将这n幅训练样本图像进行划分网格和16灰度级重置各网格算法操作,然后从这n幅训练样本图像中选取n1个这些训练样本图像的非条码区域的网格即背景网格作为负训练样本,设为集合从这n幅训练样本图像中选取n1个这些训练样本图像的条码区域网格作为正训练样本,设为集合n1=80。
2)利用上述的灰度直方图特征提取算法,提取所有负训练样本集合网格与正训练样本集合网格的灰度直方图特征,将这2n1组正负训练样本的的每组直方图特征作为行,共2n1组直方图所以有2n1列,所以得到一个4×2n1的矩阵P1。
3)设正样本对应的输出为(1,0),负样本对应的输出为(0,1),则矩阵P1对应的输出为一个2×2n1的矩阵T1。利用matlab2008创建一个BP神经网络newff(),BP神经网络的训练函数为“trainlm”,输入层到隐层节点的传递函数为“tansig”,隐层节点到输出层的传递函数为“logsig”。每组输入元素的最大值和最小值为2n1×2的矩阵min max(P1),并将最大训练次数定为1000,目标误差定为0.001,隐层节点定为7个。
4)将矩阵P1作为原始输入向量,矩阵T1作为输出向量,在matlab2008中利用BP神经网络进行训练,得到输入层到隐层的一个7×4权值矩阵记为netIW11,一个7×1的阈值向量记为netb11;隐层到输出层的一个2×7权值矩阵记为netIW21,一个2×1的阈值向量记为netb21。
3.灰度直方图判决
HISm,n为一个候选目标网格gm,n的灰度直方图特征,将其代入训练结果计算对应的判决输出V-HISm,n:
V-HISm,n=log sig(netIW21×tan sig(netIW11×HISm,n+netb11)+netb21)=(am,n,bm,n)。同理计算gm,n的八邻域内所有候选目标网格的判决输出,将这些判决输出求取平均值得到如果则候选目标网格gm,n属性不变,否则将候选目标网格gm,n设为背景网格:gm,n[4]=0。
第三步,连通域判决
1.连通区域类圆度判决
经过灰度直方图判决后,设图像A1中候选目标网格的连通区域为x1个,连通区域集合记为连通域Rx中的候选目标网格数目为nx(1≤nx≤p×q)个,若nx≤4,Rx为污染连通区域,将Rx从集合中删除,并将Rx中所有候选目标区域的属性赋值为0:{gm,n[4]=0|gm,n∈Rx}。否则进行连通区域类圆度判决,过程如下:
2)设Rx中的候选目标网格gm,n,若gm+1,n、gm-1,n、gm,n+1与gm,n-1中至少有一个为背景区域,则gm,n为非Rx边缘网格,将gm,n从Rx中去除;否则将其保留标记为边缘网格。循环判断Rx中的所有候选目标网格,可得Rx的边缘网格集合,记为
4)重复步骤1)~3)的过程,将中的所有连通域进行类圆度判决,设通过判决的连通域有x2(0≤x2≤x1)个,用集合表示。若x2≥1,转向第三步的步骤2“连通区域边缘直方图双峰度特征判决”,否则转向第四步“局部二值特征判决”。
2.连通区域边缘直方图双峰特征判决
1)对于集合中的一个连通域Rx,计算它的整体边缘直方图:
2)求出Rx整体边缘直方图的相邻3区间加权最大值:
5)与步骤1)~4)过程一样,循环求取中所有连通域的双峰特征值,若标记为通过连通区域边缘直方图双峰特征判决,为候选目标区域,否则为未通过,标记为通过连通区域边缘直方图双峰特征判决。设通过此判决的连通域个数为x3(0≤x3≤x2)个,用集合表示。若x3≥1,转向步骤3“连通域主方向对比判决”,否则转向第四步“局部二值特征判决”。
3.连通区域主方向对比判决
4.整体网格矩阵G属性判断
1)遍历整体网格矩阵G,若存在至少一个gm,n[4]=1(gm,n∈G),则转向第四步“局部二值模式特征判决”,否则转向步骤2)。
2)若存在gm,n[4]=2(gm,n∈G),则转向第八步“聚类生长”,否则转向步骤3)。
3)提示“本图像中没有二维条码!”,并结束算法。
第四步,局部二值模式特征判决
1.候选目标网格局部二值模式特征提取
设整体网格矩阵G中的一个候选目标网格gm,n(gm,n[4]=1),其局部二值模式特征提取过程如下:
若vi,j≤2,则像素pixi,j的局部二值模式特征值为:否则lbpi,j=9。
4)与1)~3)步算法一致,求取gm,n中所有像素点的局部二值模式特征值,并统计叠加,得到网格gm,n的局部二值模式特征LBPm,n,表示如下: 其中LBPm,n[x]为gm,n中所有像素点局部二值模式特征值为x的频率,sizeof(gm,n)代表gm,n中像素点的数量,δ(x)函数表示为:
遍历整体网格矩阵G中的所有候选目标网格,和1)~4)步算法一致,得到所有候选目标网格的局部二值模式特征集合:LBP={LBPm,n|gm,n∈G&&gm,n[4]=1}。
2.局部二值模式特征判决器训练
1)利用第二步步骤2中“灰度直方图判决器训练”所选出的n幅训练样本图像,将这n幅训练样本图像进行上述所有步骤运算,然后选取n2=80个这些训练样本图像的候选目标网格中的背景网格作为负训练样本,设为集合选取n2个这些训练样本图像的条码区域网格作为正训练样本,设为集合
3)设正样本对应的输出为(1,0),负样本对应的输出为(0,1),则矩阵P2对应的输出为一个2×2n2的矩阵T2。利用matlab2008创建一个BP神经网络newff(),BP神经网络的训练函数为“trainlm”,输入层到隐层节点的传递函数为“tansig”,隐层节点到输出层的传递函数为“logsig”。每组输入元素的最大值和最小值为2n2×2的矩阵min max(P2),并将最大训练次数定为1000,目标误差定为0.001,隐层节点定为20个。
4)将矩阵P2作为原始输入向量,矩阵T2作为输出向量,在matlab2008中利用BP神经网络进行训练,得到输入层到隐层的一个20×9权值矩阵记为netIW12,一个20×1的阈值向量记为netb12;隐层到输出层的一个2×20权值矩阵记为netIW22,一个2×1的阈值向量记为netb22。
3.局部二值模式特征判决
LBPm,n为一个候选目标网格gm,n的局部二值模式特征,将其代入训练结果计算对应的判决输出V-LBPm,n:
V-LBPm,n=logsig(netIW22×tan sig(netIW12×LBPm,n+netb12)+netb22)=(cm,n,dm,n)。同理计算gm,n的八邻域内所有候选目标网格的判决输出,将这些判决输出求取平均值得到如果则候选目标网格gm,n属性不变,否则将候选目标网格gm,n设为背景网格:gm,n[4]=0。
第五步,连通域判决
1.连通区域类圆度判决
经过局部二值模式特征判决后,设候选目标网格的连通区域为y1个,连通区域集合记为连通域Ry中的候选目标网格数目为ny(1≤ny≤p×q)个,若ny≤4,Ry为污染连通区域,将Ry从集合中删除,并将Ry中所有候选目标区域的属性赋值为0:{gm,n[4]=0|gm,n∈Ry}。否则进行连通区域类圆度判决,判决算法如第三步1中“连通区域类圆度判决”一致。设通过判决的连通域有y2(0≤y2≤y1)个,用集合表示。若y2≥1,转向第五步步骤2中“连通区域边缘直方图双峰度特征判决”,否则转向第六步“边缘直方图特征判决”。
2.连通区域边缘直方图双峰特征判决
步骤3中“主方向对比判决”,否则转向第六步“边缘直方图判决”。
3.连通区域主方向对比判决
此步与第三步步骤3中“连通区域主方向对比判决算法”一致,将中所有通过此级判决的连通域中所有候选目标网格定义为目标网格;否则不予理睬。设此级判决通过的连通域个数为y4个,用集合表示,其对应的主方向为集合对应的包络圆为集合
4.整体网格矩阵G属性判断
1)遍历整体网格矩阵G,若存在至少一个gm,n[4]=1(gm,n∈G),则转向第六步“边缘直方图特征判决”,否则转向步骤2)。
2)若存在gm,n[4]=2(gm,n∈G),则转向第八步聚类生长,否则转向步骤3)。
3)提示“本图像中没有二维条码!”,并结束算法。
第六步,边缘直方图特征判决
1.候选目标网格边缘直方图特征提取
经过上述所有判决之后,设整体网格矩阵G中的一个候选目标网格gm,n(gm,n[4]=1),其边缘直方图特征提取过程如下:
1)以8邻域区间联合边缘特性代替一个网格的边缘特性:
2)通过相邻3区间加权法求出网格gm,n主方向区间:
设mainDirem,n所对应的区间t设为t2,t2为网格gm,n的主方向。
2边缘直方图特征判决器训练
1)利用第二步灰度直方图判决器训练所选出的选出n幅训练样本图像,并将这n幅训练样本图像进行上述所有判决,然后选取n3个这些训练样本图像的候选目标网格中的背景网格作为负训练样本,设为集合选取n3个这些训练样本图像的条码区域网格作为正训练样本,设为集合
3)设正样本对应的输出为(1,0),负样本对应的输出为(0,1),则矩阵P3对应的输出为一个2×2n3的矩阵T3。利用matlab2008创建一个BP神经网络newff(),BP神经网络的训练函数为“trainlm”,输入层到隐层节点的传递函数为“tansig”,隐层节点到输出层的传递函数为“logsig”。每组输入元素的最大值和最小值为2n3×2的矩阵min max(P3),并将最大训练次数定为1000,目标误差定为0.001,隐层节点定为30个。
4)将矩阵P3作为原始输入向量,矩阵T3作为输出向量,在matlab2008中利用BP神经网络进行训练,得到输入层到隐层的一个30×16权值矩阵记为netIW13,一个30×1的阈值向量记为netb13;隐层到输出层的一个2×30权值矩阵记为netIW23,一个2×1的阈值向量记为netb23。
3.边缘直方图特征判决
第七步,连通域判决
1.连通区域类圆度判决
经过边缘直方图特征判决后,设候选目标网格的连通区域为z1个,连通区域集合记为连通域Rz中的候选目标网格数目为nz(1≤nz≤p×q)个,若nz≤4,Rz为污染连通区域,将Rz从集合中删除,并将Rz中所有候选目标区域的属性赋值为0:{gm,n[4]=0|gm,n∈Rz}。否则进行连通区域类圆度判决,判决算法如第三步步骤1中连通区域类圆度判决一致。设通过判决的连通域有z2(0≤z2≤z1)个,用集合表示。若z2≥1,转向第七步步骤2连通区域边缘直方图双峰度特征判决,否则转向第八步聚类生长。
2.连通区域边缘直方图双峰特征判决
3.连通区域主方向对比判决
此步与第三步步骤3中连通区域主方向对比判决算法一致,将中所有通过此级判决的连通域中所有候选目标网格定义为目标网格;否则不予理睬。设此级判决通过的连通域个数为z4个,用集合表示,其对应的主方向为集合对应的包络圆为集合
4.整体网格矩阵G属性判断
若存在gm,n[4]=2(gm,n∈G),则转向第八步“聚类生长”,否则提示“本图像中没有二维条码!”,并结束算法。
第八步,聚类生长
对于第3步步骤3,第5步步骤3和第7步步骤3中通过连通域判决的 与及其所对应的主方向 与对应的包络圆 与将这几个连通域合并,则有num=x4+y4+z4个连通域,设合并后的连通域为集合其对应的主方向为集合对应的包络圆为集合聚类生长的具体过程如下:
3)DISθ′=min{DISθ}所对应的生长方向θ′设为最佳生长方向,求取区域的主方向,设为求取区域的边缘直方图双峰特征,设为求取算法与第三步步骤2连通域边缘直方图双峰特征判决一致。然后求取区域的主方向对比特征,设为求取算法与第三步步骤3中“连通域主方向对比判决”一致。如果与连通域Rx的主方向差异小于或等于1个区间,并且此区域的双峰平均峰度值主方向对比则此次生长有效,包络圆Cθ′为新的生长基础,转向步骤2)继续执行;否则生长结束,包络圆Cθ′为最终Rx条码区域的包络区间。
4)重复步骤1)~3)的过程,直至集合中的连通区域全部生长完毕,则整个算法结束。
本发明的有益效果是:本发明对于生锈腐蚀、高反光、强金属纹理干扰和磨损划痕干扰等金属上的二维条码都有较高的定位率。码区面积与定位区域面积比在80%以上,误定位率在10%以下。对于640*512pix输入图像,背景相对简单金属上的二维条码图像条码定位时间控制在300毫秒以内,背景复杂的控制在700ms以内。
下面结合附图和实施例对本发明进一步说明。
附图说明
图1是复杂金属背景上Datamatrix条码定位方案总过程;
图2是连通区域判决总过程;
图3是像素的3×3邻域关系;
图4是聚类生长示意图;
图5是生锈腐蚀金属背景上二维条码定位总过程实例;
图6是高光金属背景上二维条码定位总过程实例;
图7是实例3磨损污染金属背景上二维条码定位总过程实例;
图8是纹理干扰金属背景上二维条码定位总过程实例。
图9是本专利训练样本图像。
具体实施方式
本发明处理的思路总过程如图1所示。本专利选取的金属背景上的二维条码图像大小都为640*512pix,并且是8位bmp位图。选取的网格划分方式为25×25。
本发明选取的训练样本图像在图9中,共分为生锈腐蚀图像样本集、磨损污染样本集、高光干扰样本集、纹理干扰样本集与其他金属背景样本集五类共49个样本。利用这些样本进行灰度直方图判决器训练得到神经网络的权值和阈值分别为:
netIW11[7][4]={{-0.3151,-0.4885,0.8862,2.3121},
{0.8582,0.5524,-0.1810,2.6384},
{-0.5972,0.0804,-2.6160,1.3672},
{0.6454,-0.5001,0.6810,1.2940},
{2.0087,-1.2588,1.6365,3.2549},
{-1.9809,0.7957,-1.3830,1.9440},
{-0.5432,-0.1976,0.3482,2.3931}};
netb11[7]={0.6426,-4.8604,1.3401,-0.2909,-4.8625,-2.4628,-7.2560};
netIW21[2][7]={{-2.7783,0.9347,-2.7844,-0.2434,-2.5359,1.7896,1.3230},{2.6645,1.5613,2.6828,0.7603,3.0605,-0.9568,0.0071}};
netb21[2]={1.5182,-2.9834};
利用这些样本进行局部二值模式特征训练得到神经网络的权值和阈值分别为:
netIW12[20][9]{{-0.6170,-0.3467,0.7593,-0.2712,0.8651,0.5034,-0.6561,-0.2894,-0.5931},
{6.2995,2.8314,2.6907,3.0877,2.9534,-3.6891,-6.5901,-6.2816,4.1343},
{-0.0714,-1.9001,-0.4937,6.5905,-6.3193,-0.5119,-5.3241,-2.4313,3.7860},
{0.1928,0.4539,0.5413,0.9546,-1.1948,-0.5535,-0.3812,-0.8110,-0.3168},
{-0.4323,-0.7869,-0.8991,0.9559,-0.6570,-0.0218,-0.5348,0.2561,-0.5919},
{0.2375,1.1744,-0.7722,0.0701,-0.6701,-0.2794,0.4763,0.8016,0.6907},
{0.1015,-1.7651,-1.5890,-5.4756,-1.7811,-0.8864,-0.6750,-0.4881,-0.2721},
{-0.6856,-0.1585,0.3862,-0.2305,-0.0121,0.4997,-0.7410,0.6312,1.0244},
{-0.8497,0.9589,0.3476,0.5914,0.8593,-0.4004,-0.6429,-1.2195,0.5262},
{-0.4205,-0.1730,1.0438,1.7138,0.9458,0.8538,-0.4652,0.4363,1.4716},
{-0.8317,0.5822,0.0797,-0.8096,-0.4793,-1.1663,0.2963,-0.6217,-0.7806},
{0.0803,1.0124,0.5137,0.7087,-1.1883,-0.0448,0.5817,0.8506,0.0647},
{-0.2346,0.4782,-1.0064,-0.4772,0.0050,0.1345,1.9343,1.6257,-0.9444},
{0.6322,0.1322,4.6546,-0.3137,-2.6893,5.3287,-3.0266,-4.9926,-0.3041},
{-0.5941,-0.0632,0.8365,0.5958,1.0047,-0.6804,0.1163,-0.7899,0.3968},
{1.2046,2.6301,-1.3202,-0.0873,2.1035,3.7536,-1.8512,-2.3187,6.1514},
{1.7596,3.5984,0.7113,7.4150,3.5782,3.3232,-0.3202,0.5698,0.9940},
{-0.3461,-1.5541,-0.6275,-3.5615,-2.4417,-2.5626,-0.2599,-0.1485,0.5301},
{0.2707,-0.9905,-0.6711,-0.3330,-0.3692,0.4693,-0.2237,0.6021,1.0115},
{-0.9569,-0.6176,-1.2488,0.3147,1.8768,0.8751,0.5952,0.4645,0.5218}};
netb12[20]={2.2008,1.1453,4.6117,-1.3231,3.3877,-1.2034,2.1627,2.6771,1.4627,0.0312,2.1650,-1.8130,-0.4764,0.3808,-2.3399,-4.0442,-5.5177,1.6658,2.5828,-2.3094};
netIW22[2][20]={{1.2432,9.1134,-5.5047,-0.4272,-0.7021,0.6141,-2.4405,-0.5836,-1.3114,-0.2294,0.8826,0.4035,-0.2855,6.0786,-1.1667,3.8466,6.0273,0.0103,-0.1650,-4.2136},{0.4070,-14.2091,6.5465,-0.4711,1.2606,-0.7239,3.1623,-0.2268,2.5360,-0.8196,0.2022,-0.8497,-3.0918,-10.1844,-1.2599,-5.2114,-6.5001,2.7271,1.6254,3.3732}};
netb22[2]={-2.6472,-2.2976};
利用这些样本进行边缘直方图特征训练得到神经网络的权值和阈值分别为:
netIW13[30][16]={{-0.0736,0.2601,1.2282,0.3609,-0.4553,-1.1975,0.1679,1.5524,0.5378,-0.4162,-1.0983,-0.7512,0.6782,-1.0343,-0.9580,0.5629},
{-1.1438,-2.9848,0.6241,2.1850,0.3782,0.1812,1.7225,4.2748,1.0948,-0.8431,-1.4429,-1.3338,-0.6446,-0.5596,-2.8660,2.0784},
{-0.2931,-2.5315,2.1839,-4.3208,2.9035,-1.9704,-0.1041,-6.1441,-0.7383,-1.1007,1.8682,2.6147,4.2385,0.0316,6.9796,-1.1744},
{1.5130,-0.5243,-0.0408,-1.4524,1.8449,-0.8242,-0.2517,-1.2616,-0.6395,-1.5975,1.1214,-1.0452,-0.5216,0.3862,1.7379,-1.6384},
{-0.8657,1.2463,1.0671,-1.2419,-0.7338,-0.7057,0.1014,1.4739,0.9421,0.6150,0.4097,-0.5079,0.2319,-0.5492,-1.2478,-1.1216},
{-0.4469,-1.3009,1.3526,-3.4262,2.9972,0.0541,-0.3177,-1.5273,-1.3001,-1.5846,1.4133,1.9745,1.9132,-0.9410,2.6586,-0.8855},
{-1.2790,1.3285,0.5732,1.0217,-0.7281,-0.1358,-0.6166,0.8008,1.5387,-0.7235,-0.9457,-0.9864,0.3667,-0.2525,-1.6190,1.0465},
{-0.0014,-0.1741,-0.3366,-1.5988,1.7568,0.1303,0.9374,0.5999,1.0715,0.8630,-0.7938,0.8924,1.5617,0.1506,1.8160,-0.1492},
{-0.4430,-0.7681,1.1152,0.3161,-0.9704,-0.5335,-0.1033,0.5439,0.7663,0.3790,-0.7318,-0.9106,-0.5562,1.0448,1.3113,-1.0085},
{1.4577,-0.7252,-0.9986,0.4397,0.3055,0.9164,0.4249,1.4203,-0.2769,0.9761,0.0943,1.3221,0.6904,0.3394,0.4674,-0.5748},
{-0.5777,-0.8331,-0.9062,-0.6977,-1.1372,-1.0094,0.2471,-0.1827,-1.0608,1.1477,0.9246,0.3736,0.8958,-0.2330,-1.1831,-0.8166},
{-0.9281,0.2497,-0.7140,-0.3034,-0.6601,-0.4896,-1.1498,-0.9500,0.4072,0.4656,0.3013,-1.3487,1.4538,-0.1144,1.4685,-0.3881},
{-1.2092,-0.7912,-0.5670,0.8734,-0.5204,0.1687,-0.8003,1.5790,1.8635,-1.3589,-0.6502,-0.3291,-0.8049,-1.7373,-0.1511,0.4780},
{-1.0266,-1.1446,-1.1589,0.7568,-0.9189,-1.0376,-0.4785,1.3319,-0.1797,-0.0179,0.5318,0.2209,-1.1121,-0.1591,-1.1382,0.6516},
{0.9336,-0.5575,-1.0744,1.1480,-0.2888,1.6254,-1.0451,1.2709,-0.8665,-0.6930,-1.2110,0.1751,-1.1859,-1.0193,-1.1980,-1.0920},
{1.1511,-0.9374,-0.6610,0.1828,-0.0887,-0.2980,0.8455,-1.4520,1.4343,0.4838,-0.7415,-0.9332,-0.6010,-0.0986,0.8819,-0.8587},
{0.9752,0.2877,0.7072,-0.6294,0.7407,1.2313,0.7577,-0.7762,-0.8780,-0.3135,0.2411,0.6173,1.0899,0.8188,-0.8012,1.2437},
{0.4576,1.3638,-0.7272,4.3106,-4.4526,2.5284,1.6061,6.6231,0.2642,2.6132,-1.8590,-1.7283,-3.5158,-0.4543,-6.8420,1.3607},
{1.7106,12.2901,-2.2533,3.4622,-5.9383,2.3186,1.5392,-1.5017,-5.8343,6.3238,1.5539,-1.1593,-6.4843,-6.3084,-3.0877,-2.4300},
{0.1340,1.2097,-1.7293,2.3186,-4.3722,1.3950,1.1130,5.5813,2.7657,2.6440,0.9435,-0.3977,-2.6608,-1.7675,-4.7483,-0.7864},
{-0.5447,0.3272,-0.9275,-0.9049,-0.0313,-0.8680,-0.9661,-0.9565,0.6218,-0.3429,1.0342,1.2158,-1.1316,-1.2363,0.4997,-0.1027},
{0.4701,-0.9644,0.5088,0.9879,-1.4685,0.9054,-0.6096,3.2988,1.2556,1.0985,-1.4352,-1.4066,-0.9310,-0.6164,-3.0248,0.5024},
{0.9535,-1.3575,-0.8247,-0.9854,0.9791,-0.9715,-0.2457,-0.7633,0.1521,-1.2810,-0.5648,-0.5209,0.7784,-1.0380,-0.0058,0.7350},
{0.7222,-0.9026,-1.2331,1.0008,0.0789,-0.2420,-1.1695,-1.0995,0.2506,0.7529,-0.3717,-1.2338,-0.8657,-0.3470,-0.9093,-0.7746},
{-1.2887,-3.5352,0.5355,3.0652,-1.0509,0.9233,1.5094,6.0641,2.0652,0.8563,-2.3061,-2.1526,-1.5527,-0.8746,-3.7790,3.2897},
{-0.9093,-0.0781,1.2090,1.0791,0.6534,0.5081,-0.0028,1.0088,0.4805,-1.1797,-0.8086,1.2040,1.2395,-0.5172,0.1278,-0.6822},
{-1.2523,-2.0325,-1.2709,4.6442,-4.9273,2.3199,0.0898,7.7600,3.7639,1.1564,-0.1910,-3.0940,-2.4165,1.2173,-5.3914,2.9637},
{-0.2077,0.7566,-0.8514,-0.6139,-1.0677,-0.6129,-1.3326,1.1468,0.7780,1.1562,0.4760,-0.0009,0.4444,0.7831,0.8272,1.2280},
{-0.5854,-0.1636,-0.1682,-2.8542,1.0034,-2.4972,0.4870,-3.2327,-1.8714,-1.6851,0.6983,0.1297,2.3192,1.5243,2.6380,-0.5348},
{-1.3215,-0.8575,-0.7621,-0.5717,0.1292,0.0593,-0.4723,0.1920,1.2927,1.3192,0.3721,0.9964,0.3107,1.1501,-1.2659,-0.5278}};
netb13[30]={{2.5504,0.1664,-0.1777,-0.0795,0.8794,-0.1832,0.4453,-1.1503,1.0951,-3.3357,2.8003,2.2610,0.6894,2.6520,0.8059,1.4653,-3.0432,-0.0001,-2.4379,-0.0929,2.1441,0.1824,3.6680,4.5617,0.3355,-3.2645,0.1891,-3.1638,0.2587,-1.7864};
netIW23[2][30]={{-1.8003,-4.9011,8.3382,1.8284,-1.1428,4.6219,-2.1194,2.4337,-0.4646,0.5278,-1.3726,-0.6989,-1.9654,-0.7831,-1.7815,0.0403,0.5228,-9.0118,-15.9740,-7.0004,-0.9821,-3.6813,-1.0615,-1.1740,-7.8725,1.7593,-9.3978,0.5530,4.4504,0.0222},{0.5067,5.5227,-8.9438,-3.0613,1.2609,-4.3901,1.4456,-1.5482,0.2018,-0.4419,0.6373,1.0805,1.8179,0.3855,2.2246,1.2395,-0.6419,8.6978,16.0140,6.9181,0.4016,3.3614,1.8293,1.8505,7.1044,-1.2942,9.6712,-1.2813,-4.3931,-0.7361}};
netb23[2]={1.7664,-1.9934};
实例1:生锈腐蚀金属背景上二维条码定位
本实例所处理的图像如图5(a)所示,二维条码处在一个深度生锈腐蚀污染的金属背景区域。
1.首先将图5(a)进行预处理,利用第二步中“预处理图像算法”,首先划分成25×25的网格。然后为了达到光照无关化,将每个网格进行16灰度级重置,因为小范围内可以看成是光照均匀的,所以根据每个网格的最大最小灰度范围重置完各网格后,图像可近似认为是光照无关的。然后将最大最小灰度差小于17的网格置为背景区域。效果如图5(b)所示,已判决背景区域在图像中用黑色区域表示。
2.灰度直方图特征是一个相对较简单的特征。它只能描述灰度的整体分布,无法描述像素之间的关联,所以描述的精确度较低。但它是大小无关且旋转无关的,又通过16灰度级重置各网格后可以达到光照无关,并且算法简单速度快,所以本文选取它作为第一级判决算子。利用第二步1中“候选目标网格灰度直方图特征提取”算法,提取出图5(b)中所有候选目标网格灰度直方图特征,利用以netIW11[7][4],netb11[7]、netIW21[2][7]与netb21[2]为权值和阈值的BP神经网络进行判决,判决算法如第二步3中“灰度直方图判决”所示。判决结果如图5(c)所示,已判决背景区域在图像中用黑色区域表示。
3.由于在每一级判决之后可能会存在性质良好的连通区域为码区,如果不予判断而直接进行下一级网格判决则:1、增加运算成本,增加算法运算时间。2、可能破坏存在的优良的目标连通区域,因为后续的判决算法很有可能将其中的目标网格判决为背景网格。所以本专利在每级判决后增加一步“连通区域判决”,以检测可能存在的条码区域。如5.5连通区域判决算法所示,首先需要进行类圆度检测,因为二维条码为正方形区域,如果某个连通区域为潜在的条码区域时,首先需保证它具有一定的类圆度。然后因为条码区域的边缘有两个主方向并且是相互垂直的,所以也需要有一定的双峰度与较接近的主方向对比。连通域判决过程示意图如图2所示。本实例中经过灰度直方图判决后具有两个连通区域,如图5(c)所示,其中连通域1:未通过类圆度检测;连通域2:未通过类圆度检测。
4.局部二模式特征计算复杂度低、描述能力强、不受图片明暗程度的影响,也不受旋转的影响,并且此特征主要描述小区域内像素与像素之间的关联,所以本文选取局部二模式特征作为第二级判决。本发明选取的局部二值特征描述的是像素的3×3邻域关系,如图3所示。利用第四步1中“候选目标网格局部二值模式特征提取”算法,提取出图5(c)中所有候选目标网格局部二值模式特征,利用以netIW12[20][9],netb12[20]、netIW22[2][20]与netb22[2]为权值和阈值的BP神经网络进行判决,判决算法如第四步3中“局部二值模式特征判决所”示。判决结果如图5(d)所示,已判决背景区域在图像中用黑色区域表示。
6.灰度直方图和局部二值模式都是对图像灰度值纹理分布的一种描述,而事实上对于二维条码图像来说,边缘信息是更重要的一种纹理,因为DM码区域就是由相互垂直的边缘组成,所以本文选取边缘直方图作为最后一级判决。由于边缘梯度方向直方图具有光照变化不敏感性,大小尺度无关性及具有较高的描述能力,所以本专利选取它作为第三级判决。利用第六步1中“候选目标网格边缘直方图特征提取”算法,提取出图5(d)中所有候选目标网格边缘直方图特征,利用以netIW13[30][16],netb13[30]、netIW23[2][30]与netb23[2]为权值和阈值的BP神经网络进行判决,判决算法如第六步3中“边缘直方图特征判决”所示。判决结果如图5(e)所示,已判决背景区域在图像中用黑色区域表示。
8.利用第八步中的聚类生长算法,将目标区域进行8方向生长,生长示意图如4所示,最终生长结果如图5(f)所示。
本实例最终条码区域占定位的包络区域的面积为86.5%,总运算时间为576ms,共经过3级判决。
实例2:高光金属背景上二维条码定位
本实例处理图像为图6(a)所示,描述过程与“实例1:生锈腐蚀金属上二维条码定位”一致,这里就不重复表述,用表格列出其关键数据:
本实例最终条码区域占定位的包络区域的面积为89.4%,总运算时间为306ms,共经过2级判决。
实例3:磨损污染金属背景上二维条码定位
本实例处理图像为图7(a)所示,用表格列出其关键数据:
本实例最终条码区域占定位的包络区域的面积为88.7%,总运算时间为290ms,共经过2级判决。
实例4:纹理干扰金属背景上二维条码定位
本实例处理图像为图8(a)所示,用表格列出其关键数据:
本实例最终条码区域占定位的包络区域的面积为90.6%,总运算时间为296ms,共经过2级判决。
Claims (1)
1.一种复杂金属背景下DataMatrix条码区域定位方法,其特征在于包括下述步骤:
第一步,预处理图像
1.划分网格
设输入图像A的网格划分方式为p×q,宽度为w像素,高度为h像素,pixi,j代表现图像中i列j行像素点的像素值,则定义整体网格坐标矩阵G为:
其中,gm,n代表第m行n列网格,0≤m<p,0≤n<q,并定义gm,n数组为: 其中 和分别代表网格gm,n的横向最小值、横向最大值、纵向最小值和纵向最大值,并且gm,n为正方形区域;gm,n[4]=t代表网格gm,n的属性,t∈{0,1,2},其中0代表背景网格,1代表候选目标网格,2代表目标网格;所有网格的属性初始值都赋为1;
2.16灰度级重置各网格
对于网格gm,n,16灰度级重置算法如下:
1)首先遍历gm,n内的所有像素点,寻找最大像素值Vmax和最小像素值Vmin,判断Vmax-Vmin>17,若成立则转向步骤2)继续执行;若不成立则将gm,n属性赋为背景,令gm,n[4]=0,然后本次16灰度级重置网格gm,n结束;
2)建立一个空白的索引区间数组其中iterater[l]代表一个索引,l代表索引区间;
5)再次遍历gm,n模块,对于pixi,j∈gm,n,重新赋像素值:pixi,j=iterater[l](pixi,j=l);
遍历G,利用16灰度级重置算法将其中的每个网格中的所有像素值重新赋值,得到新的重置后的图像A1;
3.边缘特征提取
2)对于像素点pixi,j∈A1,求取其边缘强度函数:其中ex(i,j),ey(i,j)分别是像素点pixi,j在x与y方向上的梯度,离散表示为:
ex(i,j)=(pixi+1,j+1+2pixi+1,j+pixi+1,j-1)-(pixi-1,j+1+2pixi-1,j+pixi-1,j-1)
设定一个阈值T: T=80;若 则认为其对应的像素点为非边缘点;
循环求取A1中所有像素点的边缘强度,将其记录在缓存区E[w×h]中;
4)对于gm,n[4]=1的候选目标网格gm,n,求取其边缘方向累计函数Hm,n:
循环整体网格矩阵G,得到所有候选目标网格的直方图特征集合:
HG={Hm,n|gm,n∈G&&gm,n[4]=1};
第二步,灰度直方图判决
1.候选目标网格灰度直方图特征提取
设gm,n为图像A1中的一个候选目标网格,则gm,n的灰度直方图特征提取如下:
2)计算直方图平均灰度:
3)计算直方图方差:
4)计算直方图偏度:
循环整体网格矩阵G,得到所有候选目标网格的直方图特征集合:
HS={HISm,n|gm,n∈G&&gm,n[4]=1};
2.灰度直方图判决器训练
1)采用n幅生锈腐蚀、高反光、磨损污染和纹理干扰的金属背景二维条码图像作为训练样本图像,30<n<60,并将这n幅训练样本图像进行划分网格和16灰度级重置各网格算法操作,然后从这n幅训练样本图像中选取n1个这些训练样本图像的非条码区域的网格即背景网格作为负训练样本,设为集合从这n幅训练样本图像中选取n1个这些训练样本图像的条码区域网格作为正训练样本,设为集合n1=80;
2)利用上述的灰度直方图特征提取算法,提取所有负训练样本集合网格与正训练样本集合网格的灰度直方图特征,将这2n1组正负训练样本的的每组直方图特征作为行,共2n1组直方图所以有2n1列,所以得到一个4×2n1的矩阵P1;
3)设正样本对应的输出为(1,0),负样本对应的输出为(0,1),则矩阵P1对应的输出为一个2×2n1的矩阵T1;利用matlab2008创建一个BP神经网络newff(),BP神经网络的训练函数为trainlm,输入层到隐层节点的传递函数为tansig,隐层节点到输出层的传递函数为logsig;每组输入元素的最大值和最小值为2n1×2的矩阵minmax(P1),并将最大训练次数定为1000,目标误差定为0.001,隐层节点定为7个;
4)将矩阵P1作为原始输入向量,矩阵T1作为输出向量,在matlab2008中利用BP神经网络进行训练,得到输入层到隐层的一个7×4权值矩阵记为netIW11,一个7×1的阈值向量记为netb11;隐层到输出层的一个2×7权值矩阵记为netIW21,一个2×1的阈值向量记为netb21;
3.灰度直方图判决
HISm,n为一个候选目标网格gm,n的灰度直方图特征,将其代入训练结果计算对应的判决输出V-HISm,n:
V-HISm,n=logsig(netIW21×tansig(netIW11×HISm,n+netb11)+netb21)=(am,n,bm,n);同理计算gm,n的八邻域内所有候选目标网格的判决输出,将这些判决输出求取平均值得到如果则候选目标网格gm,n属性不变,否则将候选目标网格gm,n设为背景网格:gm,n[4]=0;
第三步,连通域判决
1.连通区域类圆度判决
经过灰度直方图判决后,设图像A1中候选目标网格的连通区域为x1个,连通区域集合记为连通域Rx中的候选目标网格数目为nx个,1≤nx≤p×q,若nx≤4,Rx为污染连通区域,将Rx从集合中删除,并将Rx中所有候选目标区域的属性赋值为0:{gm,n[4]=0|gm,n∈Rx};否则进行连通区域类圆度判决,过程如下:
2)设Rx中的候选目标网格gm,n,若gm+1,n、gm-1,n、gm,n+1与gm,n-1中至少有一个为背景区域,则gm,n为非Rx边缘网格,将gm,n从Rx中去除;否则将其保留标记为边缘网格;循环判断Rx中的所有候选目标网格,可得Rx的边缘网格集合,记为
3)求取质心到的最短和最长距离:
2.连通区域边缘直方图双峰特征判决
1)对于集合中的一个连通域Rx,计算它的整体边缘直方图:
2)求出Rx整体边缘直方图的相邻3区间加权最大值:
5)与步骤1)~4)过程一样,循环求取中所有连通域的双峰特征值,若标记为通过连通区域边缘直方图双峰特征判决,为候选目标区域,否则为未通过,标记为未通过连通区域边缘直方图双峰特征判决;设通过此判决的连通域个数为x3个,0≤x3≤x2,用集合表示;若x3≥1,转向步骤3,否则转向第四步;
3.连通区域主方向对比判决
4.整体网格矩阵G属性判断
1)遍历整体网格矩阵G,若存在至少一个gm,n[4]=1,gm,n∈G,则转向第四步,否则转向步骤2);
2)若存在gm,n[4]=2,gm,n∈G,则转向第八步,否则转向步骤3);
3)提示本图像中没有二维条码,并结束算法;
第四步,局部二值模式特征判决
1.候选目标网格局部二值模式特征提取
设整体网格矩阵G中的一个候选目标网格gm,n(gm,n[4]=1),其局部二值模式特征提取过程如下:
2)给局部描述特征数组 赋值: 其中函数s(x)为:
4)与1)~3)步算法一致,求取gm,n中所有像素点的局部二值模式特征值,并统计叠加,得到网格gm,n的局部二值模式特征LBPm,n,表示如下: 其中LBPm,n[x]为gm,n中所有像素点局部二值模式特征值为x的频率,sizeof(gm,n)代表gm,n中像素点的数量,δ(x)函数表示为:
遍历整体网格矩阵G中的所有候选目标网格,和1)~4)步算法一致,得到所有候选目标网格的局部二值模式特征集合:LBP={LBPm,n|gm,n∈G&&gm,n[4]=1};
2.局部二值模式特征判决器训练
1)利用第二步步骤2所选出的n幅训练样本图像,将这n幅训练样本图像进行上述第四步步骤1的1)~4)步的所有步骤运算,然后选取n2=80个这些训练样本图像的候选目标网格中的背景网格作为负训练样本,设为集合选取n2个这些训练样本图像的条码区域网格作为正训练样本,设为集合
3)设正样本对应的输出为(1,0),负样本对应的输出为(0,1),则矩阵P2对应的输出为一个2×2n2的矩阵T2;利用matlab2008创建一个BP神经网络newff(),BP神经网络的训练函数为trainlm,输入层到隐层节点的传递函数为tansig,隐层节点到输出层的传递函数为logsig;每组输入元素的最大值和最小值为2n2×2的矩阵minmax(P2),并将最大训练次数定为1000,目标误差定为0.001,隐层节点定为20个;
4)将矩阵P2作为原始输入向量,矩阵T2作为输出向量,在matlab2008中利用BP神经网络进行训练,得到输入层到隐层的一个20×9权值矩阵记为netIW12,一个20×1的阈值向量记为netb12;隐层到输出层的一个2×20权值矩阵记为netIW22,一个2×1的阈值向量记为netb22;
3.局部二值模式特征判决
LBPm,n为一个候选目标网格gm,n的局部二值模式特征,将其代入训练结果计算对应的判决输出V-LBPm,n:
V-LBPm,n=logsig(netIW22×tansig(netIW12×LBPm,n+netb12)+netb22)=(cm,n,dm,n);同理计算gm,n的八邻域内所有候选目标网格的判决输出,将这些判决输出求取平均值得到如果则候选目标网格gm,n属性不变,否则将候选目标网格gm,n设为背景网格:gm,n[4]=0;
第五步,连通域判决
1.连通区域类圆度判决
经过局部二值模式特征判决后,设候选目标网格的连通区域为y1个,连通区域集合记为连通域Ry中的候选目标网格数目为ny个,1≤ny≤p×q,若ny≤4,Ry为污染连通区域,将Ry从集合中删除,并将Ry中所有候选目标区域的属性赋值为0:{gm,n[4]=0|gm,n∈Ry};否则进行连通区域类圆度判决,判决算法如第三步1中“连通区域类圆度判决”一致;设通过判决的连通域有y2个,0≤y2≤y1,用集合表示;若y2≥1,转向第五步步骤2,否则转向第六步;
2.连通区域边缘直方图双峰特征判决
3.连通区域主方向对比判决
4.整体网格矩阵G属性判断
1)遍历整体网格矩阵G,若存在至少一个gm,n[4]=1(gm,n∈G),则转向第六步,否则转向步骤2);
2)若存在gm,n[4]=2(gm,n∈G),则转向第八步,否则转向步骤3);
3)提示本图像中没有二维条码,并结束算法;
第六步,边缘直方图特征判决
1.候选目标网格边缘直方图特征提取
经过上述所有判决之后,设整体网格矩阵G中的一个候选目标网格gm,n(gm,n[4]=1),其边缘直方图特征提取过程如下:
1)以8邻域区间联合边缘特性代替一个网格的边缘特性:
2)通过相邻3区间加权法求出网格gm,n主方向区间:
设mainDirem,n所对应的区间t设为t2,t2为网格gm,n的主方向;
遍历整体网格矩阵G中的所有候选目标网格,和1)~3)步算法一致,得到所有候选目标网格的边缘直方图特征集合:
2边缘直方图特征判决器训练
1)利用第二步灰度直方图判决器训练所选出的选出n幅训练样本图像,并将这n幅训练样本图像进行上述第六步步骤1的1)~3)步的所有判决,然后选取n3个这些训练样本图像的候选目标网格中的背景网格作为负训练样本,设为集合选取n3个这些训练样本图像的条码区域网格作为正训练样本,设为集合
3)设正样本对应的输出为(1,0),负样本对应的输出为(0,1),则矩阵P3对应的输出为一个2×2n3的矩阵T3;利用matlab2008创建一个BP神经网络newff(),BP神经网络的训练函数为trainlm,输入层到隐层节点的传递函数为tansig,隐层节点到输出层的传递函数为logsig;每组输入元素的最大值和最小值为2n3×2的矩阵minmax(P3),并将最大训练次数定为1000,目标误差定为0.001,隐层节点定为30个;
4)将矩阵P3作为原始输入向量,矩阵T3作为输出向量,在matlab2008中利用BP神经网络进行训练,得到输入层到隐层的一个30×16权值矩阵记为netIW13,一个30×1的阈值向量记为netb13;隐层到输出层的一个2×30权值矩阵记为netIW23,一个2×1的阈值向量记为netb23;
3.边缘直方图特征判决
第七步,连通域判决
1.连通区域类圆度判决
经过边缘直方图特征判决后,设候选目标网格的连通区域为z1个,连通区域集合记为连通域Rz中的候选目标网格数目为nz个,1≤nz≤p×q,若nz≤4,Rz为污染连通区域,将Rz从集合中删除,并将Rz中所有候选目标区域的属性赋值为0:{gm,n[4]=0|gm,n∈Rz};否则进行连通区域类圆度判决,判决算法如第三步步骤1一致;设通过判决的连通域有z2个,0≤z2≤z1,用集合表示;若z2≥1,转向第七步步骤2,否则转向第八步;
2.连通区域边缘直方图双峰特征判决
3.连通区域主方向对比判决
4.整体网格矩阵G属性判断
若存在gm,n[4]=2(gm,n∈G),则转向第八步,否则提示本图像中没有二维条码,并结束算法;
第八步,聚类生长
对于第三步步骤3、第五步步骤3和第七步步骤3中通过连通域判决的 与及其所对应的主方向 与对应的包络圆 与将这几个连通域合并,则有num=x4+y4+z4个连通域,设合并后的连通域为集合其对应的主方向为集合对应的包络圆为集合聚类生长的具体过程如下:
3)所对应的生长方向θ'设为最佳生长方向,求取区域的主方向,设为求取区域的边缘直方图双峰特征,设为求取算法与第三步步骤2一致;然后求取区域的主方向对比特征,设为求取算法与第三步步骤3一致;如果与连通域Rx的主方向差异小于或等于1个区间,并且此区域的双峰平均峰度值主方向对比则此次生长有效,包络圆Cθ'为新的生长基础,转向步骤2)继续执行;否则生长结束,包络圆Cθ'为最终Rx条码区域的包络区间;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110310325 CN102346850B (zh) | 2011-10-13 | 2011-10-13 | 复杂金属背景下DataMatrix条码区域定位方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110310325 CN102346850B (zh) | 2011-10-13 | 2011-10-13 | 复杂金属背景下DataMatrix条码区域定位方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102346850A CN102346850A (zh) | 2012-02-08 |
CN102346850B true CN102346850B (zh) | 2013-08-14 |
Family
ID=45545512
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110310325 Expired - Fee Related CN102346850B (zh) | 2011-10-13 | 2011-10-13 | 复杂金属背景下DataMatrix条码区域定位方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102346850B (zh) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102663337B (zh) * | 2012-03-16 | 2014-07-23 | 江南大学 | 简单工况背景下的Data Matrix二维条码快速识别方法 |
CN102930268B (zh) * | 2012-08-31 | 2015-09-16 | 西北工业大学 | 一种用于污染及多视角情况下DataMatrix码的精确定位方法 |
CN103593695B (zh) * | 2013-11-15 | 2016-08-10 | 天津大学 | 一种dpm二维码区域定位的方法 |
CN103927765B (zh) * | 2014-02-21 | 2016-10-12 | 北京象开科技有限公司 | 用于定位图像中条码区域的方法和装置 |
CN104636701B (zh) * | 2014-12-12 | 2017-09-19 | 浙江工业大学 | 一种基于图像修复的激光二维码识别方法 |
CN105184208B (zh) * | 2015-09-02 | 2017-10-31 | 福建联迪商用设备有限公司 | 一种二维码初步定位方法及系统 |
CN106778435B (zh) * | 2016-11-30 | 2020-04-10 | 上海正雅齿科科技股份有限公司 | 基于图像邻域结构张量方程的特征提取方法 |
CN108280854A (zh) * | 2016-12-31 | 2018-07-13 | 长春北方化工灌装设备股份有限公司 | 一种工业图像的近圆形目标快速检测方法 |
CN107633192B (zh) * | 2017-08-22 | 2020-05-26 | 电子科技大学 | 一种基于机器视觉的复杂背景下条形码分割与识读方法 |
CN107908996B (zh) * | 2017-10-25 | 2020-12-15 | 福建联迪商用设备有限公司 | 一种提取一维条码信息的方法及终端 |
CN110543884B (zh) * | 2018-05-29 | 2022-04-12 | 国际关系学院 | 一种基于图像的网络攻击组织溯源方法 |
CN109271823A (zh) * | 2018-08-08 | 2019-01-25 | 佛山市顺德区中山大学研究院 | 一种自定义二维码的快速定位方法 |
CN108920992B (zh) * | 2018-08-08 | 2021-02-26 | 长沙理工大学 | 一种基于深度学习的医药标签条码的定位与识别方法 |
CN109635612B (zh) * | 2018-10-29 | 2021-11-02 | 国网江苏省电力有限公司南京供电分公司 | 一种基于神经网络的二维码识别方法 |
CN110176028B (zh) * | 2019-06-05 | 2020-12-15 | 中国人民解放军国防科技大学 | 一种基于事件相机的异步角点检测方法 |
CN111753572A (zh) * | 2020-05-14 | 2020-10-09 | 南京翱翔信息物理融合创新研究院有限公司 | 一种基于深度学习的复杂背景低质量二维条码检测方法 |
CN113705268B (zh) * | 2021-08-30 | 2023-08-15 | 山东大学 | 一种二维码定位方法及系统 |
CN114911435B (zh) * | 2022-07-18 | 2022-11-11 | 北京中宏立达科技发展有限公司 | 一种基于二维条码的复印管控方法及系统 |
CN115936037B (zh) * | 2023-02-22 | 2023-05-30 | 青岛创新奇智科技集团股份有限公司 | 二维码的解码方法及装置 |
CN117197129B (zh) * | 2023-11-03 | 2024-02-13 | 浙江鑫柔科技有限公司 | 黑化程度检测方法、装置和计算机设备 |
CN117475000B (zh) * | 2023-12-28 | 2024-03-19 | 江苏恒力化纤股份有限公司 | 一种织物布边定位方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1862560A (zh) * | 2006-06-21 | 2006-11-15 | 北京紫光捷通科技有限公司 | 一种基于定位图形的可快速定位的二维条码系统 |
CN101093553A (zh) * | 2007-07-19 | 2007-12-26 | 成都博古天博科技有限公司 | 一种二维码系统及其识别方法 |
CN102096795A (zh) * | 2010-11-25 | 2011-06-15 | 西北工业大学 | 磨损二维条码图像识别方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100347714C (zh) * | 2004-09-07 | 2007-11-07 | 佳能株式会社 | 用于定位二维条形码的方法和设备 |
-
2011
- 2011-10-13 CN CN 201110310325 patent/CN102346850B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1862560A (zh) * | 2006-06-21 | 2006-11-15 | 北京紫光捷通科技有限公司 | 一种基于定位图形的可快速定位的二维条码系统 |
CN101093553A (zh) * | 2007-07-19 | 2007-12-26 | 成都博古天博科技有限公司 | 一种二维码系统及其识别方法 |
CN102096795A (zh) * | 2010-11-25 | 2011-06-15 | 西北工业大学 | 磨损二维条码图像识别方法 |
Non-Patent Citations (2)
Title |
---|
Encoding and Decoding Method of Cutting Tool Information Based on Data Matrix Symbol;LeiLei等;《2009 Third International Symposium on Intelligent Information Technology Application》;20091231;第157-160页 * |
LeiLei等.Encoding and Decoding Method of Cutting Tool Information Based on Data Matrix Symbol.《2009 Third International Symposium on Intelligent Information Technology Application》.2009,第157-160页. |
Also Published As
Publication number | Publication date |
---|---|
CN102346850A (zh) | 2012-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102346850B (zh) | 复杂金属背景下DataMatrix条码区域定位方法 | |
CN103049763B (zh) | 一种基于上下文约束的目标识别方法 | |
CN113160192B (zh) | 复杂背景下基于视觉的压雪车外观缺陷检测方法及装置 | |
Yousaf et al. | Visual analysis of asphalt pavement for detection and localization of potholes | |
Islam et al. | Solid waste bin detection and classification using Dynamic Time Warping and MLP classifier | |
Xu et al. | Multiple-entity based classification of airborne laser scanning data in urban areas | |
Abedin et al. | License plate recognition system based on contour properties and deep learning model | |
CN103048329B (zh) | 一种基于主动轮廓模型的路面裂缝检测方法 | |
CN108830188A (zh) | 基于深度学习的车辆检测方法 | |
CN102930268B (zh) | 一种用于污染及多视角情况下DataMatrix码的精确定位方法 | |
CN110889318B (zh) | 利用cnn的车道检测方法和装置 | |
CN103218621B (zh) | 一种室外视频监控中多尺度车辆的识别方法 | |
CN104318258A (zh) | 一种基于时域模糊和卡尔曼滤波器的车道线检测方法 | |
Xu et al. | Automatic recognition algorithm of traffic signs based on convolution neural network | |
CN103870818A (zh) | 一种烟雾检测方法和装置 | |
CN109271934A (zh) | 用于交通标志识别的系统和方法 | |
CN110008900B (zh) | 一种由区域到目标的可见光遥感图像候选目标提取方法 | |
CN104809433A (zh) | 一种基于最大稳定区域和随机采样的斑马线检测方法 | |
CN108960055A (zh) | 一种基于局部线段模式特征的车道线检测方法 | |
CN104282008A (zh) | 对图像进行纹理分割的方法和装置 | |
CN107025442A (zh) | 一种基于颜色和深度信息的多模态融合手势识别方法 | |
CN107704865A (zh) | 基于结构森林边缘候选区域提取的舰船目标检测算法 | |
CN111582004A (zh) | 一种地面图像中的目标区域分割方法及装置 | |
Abedin et al. | Traffic sign recognition using hybrid features descriptor and artificial neural network classifier | |
Xing et al. | The Improved Framework for Traffic Sign Recognition Using Guided Image Filtering |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130814 Termination date: 20151013 |
|
EXPY | Termination of patent right or utility model |