本公开提供了一种DM码的解码方法、电子设备、存储介质及程序产品,涉及计算机技术领域,旨在高效、精确地识别DM码所在区域,进而对DM码进行解码。所述方法包括:根据原始图像中每个像素点的梯度,确定DM码的两条实边;根据所述DM码的两条实边,确定所述DM码所在的图像区域;对所述DM所在的图像区域进行解码,得到所述DM码的解码结果。述DM码的解码结果。述DM码的解码结果。
【技术实现步骤摘要】
DM码的解码方法、电子设备、存储介质及程序产品
[0001]本公开涉及计算机
,特别是涉及一种DM码的解码方法、电子设备、存储介质及程序产品。
技术介绍
[0002]DM(Datamatrix)码是一种矩阵二维码,具有信息密度大、尺寸小、容错率高、抗污损能力强等特点,在工业领域得到了广泛的应用。为了获取DM码包含的信息,需要识别DM码所在的图像区域,然后对识别出来的DM码进行解码。
[0003]相关技术中识别DM码所在的图像区域的方法,存在效率低下、准确度不高的问题。例如,需要先对原始图像进行滤波、二值化等预处理,最后对二值化的图像查找直线,其中直线的查找定位精度不高,二值化图像容易存在锯齿现象,且存在大量的复杂处理过程,效率不高。又例如,需要提取图像的特征图,在图像的特征图中进行特征检测,效率不高。因此,急需一种快速、准确地识别DM码所在区域,进而对DM码进行解码的方法。
技术实现思路
[0004]鉴于上述问题,本公开实施例提供了一种DM码的解码方法、电子设备、存储介质及程序产品,以便克服上述问题或者至少部分地解决上述问题。
[0005]本公开实施例的第一方面,提供了一种DM码的解码方法,包括:
[0006]根据原始图像中每个像素点的梯度,确定DM码的两条实边;
[0007]根据所述DM码的两条实边,确定所述DM码所在的图像区域;
[0008]对所述DM码所在的图像区域进行解码,得到所述DM码的解码结果。
[0009]可选地,还包括:
[0010]检测所述原始图像中的目标图像区域,所述目标图像区域为包含所述DM码的图像区域;
[0011]计算所述目标图像区域中的每个像素点的梯度值和梯度方向;
[0012]所述DM码的每一条实边是按照以下步骤确定的:
[0013]根据所述目标图像区域中的每个像素点的梯度值和梯度方向,确定位于每条实边上的目标种子点,所述目标种子点的梯度值大于所述目标种子点的梯度方向上前后两个像素点的梯度值;
[0014]针对位于每条实边上的目标种子点,沿所述目标种子点的梯度方向的切向方向查找多个像素点,得到所述多个像素点组成的像素链,所述多个像素点的梯度值大于梯度阈值且属于区域极值;
[0015]根据一个目标种子点及该目标种子点对应的像素链,确定所述DM码的一条实边。
[0016]可选地,沿所述目标种子点的梯度方向的切向方向查找多个像素点,得到所述多个像素点组成的像素链,包括:
[0017]沿所述目标种子点的梯度的切向方向查找多个像素点,并获取查找到的每个像素
点的梯度方向;
[0018]在查找到的一个像素点的梯度方向与所述目标种子点的梯度方向相差大于或等于90度的情况下,停止查找,得到所述多个像素点组成的像素链。
[0019]可选地,根据一个目标种子点及该目标种子点对应的像素链,确定所述DM码的一条实边,包括:
[0020]获取所述目标种子点对应的像素链上,距离所述目标种子点最近的多个像素点;
[0021]对所述目标种子点和所述最近的多个像素点进行直线拟合,得到粗定位直线;
[0022]沿所述目标种子点对应的像素链,查找所述目标图像区域中与所述目标种子点的距离发生突变的像素点,将该像素点的上一像素点确定为所述目标种子点所在的实边的端点;
[0023]根据所述粗定位直线和所述端点,确定所述DM码的一条实边。
[0024]可选地,还包括:
[0025]根据所述目标种子点对应的像素链上每个像素点到所述粗定位直线的距离,对所述目标种子点对应的像素链上的各个像素点进行筛选;
[0026]对筛选后剩余的多个像素点进行直线拟合,得到精定位直线;
[0027]根据所述粗定位直线和所述端点,确定所述DM码的一条实边,包括:
[0028]根据所述精定位直线和所述端点,确定所述DM码的一条实边。
[0029]可选地,计算所述目标图像区域中的每个像素点的梯度值和梯度方向,包括:
[0030]计算所述目标图像区域中的每个像素点的水平梯度值和垂直梯度值;
[0031]将所述目标图像区域中的每个像素点的所述水平梯度值和所述垂直梯度值之和,作为该像素点的梯度值;
[0032]根据所述目标图像区域中的每个像素点的水平梯度值和垂直梯度值进行估算,得到该像素点的梯度方向。
[0033]可选地,根据所述目标图像区域中的每个像素点的梯度值和梯度方向,确定位于每条实边上的目标种子点,包括:
[0034]确定水平梯度值大于水平方向上前后两个像素点的水平梯度值的多个种子点,以及,确定垂直梯度值大于垂直方向上前后两个像素点的垂直梯度值的多个种子点;
[0035]对所述目标图像区域进行边缘检测,得到边缘;
[0036]将所有种子点中位于边缘的种子点确定为目标种子点。
[0037]可选地,根据所述DM码的两条实边,确定所述DM码所在的图像区域,包括:
[0038]根据平行四边形法则以及所述DM码的两条实边,得到所述DM码的两条虚边;
[0039]将所述原始图像中,所述DM码的两条实边和两条虚边所围成的图像区域,确定为所述DM码所在的图像区域。
[0040]可选地,对所述DM码所在的图像区域进行解码,得到所述DM码的解码结果,包括:
[0041]根据围成所述DM码所在的图像区域的两条虚边各自的黑白变化的次数,确定所述DM码的模式;
[0042]对所述DM码所在的图像区域进行二值化处理,得到处理后的图像区域;
[0043]根据所述DM码的模式,对所述处理后的图像区域进行解码,得到所述DM码的解码结果。
[0044]本公开实施例的第二方面,提供了一种电子设备,包括存储器、处理器及存储在所述存储器上的计算机程序,所述处理器执行所述计算机程序以实现如本公开实施例公开的所述的DM码的解码方法。
[0045]本公开实施例的第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序/指令,该计算机程序/指令被处理器执行时实现如本公开实施例公开的所述的DM码的解码方法。
[0046]本公开实施例的第四方面,提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现如本公开实施例公开的所述的DM码的解码方法。
[0047]本公开实施例包括以下优点:
[0048]本实施例中,根据原始图像中每个像素点的梯度,确定DM码的两条实边;根据所述DM码的两条实边,确定所述DM码所在的图像区域;对所述DM所在的图像区域进行解码,得到所述DM码的解码结果。其中,直接对原始图像进行处理,具有效率高的优点,根据原始图像中每个像素点的梯度,确定DM码的实边,具有精度高的优点。因此,实现了高效、精确地对DM码所在的图像区域进行解码,得到DM码的解码结果。
附图说明
[0049]为了更清楚地说明本公开实本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种DM码的解码方法,其特征在于,包括:根据原始图像中每个像素点的梯度,确定DM码的两条实边;根据所述DM码的两条实边,确定所述DM码所在的图像区域;对所述DM码所在的图像区域进行解码,得到所述DM码的解码结果。2.根据权利要求1所述的方法,其特征在于,还包括:检测所述原始图像中的目标图像区域,所述目标图像区域为包含所述DM码的图像区域;计算所述目标图像区域中的每个像素点的梯度值和梯度方向;所述DM码的每一条实边是按照以下步骤确定的:根据所述目标图像区域中的每个像素点的梯度值和梯度方向,确定位于每条实边上的目标种子点,所述目标种子点的梯度值大于所述目标种子点的梯度方向上前后两个像素点的梯度值;针对位于每条实边上的目标种子点,沿所述目标种子点的梯度方向的切向方向查找多个像素点,得到所述多个像素点组成的像素链,所述多个像素点的梯度值大于梯度阈值且属于区域极值;根据一个目标种子点及该目标种子点对应的像素链,确定所述DM码的一条实边。3.根据权利要求2所述的方法,其特征在于,沿所述目标种子点的梯度方向的切向方向查找多个像素点,得到所述多个像素点组成的像素链,包括:沿所述目标种子点的梯度的切向方向查找多个像素点,并获取查找到的每个像素点的梯度方向;在查找到的一个像素点的梯度方向与所述目标种子点的梯度方向相差大于或等于90度的情况下,停止查找,得到所述多个像素点组成的像素链。4.根据权利要求2或3所述的方法,其特征在于,根据一个目标种子点及该目标种子点对应的像素链,确定所述DM码的一条实边,包括:获取所述目标种子点对应的像素链上,距离所述目标种子点最近的多个像素点;对所述目标种子点和所述最近的多个像素点进行直线拟合,得到粗定位直线;沿所述目标种子点对应的像素链,查找所述目标图像区域中与所述目标种子点的距离发生突变的像素点,将该像素点的上一像素点确定为所述目标种子点所在的实边的端点;根据所述粗定位直线和所述端点,确定所述DM码的一条实边。5.根据权利要求4所述的方法,其特征在于,还包括:根据所述目标种子点对应的像素链上每个像素点到所述粗定位直线的距离,对所述目标种子点对应的像素链上的各个像素点进行筛选;对筛选后剩余的多个像素点进行直线拟合,得到精定位直线;根据所述粗定位直线和所述端点,确定所述DM码的一条实边,包括:根据所述精定位直线...
【专利技术属性】
技术研发人员:王超,
申请(专利权)人:北京旷视机器人技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。