一种DM码定位及识别的方法与系统与流程

文档序号:12178063阅读:3204来源:国知局
一种DM码定位及识别的方法与系统与流程
本发明涉及一种DM码定位及识别的方法与系统,属于数字图像处理与编码、译码领域。
背景技术
:DirectPartMarking(直接零件标识,以下简称DPM)方法可在产品上记录永久性的标识。在工业领域,通常利用DPM方法将一维条码或二维条码标记在产品表面,并通过图像定位、识别技术与编、解码技术以提取条码信息,用于在生产环节中实现产品的生产追踪、装配管理、生命周期维护等,进一步实现动态编号管理、装配排序、产品统计等功能。另外,这些技术的结合还能在产品的返修和维护过程中充当串号读取、维修记录追溯等重要角色,大大加速产品的生产、流通、管理以及维护的效率。DataMatrix(以下简称DM码)是二维矩阵图像,由探测图形和数据区组成。其中探测图形是一个模块的宽度,是数据区的边界,其中全部由深色模块组成的两条邻边构成了“L”形实线的两条查找模式边,“L”对面由交替的深浅模块组成的邻边构成了两条切换模式边。探测图形主要用于限定符号的单元结构,也可用于确定符号的物理尺寸,以及解决符号定位和失真等问题。数据区是由多个正方形深浅模块所组成的正方形区域,信息储存方式是深浅模块的不同排列组合,以二进制码方式来编码数据,因此计算机可直接读取。DM码是目前所有条码中尺寸最小的,容易标记在细小零件上,特别适用于小零件的标记与识别,进一步便于产品的工业串号管理和产品追踪等。此外,DM码用于定位和搜寻的查找模式边在直线检测操作中较为容易被检测,故DM码被广泛应用于DPM方法中的工业产品直接部件标示。但这类应用通过化学或物理碰撞方法在工业产品表面直接生成,因此与常规印刷二维码不同,工业DM码的定位和识别存在以下难题:(1)工业DM码通常直接印刷在工件表面,如金属、塑料、玻璃等,然后通过光学手段读取印刷在此类表面上的DM码,但由于光照、角度等原因,容易使画面局部过曝或欠曝,使DM码无法正常读取;(2)工业DM码贯穿产品的整个生命周期,在经过长时间的工作和使用后,标记在产品表面的DM码会产生磨损、残缺、划痕等物理缺陷,这些关键部位的缺陷将直接导致无法有效定位DM码区域以及DM码读取失败。发明专利CN201010564851.0改进了传统的霍夫变换,利用加邻域模板遍历霍夫域,对于检测锯齿状的DM码边缘能取得很好的效果。并且其使用所有的网格划分方式来对实际的DM码进行一一匹配,以匹配度最大的网格划分方式作为DM码实际的网格划分方式。然而,由于上述的DM码缺陷可知,DM码根据受损程序不同,还可能出现DM码探测图形和数据区中某些模块的缺失,从而导致DM码探测图形的定位错误以及在对DM码进行网格划分时数据块的单位长度出现错误。技术实现要素:本发明的目的在于克服现有技术的缺陷,提供一种DM码定位及识别的方法与系统。为了实现上述目的,本发明采用以下的技术方案:根据本发明的第一方面,提供一种DM码定位及识别的方法,包括如下步骤:S1、获取原图像的二值化图像;S2、从二值化图像中提取包含DM码的有效区域;S3、对有效区域进行单边缘提取,得到DM码的置信单边缘图像;S4、通过置信单边缘图像得到有效单边缘图像,并对有效单边缘图像进行霍夫变换,在霍夫变换域的参数空间里寻找到第一条查找模式边所对应的响应点后建立角度屏蔽区,寻找到角度屏蔽区之外的第二条查找模式边所对应的响应点,进而定位DM码的两条查找模式边,并获取DM码第一、第二条查找模式边端点处的三个定位点;S5、通过旋转带方向的像素累加器获取DM码的两条切换模式边,并求解这两条切换模式边交点处的第四个定位点;S6、根据DM码的四个定位点,对DM码进行反透视变换,还原得到标准DM码图像,并对标准DM码图像进行网格划分;S7、对网格划分后的DM码进行码字提取,还原码字信息。进一步,优选地,步骤S2可使用基于“核”查找器的区域生长法从二值化图像中提取包含DM码的有效区域,所述基于“核”查找器的区域生长法仅对角点信息响应,并设置为包括如下步骤:S21、提取二值化图像的角点;S22、定位角点的最大响应区域,所述最大响应区域为正方形,并且此步骤中的最大响应区域为DM码的有效区域的一部分;S23、最大响应区域的各条边分别朝着背离最大响应区域的方向以生长半径为步长独立绘制对应边的矩形,所述生长半径的值大于等于5个像素长度且小于等于50个像素长度;S24、设定第一阈值,若某一个或几个矩形范围内包含的角点数量大于第一阈值,则将对应的矩形作为DM码的有效区域的一部分后更新最大响应区域的边长,并继续沿对应方向以生长半径为步长独立绘制对应边的矩形,否则终止对应方向有效区域的生长,所述第一阈值的大小为大于等于10且小于等于100。进一步,优选地,步骤S2可使用行统计法从二值化图像中提取包含DM码的有效区域,所述行统计法仅对角点信息响应,并设置为包括如下步骤:S21、提取二值化图像的角点;S22、对二值化图像进行区域划分,不同区域的大小相同所述区域的边长长度为大于等于8个像素且小于等于32个像素长度;S23、统计每个区域内的角点数量,以角点最密集的区域作为起点区域,并设定第二阈值,此步骤中起点区域为DM码的有效区域的一部分,所述第二阈值的大小为大于等于10且小于等于100;S24、将起点区域所在行作为搜索行,在起点区域的左、右方向上独立进行搜索,若邻接区域的角点数量大于第二阈值,则将相应的邻接区域作为DM码的有效区域的一部分,并继续沿对应方向搜索判断,否则终止对应方向有效区域的搜索;S25、将搜索行不断上移一行,并将上一搜索行中有效区域的两个端点区域与一个中点区域独立作为新的起点区域,重复步骤S24,直到新的起点区域的角点数量均小于第二阈值;S26、将步骤S24中搜索行不断下移一行,并将上一搜索行中有效区域的两个端点区域与一个中点区域独立作为新的起点区域,重复步骤S24,直到新的起点区域的角点数量均小于第二阈值。进一步,优选地,步骤S2可使用坐标投影法从二值化图像中提取包含DM码的有效区域,所述坐标投影法仅对角点信息响应,并设置为包括如下步骤:S21、提取二值化图像的角点;S22、统计所有角点对应的横、纵坐标值;S23、设定一个第三阈值,并对所有的坐标值进行一维膨胀操作,当最大连通域的长度大于其它连通域长度的第三阈值倍时停止膨胀操作;S24、对所有膨胀后的横、纵坐标值的重叠区域进行提取,得到DM码的有效区域。进一步,优选地,在步骤S2之后,可以对DM码的有效区域进行滤波预处理,以滤出噪声。进一步,优选地,步骤S3可使用canny边缘检测算子对有效区域进行单边缘提取,得到DM码的置信单边缘图像。进一步,步骤S4包括如下步骤:S41、获取DM码有效区域的宽度和高度,若宽度与高度的比值基本满足正方形条件,则对置信单边缘图像进行挖空操作,以排除DM码中远离探测图形的数据区,否则不进行挖空操作,最终得到有效单边缘图像;S42、对有效单边缘图像进行霍夫变换,得到霍夫变换域的参数空间;S43、对霍夫变换域的参数空间进行最大值检测,获取最大响应点对应的中心像素值,中心像素值所对应的参数即为第一条查找模式边的直线参数;S44、在霍夫变换域的参数空间建立角度屏蔽区;S45、在角度屏蔽区之外对霍夫变换域的参数空间进行最大值检测,获取最大响应点对应的中心像素值,中心像素值所对应的参数即为第二条查找模式边的直线参数;S46、获取DM码第一、第二条查找模式边端点处的三个定位点,所述三个定位点包括第一、第二条查找模式边的交点与第一、第二条查找模式边的另外两个端点。进一步,优选地,步骤S43和/或步骤S45中对霍夫变换域的参数空间进行最大值检测时,可使用霍夫变换投票查找方法,其设置为:首先,搜寻霍夫变换域的参数空间,并通过模板对参数空间进行加权,获取最大响应点对应的中心像素值坐标;其次,以该坐标为中心,建立参数空间距离方向的搜索区,所述搜索区半径为r,所述半径r的值为3°~10°;再次,在搜索区内检索M-1个次大响应点并记录其坐标;再次,在有效单边缘图像中搜索获取的M个响应点所对应的直线,并计算这M条直线上分别包含的边缘像素数量,所述M的值为大于等于5且小于等于10;最后,选取包含边缘像素数量最多的直线作为查找模式边所在的直线,并以此直线所定义的参数作为最大响应点的参数。进一步,步骤S5包括如下步骤:S51、使用旋转带方向的像素累加器寻找到第一条切换模式边,所述旋转带方向的像素累加器设置为以第一条查找模式边的端点为顶点,以具有固定半径的第一旋转线段从第一条查找模式边开始绕着顶点在有效区域旋转,当第一旋转线段上各像素点的累加值为0时,此时的第一旋转线段为第一条切换模式边的外边缘的一部分或部分重合,所述固定半径为第一/第二切换模式边长度的一半;S52、使用旋转带方向的像素累加器寻找到第二条切换模式边,所述旋转带方向的像素累加器设置为以第二条查找模式边的端点为顶点,以具有固定半径的第二旋转线段从第二条查找模式边开始绕着顶点在有效区域旋转,当第二旋转线段上各像素点的累加值为0时,此时的第二旋转线段为第二条切换模式边的外边缘的一部分或部分重合;S53、将第一旋转线段与第二旋转线段的交点或延长线的交点作为DM码的第四个定位点。进一步,步骤S6包括如下步骤:S61、根据DM码的四个定位点,对DM码进行反透视变换,还原得到标准DM码图像;S62、通过标准DM码图像的切换模式边,得到标准DM码图像的稳定分段长度;S63、根据分段长度,对标准DM码图像进行网格划分。进一步,步骤S62包括如下步骤:S621、以第一条切换模式边的外边缘所在直线为初始搜索线;S622、记录像素值从0到1或从1到0的切换次数,且引入一个延迟计数器用于记录相同像素值的个数,并定义一个待写入区flag,若像素值发生变化则将flag置高位,且延迟记录器记录的相同像素值的个数大于第四阈值时,则此时已经满足切换条件,记录分段坐标,所述第四阈值为记录器中出现相同像素值的个数为最大时的长度;S623、以固定的像素数量为步长不断平行移动搜索线,方向为朝着搜索线对面的查找模式边,重复步骤S622获取并记录n次模块切换次数,其中n等于搜索边平行移动的次数;S624、在平行移动次数n大于或等于采样次数N时,比较记录的n次模块切换次数,若n个模块切换次数均相同,认为模块切换次数已经稳定,否则替换较早的模块切换次数,以当前搜索线为初始位置,重复上述步骤,得到第一条切换模式边上所有数据区的切换次数,即所有黑白模块的数量;S625、根据步骤S624中得到的模块切换次数,记录模块发生切换的中点,进而得到标准DM码图像平行于第一条切换模式边的所有数据区的稳定分段长度;S626、以第二条切换模式边的外边缘所在直线为初始搜索线,重复上述步骤,标准DM码图像平行于第二条切换模式边的所有数据区的稳定分段长度。进一步,优选地,步骤S625和/或步骤S626中得到标准DM码图像的稳定分段长度,可通过对模块切换坐标位置的对应长度进行频率统计,将出现频率最高的长度作为分段长度。根据本发明的第二方面,提供一种DM码定位及识别的系统,包括:第一模块,设置为获取原图像的二值化图像;第二模块,设置为从二值化图像中提取包含DM码的有效区域;第三模块,设置为对有效区域进行单边缘提取,得到DM码的置信单边缘图像;第四模块,设置为通过置信单边缘图像得到有效边缘图像,并对有效单边缘图像进行霍夫变换,在霍夫变换域的参数空间里寻找到第一条查找模式边所对应的响应点后建立角度屏蔽区,寻找到角度屏蔽区之外的第二条查找模式边所对应的响应点,进而定位DM码的两条查找模式边,并获取DM码第一、第二条查找模式边端点处的三个定位点;第五模块,设置为通过旋转带方向的像素累加器获取DM码的两条切换模式边,并求解这两条切换模式边交点处的第四个定位点;第六模块,设置为根据DM码的四个定位点,对DM码进行反透视变换,还原得到标准DM码图像,并对标准DM码图像进行网格划分;第七模块,设置为对网格划分后的DM码进行码字提取,还原码字信息。根据本发明的第三方面,提供一种DM定位及识别的系统,其特征在于,包括:图像采集装置、处理器、存储器、显示器,所述图像采集装置采集包含DM码的原图像,所述处理器发出的指令用于执行上述任一项所述的方法,所述存储器用于存储上述任一项所述的方法的数据或中间数据以及用于执行上述任一项所述的方法的指令,所述显示器用于显示上述任一项所述的方法的结果。与现有技术相比,本发明具有以下显著优点和有益效果:本发明利用角点信息从二值化图像中提取包含DM码的有效区域,再使用边缘检测算子对有效区域进行单边缘提取,得到DM码的置信单边缘图像,能够有效缩小检测区域并降低DM码提取的时间损耗及复杂度;本发明在有效区域的霍夫变换域里寻找到第一条查找模式边所对应的响应点后建立角度屏蔽区,寻找到角度屏蔽区之外的第二条查找模式边所对应的响应点,进而定位DM码的两条查找模式边,能够提高定位质量并有效排除无效区域的搜索;本发明通过对DM码有效区域的霍夫变换域的参数空间加权,对加权后的参数空间进行最大值检测,能有效避免局部最大值导致的直线检测干扰;本发明对霍夫变换域的参数空间进行最大值检测时,针对DM码存在严重污损的情况,提出使用一种霍夫变换投票查找方法,选取包含边缘像素数量最多的直线作为查找模式边所在的直线,其结合了霍夫变换域与单边缘,能够有效避免将查找模式边定位在数据区的错误;本发明通过旋转带方向的像素累加器获取DM码的两条切换模式边并定位DM码的第四个定位点,能够提高定位切换模式边的精确度;本发明针对当DM码的切换模式边受到损毁或污染而导致某些模块为非矩形时,通过记录切换模式边上模块的切换次数补正DM码的分段长度,属于一种动态切换模式边统计方法,能够实现DM码的高质量还原;本发明通过对模块切换坐标位置的对应长度进行频率统计,将出现频率最高的长度作为分段长度,能够有效解决因切换模式边模块间的粘连而产生的DM码提取错误。附图说明以下结合附图,对本发明的实施例进行详细的描述,其中:图1为本发明的流程图;图2为本发明的一个实施例步骤S2中基于“核”查找器的区域生长法设置的步骤流程图;图3为本发明的一个实施例步骤S2中基于“核”查找器的区域生长法的示意图;图4为本发明的一个实施例步骤S2中行统计法设置的步骤流程图;图5为本发明的一个实施例步骤S2中对二值化图像进行区域划分的示意图;图6为本发明的一个实施例步骤S2中坐标投影法设置的步骤流程图;图7为本发明的一个实施例步骤S2中对所有膨胀后的横、纵坐标值的重叠区域进行提取的示意图;图8为本发明的步骤S4的流程图;图9为本发明的一个实施例步骤S43中的加权模版的一个优选实施例;图10为DM码存在严重污损情况的示意图;图11为DM码存在严重污损情况下查找模式边检测错误示意图;图12为本发明的一个实施例步骤S43和/或步骤S45中选取包含边缘像素数量最多的直线作为查找模式边所在的直线的示意图;图13本发明的步骤S5的流程图;图14为本发明的一个实施例步骤S5中使用旋转带方向的像素累加器寻找切换模式边的示意图;图15为本发明的步骤S6的流程图;图16为本发明的步骤S62的流程图;图17为本发明根据步骤S62得到正确的DM码分段长度再对DM进行网格划分的一个实施例的结果示意图;图18为本发明步骤S622中判断像素值从0到1或从1到0时是否为一次切换时引入一个延迟计数器用于记录相同像素值的个数的流程示意图;图19为当切换模式边在流通过程中被污损从而切换模式边的模块间产生粘连的示意图;图20为本发明步骤S625和/或步骤S626中通过对模块切换坐标位置的对应长度进行频率统计,将出现频率最高的长度作为分段长度,然后根据补正后的分段长度对DM进行还原的示意图;图21为本发明的一种DM定位及识别的系统的结构图。具体实施方式在实施本发明之前,首先需要使用图像采集装置采集包含DM码的原图像。根据本发明的第一方面,提供一种DM码定位及识别的方法。图1所示为根据本发明的一种DM码定位及识别的方法的一个实施例,包括如下步骤:S1、获取原图像的二值化图像。通常摄像机采集的原图像为8位灰度图像,即使采集原图像为8位彩色图像,通常也需将8位彩色图像转换为8位灰度图像。在灰度图像中进行二值化操作,即将灰度划分为0~255共256级灰度,并选择灰度阈值,将灰度图像中灰度值大于灰度阈值的置1,将灰度图像中灰度值小于灰度阈值的置0,从而获取原图像的二值化图像。S2、从二值化图像中提取包含DM码的有效区域。所述有效区域为DM码的粗定位区域,其中可以包含一个或一个以上的DM码。S3、对有效区域进行单边缘提取,得到DM码的置信单边缘图像。S4、通过置信单边缘图像得到有效单边缘图像,并对有效单边缘图像进行霍夫变换,在霍夫变换域的参数空间里寻找到第一条查找模式边所对应的响应点后建立角度屏蔽区,寻找到角度屏蔽区之外的第二条查找模式边所对应的响应点,进而定位DM码的两条查找模式边,并获取DM码第一、第二条查找模式边端点处的三个定位点。S5、通过旋转带方向的像素累加器获取DM码的两条切换模式边,并求解这两条切换模式边交点处的第四个定位点。S6、根据DM码的四个定位点,对DM码进行反透视变换,还原得到标准DM码图像,并对标准DM码图像进行网格划分。S7、对网格划分后的DM码进行码字提取,还原码字信息。根据本发明的一种DM码定位及识别的方法的一个实施例,步骤S1可使用OTSU算子获取原图像的二值化图像。根据本发明的一种DM码定位及识别的方法的一个实施例,步骤S1可使用分块OTSU算子获取原图像的二值化图像。所述分块OTSU算子设置为先将灰度图像分成许多子块,再分别计算每个子块的阈值,其可在一定程序上提高原图像光照不均时的二值化效果。根据本发明的一种DM码定位及识别的方法的一个实施例,步骤S1可使用改进的Wellner自适应二值化算子获取原图像的二值化图像。所述改进的Wellner自适应二值化算子用统计方形区域代替Wellner二值化方法的统计单行,所述方形区域边长为3个像素。为了本发明以下实施例的描述更清楚,附图中的一部分二值化DM码使用了灰度显示,以便于突出显示在二值化DM码上所进行的操作。根据本发明的一种DM码定位及识别的方法的一个实施例,步骤S2可使用基于“核”查找器的区域生长法从二值化图像中提取包含DM码的有效区域,所述基于“核”查找器的区域生长法仅对角点信息响应,如图2所示,其设置为包括如下步骤:S21、提取二值化图像的角点。其中,可使用SUSAN算子或Harris算子提取二值化图像的角点。优选地,使用Harris算子提取二值化图像的角点。S22、定位角点的最大响应区域。如图3所示,角点的最大响应区域落在以O为中心、originRadius为初始半径包含大量角点信息的正方形内,并定义正方形的左边、上边、右边和下边分别为a、b、c、d边。此步骤中的最大响应区域为DM码的有效区域的一部分。S23、最大响应区域的各条边a、b、c、d分别朝着背离最大响应区域的方向以生长半径Ra、Rb、Rc、Rd为步长独立绘制对应边的矩形,所述生长半径的值大于等于5个像素长度且小于等于50个像素长度。S24、设定第一阈值,若某一个或几个矩形范围内包含的角点数量大于第一阈值,则将对应的矩形作为DM码的有效区域的一部分后更新最大响应区域的边长,并继续沿对应方向以生长半径为步长独立绘制对应边的矩形,否则终止对应方向有效区域的生长,直到搜寻结束或生长区域触碰图片边界,所述第一阈值的大小为大于等于10且小于等于100。进一步,优选地,上述实施例中最大响应区域各条边的生长半径的值可以相同或者各不相同。进一步,优选地,上述实施例步骤S23中生长半径的值为10个像素长度。进一步,优选地,上述实施例步骤S24中第一阈值的大小设定与生长半径有关,生长半径越小则第一阈值越小。优选地,在生长半径的值设定为10个像素长度时,第一阈值的大小优选地设定为20。根据本发明的一种DM码定位及识别的方法的一个实施例,步骤S2可使用行统计法从二值化图像中提取包含DM码的有效区域,所述行统计法仅对角点信息响应,如图4所示,其设置为包括如下步骤:S21、提取二值化图像的角点。其中,可使用SUSAN算子或Harris算子提取二值化图像的角点。优选地,使用Harris算子提取二值化图像的角点。S22、对二值化图像进行区域划分,如图5所示,不同区域的大小相同所述区域的边长长度为大于等于8个像素且小于等于32个像素长度。S23、统计每个区域内的角点数量,以图5中角点最密集的区域作为起点区域,并设定第二阈值,此步骤中起点区域为DM码的有效区域的一部分,所述第二阈值的大小为大于等于10且小于等于100;S24、将起点区域所在行作为搜索行,在起点区域X轴的左、右方向上独立进行搜索,若邻接区域的角点数量大于第二阈值,则将相应的邻接区域作为DM码的有效区域的一部分,并继续沿对应方向搜索判断,否则终止对应方向有效区域的搜索;S25、将搜索行不断上移一行,即沿Y轴的负方向搜索,并将上一搜索行中有效区域的两个端点区域与一个中点区域独立作为新的起点区域,重复步骤S24,直到新的起点区域的角点数量均小于第二阈值;S26、将步骤S24中搜索行不断下移一行,即沿Y轴的正方向搜索,并将上一搜索行中有效区域的两个端点区域与一个中点区域独立作为新的起点区域,重复步骤S24,直到新的起点区域的角点数量均小于第二阈值。进一步,优选地,上述实施例步骤S22中所述区域的边长长度为8个像素长度。进一步,优选地,上述实施例步骤S23中所述第二阈值的大小为20。根据本发明的一种DM码定位及识别的方法的一个实施例,步骤S2可使用坐标投影法从二值化图像中提取包含DM码的有效区域,所述坐标投影法仅对角点信息响应,如图6所示,其设置为包括如下步骤:S21、提取二值化图像的角点。其中,可使用SUSAN算子或Harris算子提取二值化图像的角点。优选地,使用Harris算子提取二值化图像的角点。S22、统计所有角点对应的X、Y坐标值。S23、设定第三阈值,并对所有的坐标值进行一维膨胀操作,当最大连通域的长度大于其它连通域长度的第三阈值倍时停止膨胀操作。所述第三阈值,优选地,为0.5。S24、对所有膨胀后的横、纵坐标值的重叠区域进行提取,如图7所示,得到DM码的有效区域。根据本发明的一种DM码定位及识别的方法的一个实施例,在步骤S2之后,可以对DM码的有效区域进行滤波预处理,以滤出噪声。所述滤波预处理,优选地,使用中值滤波器对有效区域进行预处理。根据本发明的一种DM码定位及识别的方法的一个实施例,步骤S3可使用canny边缘检测算子对有效区域进行单边缘提取,得到DM码的置信单边缘图像。根据本发明的一种DM码定位及识别的方法的一个实施例,如图8所示,步骤S4包括如下步骤:S41、获取DM码有效区域的宽度和高度,若宽度与高度的比值基本满足正方形条件,则对置信单边缘图像进行挖空操作,以排除DM码中远离探测图形的数据区,否则不进行挖空操作,最终得到有效单边缘图像。所述基本满足正方形条件在本方法中是指宽度与高度的比值在1~1.3之间。S42、对有效单边缘图像进行霍夫变换,得到霍夫变换域的参数空间。进行霍夫变换时优选的角度步长为1°,优选的角度范围为-90°~180°。S43、对霍夫变换域的参数空间进行最大值检测,获取最大响应点对应的中心像素值,中心像素值所对应的参数即为第一条查找模式边的直线参数;S44、在霍夫变换域的参数空间建立角度屏蔽区。优选地,角度屏蔽区为以第一条查找模式边的角度为中心、半径为30°的范围,并且与第一条查找模式边的角度互补的角度也包括在内,如直线a对应的角度为-30°,则150°附近不存在第二条查找模式边对应的角度。S45、在角度屏蔽区之外对霍夫变换域的参数空间进行最大值检测,获取最大响应点对应的中心像素值,中心像素值所对应的参数即为第二条查找模式边的直线参数;S46、获取DM码第一、第二条查找模式边端点处的三个定位点,所述三个定位点包括第一、第二条查找模式边的交点与第一、第二条查找模式边的另外两个端点。根据本发明的一种DM码定位及识别的方法的一个实施例,步骤S43和/或步骤S45中对霍夫变换域的参数空间进行最大值检测时,若DM码如图9所示存在严重污损,可使用霍夫变换投票查找方法来避免如图10所示的查找模式边检测错误,其设置为:首先,搜寻霍夫变换域的参数空间,若DM码出现严重污损则通过模板对参数空间进行加权,以有效避免局部最大值导致的直线检测干扰,优选地,加权模板如图11所示,在加权后的参数空间进行最大值检测,获取最大响应点对应的中心像素值坐标;其次,以该坐标为中心,建立参数空间距离方向的搜索区,所述搜索区半径为r,所述半径r的值为3°~10°;再次,在搜索区内检索M-1个次大响应点并记录其坐标,所述M的值为大于等于5且小于等于10;再次,在有效单边缘图像中搜索获取的M个响应点所对应的直线,并计算这M条直线上分别包含的边缘像素数量;最后,选取包含边缘像素数量最多的直线作为查找模式边所在的直线,如图12所示,并以此直线所定义的参数作为最大响应点的参数。进一步,优选地,上述实施例步骤S43和/或步骤S45中所述半径r的值为5°。进一步,优选地,上述实施例步骤S43和/或步骤S45中所述M的值为5。根据本发明的一种DM码定位及识别的方法的一个实施例,如图13所示,步骤S5包括如下步骤:S51、使用旋转带方向的像素累加器寻找到第一条切换模式边,所述旋转带方向的像素累加器设置为以第一条查找模式边的端点为顶点B,以具有固定半径的第一旋转线段从第一条查找模式边开始绕着顶点B在有效区域旋转,方向如图14a所示,当第一旋转线段旋转到BD1的位置上时其上各像素点的累加值为0,此时的第一旋转线段为第一条切换模式边的外边缘的一部分或部分重合,优选地所述固定半径为第一/第二切换模式边长度的一半或为B、C两个端点连线距离的1/1.414倍的一半。S52、使用旋转带方向的像素累加器寻找到第二条切换模式边,所述旋转带方向的像素累加器设置为以第二条查找模式边的端点为顶点C,方向如图14b,所示以具有固定半径的第二旋转线段从第二条查找模式边开始绕着顶点C在有效区域旋转,当第二旋转线段旋转到CD2的位置上时其上各像素点的累加值为0,此时的第二旋转线段为第二条切换模式边的外边缘的一部分或部分重合;S53、将第一旋转线段与第二旋转线段的交点或延长线的交点D作为DM码的第四个定位点,如图14c所示。根据本发明的一种DM码定位及识别的方法的一个实施例,如图15所示,步骤S6包括如下步骤:S61、根据DM码的四个定位点,对DM码进行反透视变换,还原得到标准DM码图像;S62、通过标准DM码图像的切换模式边,得到标准DM码图像的稳定分段长度,如图16的流程图所示,步骤S622中判断像素值从0到1或从1到0时是否为一次切换时,可引入一个延迟计数器用于记录相同像素值的个数,并定义一个待写入区flag,若像素值发生变化则将flag置高位,且延迟记录器记录的相同像素值的个数大于第四阈值T4时,则此时已经满足切换条件,记录分段坐标,所述第四阈值为记录器中出现相同像素值的个数为最大时的长度。此时因为已延迟第四阈值T4个像素,故写入坐标位置需要调整第四阈值T4个像素位置;S63、根据分段长度,对标准DM码图像进行网格划分。当DM码的切换模式边受到损毁或污染而导致某些模块为非矩形时,若根据DM码图像的切换模式边,直接得到它的分段长度容易导致错误。因此根据本发明的一种DM码定位及识别的方法的一个实施例,如图17所示,步骤S62包括如下步骤:S621、以第一条切换模式边的外边缘所在直线为初始搜索线;S622、记录像素值从0到1或从1到0的切换次数;S623、以固定的像素数量为步长不断平行移动搜索线,方向为朝着搜索线对面的查找模式边,重复步骤S622获取并记录n次模块切换次数,其中n等于搜索边平行移动的次数;S624、在平行移动次数n大于或等于采样次数N时,比较记录的n次模块切换次数,若n个模块切换次数均相同,认为模块切换次数已经稳定,否则替换较早的模块切换次数,以当前搜索线为初始位置,重复上述步骤,得到第一条切换模式边上所有数据区的切换次数,即所有黑白模块的数量;S625、根据步骤S624中得到的模块切换次数,记录模块发生切换的中点,进而得到标准DM码图像平行于第一条切换模式边的所有数据区的稳定分段长度;S626、以第二条切换模式边的外边缘所在直线为初始搜索线,重复上述步骤,标准DM码图像平行于第二条切换模式边的所有数据区的稳定分段长度。当DM码的切换模式边受到损毁或污染而导致某些模块为非矩形时,通过上述步骤得到正确的DM码分段长度再对DM进行网格划分的结果如图18所示。如图19所视为当切换模式边在流通过程中被污损从而切换模式边的模块间产生粘连,例如被污损的切换模式边BD有5个模块粘连在一起,CD边有三个模块粘连在一起,这将导致记录的DM码分段长度产生错误,如表1和表2所示。其中模块序号方向如图19所示。表1BD切换模式边分段长度数据模块序号0123456789101112模块长度01224354759708092103115173185模块序号13141516171819202122232425模块长度196208220231243255265279289299表2CD切换模式边分段长度数据模块序号0123456789101112模块长度299287274265252240229194183172160149138模块序号13141516171819202122232425模块长度1251141039180675844322190表1显示DM码的BD切换模式边的模块划分个数为23,平均每个模块的分段长度为12个像素单位,第10~11个模块因模块粘连导致两个划分数据跨越5个模块单元。同理,表2显示DM码的CD切换模式边的模块划分个数为25,第6~7个模块跨越3个模块单元。上述分段数据将导致码字提取错误,且BD切换模式边与CD切换模式边的模块划分个数不相同,最终导致DM码提取失败。因此根据本发明的一种DM码定位及识别的方法的一个实施例,步骤S625和/或步骤S626中得到标准DM码图像的稳定分段长度,可通过对模块切换坐标位置的对应长度进行频率统计,将出现频率最高的长度作为分段长度。表3为上述BD切换模式边的模块分段长度和频数的统计表,如表所示,长度为12个像素的模块出现次数最多,则认为该模块长度占用的像素个数12为基准模块长度。并设定阈值T5,优选地,T5设置为1.5,即模块最大长度为12*1.5=18,并将大于18个像素单位的模块进行划分操作,划分次数为当前模块长度除以基准模块长度。例如某个模块长度为58个像素,58>18,58/12=4.83≈5,则将其进行5等分划分,划分的平均长度为12个像素。依照上述方法,将上述BD切换模式边重新进行分段,其分段长度数据如表4所示。对CD边进行上述相同步骤的划分操作,计算得到CD边的分段数据,并根据分段数据进行划分操作,得到还原的标准DM码,如图20所示。表3长度1011121458频数441011表4模块序号0123456789101112模块长度01224354759708092103115127139模块序号13141516171819202122232425模块长度151163173185196208220231243255265279289模块序号26272829303132333435363738模块长度299根据本发明的第二方面,提供一种DM码定位及识别的系统,包括:第一模块,设置为获取原图像的二值化图像;第二模块,设置为从二值化图像中提取包含DM码的有效区域;第三模块,设置为对有效区域进行单边缘提取,得到DM码的置信单边缘图像;第四模块,设置为通过置信单边缘图像得到有效边缘图像,并对有效单边缘图像进行霍夫变换,在霍夫变换域的参数空间里寻找到第一条查找模式边所对应的响应点后建立角度屏蔽区,寻找到角度屏蔽区之外的第二条查找模式边所对应的响应点,进而定位DM码的两条查找模式边,并获取DM码第一、第二条查找模式边端点处的三个定位点;第五模块,设置为通过旋转带方向的像素累加器获取DM码的两条切换模式边,并求解这两条切换模式边交点处的第四个定位点;第六模块,设置为根据DM码的四个定位点,对DM码进行反透视变换,还原得到标准DM码图像,并对标准DM码图像进行网格划分;第七模块,设置为对网格划分后的DM码进行码字提取,还原码字信息。图21所示为根据本发明的第三方面,提供一种DM定位及识别的系统,其特征在于,包括:图像采集装置、处理器、存储器、显示器,所述图像采集装置采集包含DM码的原图像,所述处理器发出的指令用于上述任一项所述的方法,所述存储器用于存储上述任一项所述的方法的数据或中间数据以及用于执行上述任一项所述的方法的指令,所述显示器用于显示上述任一项所述的方法的结果。以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,都应属于本发明的保护范围。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。即使个别的技术特征在不同的权利要求中引用,本发明还可包含共有这些特征的实施例。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1