CN113313226B - 用于确定dm码版本信息的方法及装置、设备、存储介质 - Google Patents
用于确定dm码版本信息的方法及装置、设备、存储介质 Download PDFInfo
- Publication number
- CN113313226B CN113313226B CN202110861611.5A CN202110861611A CN113313226B CN 113313226 B CN113313226 B CN 113313226B CN 202110861611 A CN202110861611 A CN 202110861611A CN 113313226 B CN113313226 B CN 113313226B
- Authority
- CN
- China
- Prior art keywords
- modules
- determining
- code
- size
- version information
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/06009—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
- G06K19/06037—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/06009—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
- G06K19/06046—Constructional details
- G06K19/06131—Constructional details the marking comprising a target pattern, e.g. for indicating the center of the bar code or for helping a bar code reader to properly orient the scanner or to retrieve the bar code inside of an image
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
Abstract
本申请涉及图像处理与识别技术领域,公开一种用于确定DM码版本信息的方法,包括:获取DM码的L边的位置特征信息;根据位置特征信息拟合DM码的铁路线的轮廓;根据位置特征信息和铁路线的轮廓确定DM码的四条边界直线;根据边界直线确定DM码的角点的坐标;确定铁路线中预设类型的第一模块的数量,并根据角点的坐标确定各第一模块的大小;根据第一模块的数量和第一模块的大小确定DM码版本信息。在获取DM码版本信息时,由于考虑了DM码的第一模块的数量和第一模块的大小,根据第一模块的数量和第一模块的大小确定DM码版本信息,这样能够更准确的获取DM码版本信息。本申请还公开一种用于确定DM码版本信息的装置及DM码识别设备、存储介质。
Description
技术领域
本申请涉及图像处理与识别技术领域,例如涉及一种用于确定DM码版本信息的方法及装置、DM码识别设备、存储介质。
背景技术
随着物流管理和信息传递的自动化程度提高,DM(Data Matrix,数据矩阵)码作为主流二维码之一在生产、生活中的应用越来越广泛。但日常生活中经常会出现DM码图像失焦、码图精度低、图案被污损等情况,这些问题导致DM码的解码率较低。现有技术通常通过获取DM码的版本信息对DM码进行解码,以此提高DM码的解码率。
在实现本公开实施例的过程中,发现相关技术中至少存在如下问题:由于日常生活中通常存在DM码图像失焦、码图精度低、图案被污损等情况,现有技术在获取DM码的版本信息时只考虑了DM码的模块的数量,导致获取DM码的版本信息准确性较差。
发明内容
为了对披露的实施例的一些方面有基本的理解,下面给出了简单的概括。所述概括不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围,而是作为后面的详细说明的序言。
本公开实施例提供了一种用于确定DM码版本信息的方法及装置、DM码识别设备、存储介质,以能够更准确的获取DM码的版本信息。
在一些实施例中,所述用于确定DM码版本信息的方法,包括:获取DM码的L边的位置特征信息;根据所述位置特征信息拟合所述DM码的铁路线的轮廓;所述铁路线由黑白交替的模块组成;根据所述位置特征信息和所述铁路线的轮廓确定所述DM码的四条边界直线;根据所述边界直线确定所述DM码的角点的坐标;确定所述铁路线中预设类型的第一模块的数量,并根据所述角点的坐标确定各所述第一模块的大小;根据所述第一模块的数量和所述第一模块的大小确定DM码版本信息。
在一些实施例中,所述用于确定DM码版本信息的装置包括:获取模块,被配置为获取DM码的L边的位置特征信息;拟合模块,被配置为根据所述位置特征信息拟合所述DM码的铁路线的轮廓;所述铁路线由黑白交替的模块组成;第一确定模块,被配置为根据所述位置特征信息和所述铁路线的轮廓确定DM码的四条边界直线;角点计算模块,被配置为根据所述边界直线确定所述DM码的角点的坐标;第二确定模块,被配置为确定所述铁路线中预设类型的第一模块的数量,并根据所述角点的坐标确定各所述第一模块的大小;版本估算模块,被配置为根据所述第一模块的数量和所述第一模块的大小确定DM码版本信息。
在一些实施例中,所述用于确定DM码版本信息的装置包括:处理器和存储有程序指令的存储器,所述处理器被配置为在执行所述程序指令时,执行上述用于确定DM码版本信息的方法。
在一些实施例中,所述DM码识别设备包括上述的用于确定DM码版本信息的装置。
在一些实施例中,所述存储介质存储有程序指令,所述程序指令在运行时,执行上述的用于确定DM码版本信息的方法。
本公开实施例提供的用于确定DM码版本信息的方法及装置、DM码识别设备、存储介质,可以实现以下技术效果:通过获取DM码的L边的位置特征信息;根据位置特征信息拟合DM码的铁路线的轮廓;铁路线由黑白交替的模块组成;根据位置特征信息和铁路线的轮廓确定DM码的四条边界直线;根据边界直线确定DM码的角点的坐标;确定铁路线中预设类型的第一模块的数量,并根据角点的坐标确定各第一模块的大小;根据第一模块的数量和第一模块的大小确定DM码版本信息。在获取DM码版本信息时,由于考虑了DM码的第一模块的数量和第一模块的大小,根据第一模块的数量和第一模块的大小确定DM码版本信息,这样能够更准确的获取DM码版本信息。
以上的总体描述和下文中的描述仅是示例性和解释性的,不用于限制本申请。
附图说明
一个或多个实施例通过与之对应的附图进行示例性说明,这些示例性说明和附图并不构成对实施例的限定,附图中具有相同参考数字标号的元件示为类似的元件,附图不构成比例限制,并且其中:
图1是本公开实施例提供的一个用于确定DM码版本信息的方法的示意图;
图2是本公开实施例提供的一个DM码结构的示意图;
图3是本公开实施例提供的另一个DM码结构的示意图;
图4是本公开实施例提供的一个用于确定第一模块的大小的方法的示意图;
图5是本公开实施例提供的另一个用于确定第一模块的大小的方法的示意图;
图6是本公开实施例提供的另一个用于确定DM码版本信息的方法的示意图;
图7是本公开实施例提供的一个用于确定DM码版本信息的装置的示意图;
图8是本公开实施例提供的另一个用于确定DM码版本信息的装置的示意图。
具体实施方式
为了能够更加详尽地了解本公开实施例的特点与技术内容,下面结合附图对本公开实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本公开实施例。在以下的技术描述中,为方便解释起见,通过多个细节以提供对所披露实施例的充分理解。然而,在没有这些细节的情况下,一个或多个实施例仍然可以实施。在其它情况下,为简化附图,熟知的结构和装置可以简化展示。
本公开实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开实施例的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。
除非另有说明,术语“多个”表示两个或两个以上。
本公开实施例中,字符“/”表示前后对象是一种“或”的关系。例如,A/B表示:A或B。
术语“和/或”是一种描述对象的关联关系,表示可以存在三种关系。例如,A和/或B,表示:A或B,或,A和B这三种关系。
术语“对应”可以指的是一种关联关系或绑定关系,A与B相对应指的是A与B之间是一种关联关系或绑定关系。
结合图1所示,本公开实施例提供一种用于确定DM码版本信息的方法,包括:
步骤S101,获取DM码的L边的位置特征信息。
步骤S102,根据位置特征信息拟合DM码的铁路线的轮廓;铁路线由黑白交替的模块组成。
步骤S103,根据位置特征信息和铁路线的轮廓确定DM码的四条边界直线。
步骤S104,根据边界直线确定DM码的角点的坐标。
步骤S105,确定铁路线中预设类型的第一模块的数量,并根据角点的坐标确定各第一模块的大小。
步骤S106,根据第一模块的数量和第一模块的大小确定DM码版本信息。
采用本公开实施例提供的用于确定DM码版本信息的方法,通过获取DM码的L边的位置特征信息;根据位置特征信息拟合DM码的铁路线的轮廓;铁路线由黑白交替的模块组成;根据位置特征信息和铁路线的轮廓确定DM码的四条边界直线;根据边界直线确定DM码的角点的坐标;确定铁路线中预设类型的第一模块的数量,并根据角点的坐标确定各第一模块的大小;根据第一模块的数量和第一模块的大小确定DM码版本信息。在获取DM码版本信息时,由于考虑了DM码的第一模块的数量和第一模块的大小,根据第一模块的数量和第一模块的大小确定DM码版本信息,这样能够更准确的获取DM码版本信息。
可选地,预设类型的第一模块包括黑色类型的第一模块和/或白色类型的第一模块。即,第一模块的数量为黑色类型的第一模块的数量,或,白色类型的第一模块的数量,或,黑色类型和白色类型的第一模块的总数量。
可选地,根据位置特征信息拟合DM码的铁路线的轮廓,包括:根据位置特征信息确定起始跟踪点和跟踪方向;根据起始跟踪点和跟踪方向拟合DM码的铁路线的轮廓。
可选地,位置特征信息包括L边的方向和L边的端点,根据位置特征信息确定起始跟踪点和跟踪方向,包括:将L边的端点确定为起始跟踪点,将L边的方向确定为跟踪方向。
可选地,L边包括第一L边和第二L边;L边的端点包括第一端点和第二端点。
可选地,在将第一L边的第一端点确定为起始跟踪点的情况下,将沿第二L边远离第一L边的方向确定为跟踪方向。
在一些实施例中,结合图2所示,将第一L边的第一端点确定为起始跟踪点,则将沿第二L边远离第一L边的方向确定为跟踪方向。
可选地,在将第二L边的第二端点确定为起始跟踪点的情况下,将沿第一L边远离第二L边的方向确定为跟踪方向。
在一些实施例中,结合图3所示,将第二L边的第二端点确定为起始跟踪点,则将沿第一L边远离第二L边的方向确定为跟踪方向。
可选地,根据起始跟踪点和跟踪方向拟合DM码的铁路线的轮廓,包括:根据边界跟踪算法以起始跟踪点为起点,沿跟踪方向拟合出DM码的铁路线的轮廓。
可选地,铁路线包括第一铁路线和第二铁路线。
在一些实施例中,以第一L边的第一端点为起始跟踪点,沿第二L边远离第一L边的方向拟合出DM码的第一铁路线的轮廓。
在一些实施例中,以第二L边的第二端点为起始跟踪点,沿第一L边远离第二L边的方向拟合出DM码的第二铁路线的轮廓。
可选地,根据位置特征信息和铁路线的轮廓确定DM码的边界直线,包括:根据边界跟踪算法利用位置特征信息和铁路线的轮廓确定DM码的边界直线。
可选地,根据边界直线确定DM码的角点的坐标,包括:确定两两相邻的边界直线的交点坐标;将各交点坐标分别确定为DM码的角点的坐标。
可选地,确定两两相邻的边界直线的交点坐标,包括:计算两两相邻的边界直线的方程,获得交点坐标。
可选地,两两相邻的边界直线的交点为DM码的角点。
可选地,根据以下方式确定各第一模块的大小,包括:基于DM码的二值信息确定各第一模块的大小;或,基于DM码的灰度信息确定各第一模块的大小;或,基于DM码的对比度信息确定各第一模块的大小。
可选地,基于DM码的灰度信息确定各第一模块的大小,包括:获取DM码的角点的坐标,根据角点的坐标确定各第一模块的大小。
可选地,各第一模块均为正方形;根据角点的坐标确定各第一模块的大小,包括:选取L边中同边的两个角点构造扫描线段;沿预设的扫描方向对L边中扫描线段对应的一边进行扫描,获得L边中扫描线段对应的一边的宽度;预设的扫描方向为与扫描线段垂直且朝向扫描线段平行的铁路线的方向;根据宽度分别确定各第一模块的大小。
可选地,选取L边中同边的两个角点构造扫描线段,包括:以L边中同边的两个角点为线段端点,连接两个线段端点构成扫描线段。
可选地,结合图4所示,图4为确定模块的大小的方法的示意图;沿预设的扫描方向对L边中扫描线段对应的一边进行扫描,获得L边中扫描线段对应的一边的宽度;预设的扫描方向为与扫描线段垂直且朝向扫描线段平行的铁路线的方向,包括:将L边的外边界确定为起始扫描位置,从起始扫描位置沿预设的扫描方向对L边中扫描线段对应的一边进行扫描,获得L边中扫描线段对应的一边的宽度;预设的扫描方向为与扫描线段垂直且朝向扫描线段平行的铁路线的方向;并计算该扫描线上的黑色像素占线段上所有像素的百分比;在该百分比小于预设阈值的情况下停止扫描,并将扫描线段的停止位置确定为终止扫描线。可选地,预设阈值为0.8。
可选地,结合图5所示,图5为确定模块的大小的方法的示意图;从L边的外边界上任取一点确定为起始扫描点,将垂于该L边的方向确定为扫描方向;从起始扫描点沿扫描方向向L边的内边界方向开始扫描,在起始扫描点到L边的内边界的情况下停止扫描,将起始扫描点的移动距离确定为L边的宽度。
可选地,根据宽度分别确定各第一模块的大小,包括:将宽度确定为第一模块的边长。可选地,第一模块的大小为宽度的平方。
可选地,根据第一模块的数量和第一模块的大小确定DM码版本信息,包括:在预设数据库中查找与第一模块的数量和第一模块的大小均相同的预设类型的第二模块的数量和第二模块的大小;在预设数据库中存在与第一模块的数量和第一模块的大小均相同的第二模块的数量和第二模块的大小的情况下,将查找出的第二模块的数量和第二模块的大小共同对应的备选版本信息确定为DM码版本信息;预设数据库中存储有预设类型的第二模块的数量、预设类型的第二模块的大小和备选版本信息三者之间的对应关系。
可选地,预设类型的第二模块包括黑色类型的第二模块和/或白色类型的第二模块。即,第二模块的数量为黑色类型的第二模块的数量,或,白色类型的第二模块的数量,或,黑色类型和白色类型的第二模块的总数量。第一模块的类型与第二模块的类型相同。在一些实施例中,如表1所示的预设数据库的示例表。
备选版本信息 | 预设类型的第二模块的数量 | 预设类型的第二模块的大小 |
版本信息1 | 16 | 0.8mm*0.8mm |
版本信息2 | 18 | 0.8mm*0.8mm |
版本信息3 | 20 | 0.9mm*0.9mm |
版本信息4 | 22 | 0.9mm*0.9mm |
表1
如表1所示,预设类型的第二模块的数量16和第二模块的大小0.8mm*0.8mm共同对应的备选版本信息为版本信息1;预设类型的第二模块的数量18和第二模块的大小0.8mm*0.8mm共同对应的备选版本信息为版本信息2;预设类型的第二模块的数量20和第二模块的大小0.9mm*0.9mm共同对应的备选版本信息为版本信息3;预设类型的第二模块的数量22和第二模块的大小0.9mm*0.9mm共同对应的备选版本信息为版本信息4。例如,在预设类型的第一模块的数量为20,预设类型的第一模块的大小为0.9mm*0.9mm,则在预设数据库中查找出与第一模块的数量20和第一模块的大小0.9mm*0.9mm均相同的第二模块的数量和第二模块的大小共同对应的备选版本信息为版本信息3,则确定DM码版本信息为版本信息3。
可选地,根据第一模块的数量和第一模块的大小确定DM码版本信息,包括:在预设数据库中查找与第一模块的数量和第一模块的大小均相同的第二模块的数量和第二模块的大小;在预设数据库中不存在与第一模块的数量和第一模块的大小均相同的第二模块的数量和第二模块的大小的情况下,在预设数据库中查找出大于第一模块的数量的第二模块的数量中的最小值;将查找出的第二模块的数量对应的备选版本信息确定为DM码版本信息;预设数据库中存储有预设类型的第二模块的数量、预设类型的第二模块的大小和备选版本信息三者之间的对应关系。
在一些实施例中,如表1所示,例如:在预设数据库中查找与第一模块的数量21,第一模块的大小0.9mm*0.9mm均相同的第二模块的数量和第二模块的大小,由于预设数据库中不存在与第一模块的数量和第一模块的大小均相同的第二模块的数量和第二模块的大小;则在预设数据库中查找出大于第一模块的数量21的第二模块的数量中的最小值为22,将查找出的第二模块的数量22对应的版本信息4确定为DM码版本信息。
这样,在预设数据库中没有与预设类型的第一模块的数量和预设类型的第一模块的大小共同对应的备选版本信息的情况下,通过将与第一模块的数量最接近的第二模块数量对应备选版本信息确定为DM码版本信息,能够提高获取DM码版本信息的准确性。
可选地,通过辅助定位符对码图模块进行采样。这样,通过辅助定位符将DM码分为多个区块,各区块采用独立的透视变换矩阵完成模块采样。能够有效减弱“码图局部畸变”对码图模块采样精度的影响。
在一些实施例中,获取DM码的L边的位置特征信息;根据位置特征信息确定起始跟踪点和跟踪方向;根据起始跟踪点和跟踪方向拟合DM码的铁路线的轮廓;根据边界跟踪算法利用位置特征信息和铁路线的轮廓确定DM码的边界直线;边界直线有四条,通过确定两两相邻的边界直线的交点坐标;将交点坐标确定为DM码的角点的坐标;选取L边中同边的两个角点构造扫描线段;沿预设的扫描方向对L边中扫描线段对应的一边进行扫描,获得L边中扫描线段对应的一边的宽度;预设的扫描方向为与扫描线段垂直且朝向扫描线段平行的铁路线的方向;根据宽度分别确定各第一模块的大小。从预设数据库中匹配出与预设类型的第一模块的数量和预设类型的第一模块的大小均相同的预设类型的第二模块的数量和预设类型的第二模块的大小共同对应的备选版本信息;并将备选版本信息确定为DM码版本信息;预设数据库中存储有预设类型的第二模块的数量、预设类型的第二模块的大小和备选版本信息三者之间的对应关系。
这样,在获取DM码版本信息时,由于考虑了DM码的预设类型的第一模块的数量和预设类型的第一模块的大小,根据预设类型的第一模块的数量和预设类型的第一模块的大小确定DM码版本信息,这样能够更准确的获取DM码版本信息。
结合图6所示,本公开实施例提供一种用于确定DM码版本信息的方法,包括:
步骤S601,获取DM码的L边的位置特征信息;
步骤S602,根据位置特征信息拟合DM码的铁路线的轮廓;铁路线由黑白交替的模块组成;
步骤S603,根据位置特征信息和铁路线的轮廓确定DM码的四条边界直线;
步骤S604,根据边界直线确定DM码的角点的坐标;
步骤S605,确定铁路线中预设类型的第一模块的数量,并根据角点的坐标确定各第一模块的大小;
步骤S606,在预设数据库中查找与第一模块的数量和第一模块的大小均相同的预设类型的第二模块的数量和第二模块的大小;在预设数据库中存在与第一模块的数量和第一模块的大小均相同的第二模块的数量和第二模块的大小的情况下,将查找出的第二模块的数量和第二模块的大小共同对应的备选版本信息确定为DM码版本信息;预设数据库中存储有预设类型的第二模块的数量、预设类型的第二模块的大小和备选版本信息三者之间的对应关系。
采用本公开实施例提供的用于确定DM码版本信息的方法,通过根据第一模块的数量和第一模块的大小确定DM码版本信息,在预设数据库中存在对应的备选版本信息的情况下则将备选版本信息确定为DM码版本信息;在预设数据库中不存在对应的备选版本信息的情况下则将预设数据库中与第一模块的数量最接近的备选版本信息确定为DM码版本信息,这样能够在DM码图像失焦、码图精度低、图案被污损等情况下仍然能够准确的获取DM码版本信息。
结合图7所示,本公开实施例提供一种用于确定DM码版本信息的装置,包括:获取模块701、拟合模块702、第一确定模块703、角点计算模块704、第二确定模块705和版本估算模块706;
获取模块701被配置为获取DM码的L边的位置特征信息,将位置特征信息发送给拟合模块;拟合模块702被配置为接收获取模块发送的位置特征信息,根据位置特征信息拟合DM码的铁路线的轮廓;铁路线由黑白交替的模块组成,并将位置特征信息和铁路线的轮廓发送给第一确定模块;第一确定模块703被配置为接收拟合模块发送的位置特征信息和铁路线的轮廓,根据位置特征信息和铁路线的轮廓确定DM码的四条边界直线,并将各边界直线发送给角点计算模块;角点计算模块704,被配置为接收第一确定模块发送的各边界直线,根据各边界直线确定DM码的角点的坐标,并将DM码的角点的坐标发送给第二确定模块;第二确定模块705被配置为接收角点计算模块发送的DM码的角点的坐标,根据角点的坐标确定铁路线中预设类型的各第一模块的大小,并确定铁路线中预设类型的第一模块的数量,将预设类型的第一模块的数量和预设类型的第一模块的大小发送给版本估算模块;版本估算模块706被配置为接收第二确定模块发送的预设类型的第一模块的数量和预设类型的第一模块的大小,并根据预设类型的第一模块的数量和预设类型的第一模块的大小确定DM码版本信息。
采用本公开实施例提供的用于确定DM码版本信息的装置,通过获取模块获取DM码的L边的位置特征信息;拟合模块根据位置特征信息拟合DM码的铁路线的轮廓;铁路线由黑白交替的模块组成;第一确定模块根据位置特征信息和铁路线的轮廓确定DM码的四条边界直线;角点计算模块根据各边界直线确定DM码的角点的坐标;第二确定模块确定铁路线中预设类型的第一模块的数量,并根据角点的坐标确定各第一模块的大小;版本估算模块根据预设类型的第一模块的数量和预设类型的第一模块的大小确定DM码版本信息。这样,在获取DM码版本信息时,由于考虑了DM码的预设类型的第一模块的数量和预设类型的第一模块的大小,根据预设类型的第一模块的数量和预设类型的第一模块的大小确定DM码版本信息,这样能够更准确的获取DM码版本信息。
可选地,拟合模块被配置为通过以下方式根据位置特征信息拟合DM码的铁路线的轮廓,包括:根据位置特征信息确定起始跟踪点和跟踪方向;根据起始跟踪点和跟踪方向拟合DM码的铁路线的轮廓。
可选地,第一确定模块被配置为通过以下方式根据各边界直线确定DM码的角点的坐标,包括:确定两两相邻的边界直线的交点坐标;将交点坐标确定为DM码的角点的坐标。
可选地,各第一模块均为正方形;第二确定模块被配置为通过以下方式根据角点的坐标确定各第一模块的大小,包括:选取L边中同边的两个角点构造扫描线段;沿预设的扫描方向对L边中扫描线段对应的一边进行扫描,获得L边中扫描线段对应的一边的宽度;预设的扫描方向为与扫描线段垂直且朝向扫描线段平行的铁路线的方向;根据宽度分别确定各第一模块的大小。
可选地,版本估算模块被配置为通过以下方式根据第一模块的数量和第一模块的大小确定DM码版本信息,包括:在预设数据库中查找与第一模块的数量和第一模块的大小均相同的预设类型的第二模块的数量和第二模块的大小;在预设数据库中存在与第一模块的数量和第一模块的大小均相同的第二模块的数量和第二模块的大小的情况下,将查找出的第二模块的数量和第二模块的大小共同对应的备选版本信息确定为DM码版本信息;预设数据库中存储有预设类型的第二模块的数量、预设类型的第二模块的大小和备选版本信息三者之间的对应关系。
可选地,版本估算模块被配置为通过以下方式根据第一模块的数量和第一模块的大小确定DM码版本信息,包括:在预设数据库中查找与第一模块的数量和第一模块的大小均相同的预设类型的第二模块的数量和第二模块的大小;在预设数据库中不存在与第一模块的数量和第一模块的大小均相同的第二模块的数量和第二模块的大小的情况下,在预设数据库中查找出大于第一模块的数量的第二模块的数量中的最小值;将查找出的第二模块的数量对应的备选版本信息确定为DM码版本信息;预设数据库中存储有预设类型的第二模块的数量、预设类型的第二模块的大小和备选版本信息三者之间的对应关系。
结合图8所示,本公开实施例提供一种用于确定DM码版本信息的装置,包括处理器(processor)800和存储器(memory)801。可选地,该装置还可以包括通信接口(Communication Interface)802和总线803。其中,处理器800、通信接口802、存储器801可以通过总线803完成相互间的通信。通信接口802可以用于信息传输。处理器800可以调用存储器801中的逻辑指令,以执行上述实施例的用于确定DM码版本信息的方法。
采用本公开实施例提供的用于确定DM码版本信息的装置,通过获取DM码的L边的位置特征信息;根据位置特征信息拟合DM码的铁路线的轮廓;铁路线由黑白交替的模块组成;根据位置特征信息和铁路线的轮廓确定DM码的四条边界直线;根据边界直线确定DM码的角点的坐标;确定铁路线中预设类型的第一模块的数量,并根据角点的坐标确定各第一模块的大小;根据第一模块的数量和第一模块的大小确定DM码版本信息。在获取DM码版本信息时,由于考虑了DM码的第一模块的数量和第一模块的大小,根据第一模块的数量和第一模块的大小确定DM码版本信息,这样能够更准确的获取DM码版本信息。
此外,上述的存储器801中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器801作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令/模块。处理器800通过运行存储在存储器801中的程序指令/模块,从而执行功能应用以及数据处理,即实现上述实施例中用于确定DM码版本信息的方法。
存储器801可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器801可以包括高速随机存取存储器,还可以包括非易失性存储器。
本公开实施例提供了一种DM码识别设备,包含上述的用于确定DM码版本信息的装置。
采用本公开实施例提供的DM码识别设备,通过获取DM码的L边的位置特征信息;根据位置特征信息拟合DM码的铁路线的轮廓;铁路线由黑白交替的模块组成;根据位置特征信息和铁路线的轮廓确定DM码的四条边界直线;根据边界直线确定DM码的角点的坐标;确定铁路线中预设类型的第一模块的数量,并根据角点的坐标确定各第一模块的大小;根据第一模块的数量和第一模块的大小确定DM码版本信息。在获取DM码版本信息时,由于考虑了DM码的第一模块的数量和第一模块的大小,根据第一模块的数量和第一模块的大小确定DM码版本信息,这样能够更准确的获取DM码版本信息。
可选地,DM码识别设备为计算机、服务器、手机和平板电脑等。
本公开实施例提供了一种存储介质,存储有程序指令,程序指令在运行时,执行上述用于确定DM码版本信息的方法。
本公开实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述用于确定DM码版本信息的方法。
上述的计算机可读存储介质可以是暂态计算机可读存储介质,也可以是非暂态计算机可读存储介质。
本公开实施例的技术方案可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括一个或多个指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开实施例所述方法的全部或部分步骤。而前述的存储介质可以是非暂态存储介质,包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
以上描述和附图充分地示出了本公开的实施例,以使本领域的技术人员能够实践它们。其他实施例可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施例的部分和特征可以被包括在或替换其他实施例的部分和特征。而且,本申请中使用的用词仅用于描述实施例并且不用于限制权利要求。如在实施例以及权利要求的描述中使用的,除非上下文清楚地表明,否则单数形式的“一个”(a)、“一个”(an)和“所述”(the)旨在同样包括复数形式。类似地,如在本申请中所使用的术语“和/或”是指包含一个或一个以上相关联的列出的任何以及所有可能的组合。另外,当用于本申请中时,术语“包括”(comprise)及其变型“包括”(comprises)和/或包括(comprising)等指陈述的特征、整体、步骤、操作、元素,和/或组件的存在,但不排除一个或一个以上其它特征、整体、步骤、操作、元素、组件和/或这些的分组的存在或添加。在没有更多限制的情况下,由语句“包括一个…”限定的要素,并不排除在包括所述要素的过程、方法或者设备中还存在另外的相同要素。本文中,每个实施例重点说明的可以是与其他实施例的不同之处,各个实施例之间相同相似部分可以互相参见。对于实施例公开的方法、产品等而言,如果其与实施例公开的方法部分相对应,那么相关之处可以参见方法部分的描述。
本领域技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,可以取决于技术方案的特定应用和设计约束条件。所述技术人员可以对每个特定的应用来使用不同方法以实现所描述的功能,但是这种实现不应认为超出本公开实施例的范围。所述技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本文所披露的实施例中,所揭露的方法、产品(包括但不限于装置、设备等),可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,可以仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例。另外,在本公开实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
附图中的流程图和框图显示了根据本公开实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。在附图中的流程图和框图所对应的描述中,不同的方框所对应的操作或步骤也可以以不同于描述中所披露的顺序发生,有时不同的操作或步骤之间不存在特定的顺序。例如,两个连续的操作或步骤实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
Claims (10)
1.一种用于确定DM码版本信息的方法,其特征在于,包括:
获取DM码的L边的位置特征信息;
根据所述位置特征信息拟合所述DM码的铁路线的轮廓;所述铁路线由黑白交替的模块组成;
根据所述位置特征信息和所述铁路线的轮廓确定所述DM码的四条边界直线;
根据所述边界直线确定所述DM码的角点的坐标;
确定所述铁路线中预设类型的第一模块的数量,并根据所述角点的坐标确定各所述第一模块的大小;
根据所述第一模块的数量和所述第一模块的大小确定DM码版本信息。
2.根据权利要求1所述的方法,其特征在于,根据所述位置特征信息拟合所述DM码的铁路线的轮廓,包括:
根据所述位置特征信息确定起始跟踪点和跟踪方向;
根据所述起始跟踪点和所述跟踪方向拟合所述DM码的铁路线的轮廓。
3.根据权利要求1所述的方法,其特征在于,根据所述边界直线确定所述DM码的角点的坐标,包括:
确定两两相邻的边界直线的交点坐标;
将各所述交点坐标分别确定为所述DM码的角点的坐标。
4.根据权利要求1所述的方法,其特征在于,各所述第一模块均为正方形;根据所述角点的坐标确定各所述第一模块的大小,包括:
选取所述L边中同边的两个角点构造扫描线段;
沿预设的扫描方向对所述L边中扫描线段对应的一边进行扫描,获得所述L边中扫描线段对应的一边的宽度;所述预设的扫描方向为与所述扫描线段垂直且朝向所述扫描线段平行的铁路线的方向;
根据所述宽度分别确定各所述第一模块的大小。
5.根据权利要求1至4任一项所述的方法,其特征在于,根据所述第一模块的数量和所述第一模块的大小确定DM码版本信息,包括:
在预设数据库中查找与所述第一模块的数量和所述第一模块的大小均相同的所述预设类型的第二模块的数量和所述第二模块的大小;
在所述预设数据库中存在与所述第一模块的数量和所述第一模块的大小均相同的所述第二模块的数量和所述第二模块的大小的情况下,将查找出的所述第二模块的数量和所述第二模块的大小共同对应的备选版本信息确定为DM码版本信息;所述预设数据库中存储有预设类型的第二模块的数量、预设类型的第二模块的大小和备选版本信息三者之间的对应关系。
6.根据权利要求1至4任一项所述的方法,其特征在于,根据所述第一模块的数量和所述第一模块的大小确定DM码版本信息,包括:
在预设数据库中查找与所述第一模块的数量和所述第一模块的大小均相同的所述预设类型的第二模块的数量和所述第二模块的大小;
在所述预设数据库中不存在与所述第一模块的数量和所述第一模块的大小均相同的所述第二模块的数量和所述第二模块的大小的情况下,在所述预设数据库中查找出大于所述第一模块的数量的第二模块的数量中的最小值;将查找出的所述第二模块的数量对应的备选版本信息确定为DM码版本信息;所述预设数据库中存储有预设类型的第二模块的数量、预设类型的第二模块的大小和备选版本信息三者之间的对应关系。
7.一种用于确定DM码版本信息的装置,其特征在于,包括:
获取模块,被配置为获取DM码的L边的位置特征信息;
拟合模块,被配置为根据所述位置特征信息拟合所述DM码的铁路线的轮廓;所述铁路线由黑白交替的模块组成;
第一确定模块,被配置为根据所述位置特征信息和所述铁路线的轮廓确定DM码的四条边界直线;
角点计算模块,被配置为根据所述边界直线确定所述DM码的角点的坐标;
第二确定模块,被配置为确定所述铁路线中预设类型的第一模块的数量,并根据所述角点的坐标确定各所述第一模块的大小;
版本估算模块,被配置为根据所述第一模块的数量和所述第一模块的大小确定DM码版本信息。
8.一种用于确定DM码版本信息的装置,包括处理器和存储有程序指令的存储器,其特征在于,所述处理器被配置为在运行所述程序指令时,执行如权利要求1至6任一项所述的方法。
9.一种DM码识别设备,其特征在于,包括如权利要求8所述的用于确定DM码版本信息的装置。
10.一种存储介质,存储有程序指令,其特征在于,所述程序指令在运行时,执行如权利要求1至6任一项所述的用于确定DM码版本信息的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110861611.5A CN113313226B (zh) | 2021-07-29 | 2021-07-29 | 用于确定dm码版本信息的方法及装置、设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110861611.5A CN113313226B (zh) | 2021-07-29 | 2021-07-29 | 用于确定dm码版本信息的方法及装置、设备、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113313226A CN113313226A (zh) | 2021-08-27 |
CN113313226B true CN113313226B (zh) | 2021-11-02 |
Family
ID=77381939
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110861611.5A Active CN113313226B (zh) | 2021-07-29 | 2021-07-29 | 用于确定dm码版本信息的方法及装置、设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113313226B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113496135B (zh) * | 2021-08-31 | 2023-06-20 | 北京紫光青藤微系统有限公司 | 码图的定位方法、装置、电子设备及存储介质 |
CN114036968B (zh) * | 2021-11-10 | 2024-03-01 | 北京科技大学 | 一种钢卷表面激光标识模糊二维码图像的校正修复方法 |
CN114492706B (zh) * | 2022-04-15 | 2022-07-01 | 北京紫光青藤微系统有限公司 | 估算dm码模块大小的方法及装置、解码设备、存储介质 |
CN116451721B (zh) * | 2023-06-20 | 2023-09-26 | 北京紫光青藤微系统有限公司 | 用于进行解码的方法及装置、电子设备、存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101398895A (zh) * | 2007-09-26 | 2009-04-01 | 杨高波 | 一种数据矩阵(dm)二维条形码识别的图像预处理方法 |
CN106485255A (zh) * | 2016-09-29 | 2017-03-08 | 深圳元启智能技术有限公司 | 一种dm码定位及识别的方法与系统 |
WO2017088240A1 (zh) * | 2015-11-24 | 2017-06-01 | 上海透云物联网科技有限公司 | 复合识别码结构、使用复合识别码结构的产品及监控方法 |
CN110618137A (zh) * | 2019-10-27 | 2019-12-27 | 江苏麦瑞特科技有限公司 | 一种基于视觉技术的dm码边线瑕疵检测系统 |
EP3620299A1 (en) * | 2018-09-07 | 2020-03-11 | Amcor Flexibles Sarrebourg SAS | Packaging film having unique direct food contact identifiers |
US20200184416A1 (en) * | 2018-12-06 | 2020-06-11 | Golden State Foods Corp. | System, device, and process for tracking product |
-
2021
- 2021-07-29 CN CN202110861611.5A patent/CN113313226B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101398895A (zh) * | 2007-09-26 | 2009-04-01 | 杨高波 | 一种数据矩阵(dm)二维条形码识别的图像预处理方法 |
WO2017088240A1 (zh) * | 2015-11-24 | 2017-06-01 | 上海透云物联网科技有限公司 | 复合识别码结构、使用复合识别码结构的产品及监控方法 |
CN106485255A (zh) * | 2016-09-29 | 2017-03-08 | 深圳元启智能技术有限公司 | 一种dm码定位及识别的方法与系统 |
EP3620299A1 (en) * | 2018-09-07 | 2020-03-11 | Amcor Flexibles Sarrebourg SAS | Packaging film having unique direct food contact identifiers |
US20200184416A1 (en) * | 2018-12-06 | 2020-06-11 | Golden State Foods Corp. | System, device, and process for tracking product |
CN110618137A (zh) * | 2019-10-27 | 2019-12-27 | 江苏麦瑞特科技有限公司 | 一种基于视觉技术的dm码边线瑕疵检测系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113313226A (zh) | 2021-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113313226B (zh) | 用于确定dm码版本信息的方法及装置、设备、存储介质 | |
CN113673655B (zh) | 用于确定二维码解码方向的方法及装置、电子设备、介质 | |
CN102385707A (zh) | 一种数字图像识别的方法、装置及爬虫服务器 | |
CN110544255B (zh) | 面向3d打印的三角网格孔洞的分割方法及系统 | |
CN106980851B (zh) | 一种数据矩阵dm码的定位方法及装置 | |
CN114492706B (zh) | 估算dm码模块大小的方法及装置、解码设备、存储介质 | |
CN113420580A (zh) | 用于对二维码进行辅助定位符定位的方法及装置、二维码扫描设备、存储介质 | |
CN116739022B (zh) | 用于条码图像的译码方法、装置和电子设备 | |
CN113822091B (zh) | 用于二维码码图纠错的方法及装置、电子设备、存储介质 | |
CN113822092B (zh) | 用于定位位置探测图形的方法及装置、电子设备、介质 | |
CN112819779A (zh) | 用于螺栓松动识别的方法、装置及设备 | |
CN108664940A (zh) | 一种部分指纹匹配方法及系统 | |
CN115438682A (zh) | 用于确定解码方向的方法、装置及解码设备 | |
CN111898555A (zh) | 基于图像与文本的图书盘点识别方法、装置、设备及系统 | |
CN115984211A (zh) | 视觉定位方法、机器人及存储介质 | |
CN112085030A (zh) | 相似图像确定方法及装置 | |
CN116451721B (zh) | 用于进行解码的方法及装置、电子设备、存储介质 | |
CN112700285A (zh) | 用于预测用户属性标签的方法及装置、设备 | |
CN105550623A (zh) | 一种条码影像的分析方法以及条码装置 | |
CN111275693A (zh) | 一种图像中物体的计数方法、计数装置及可读存储介质 | |
CN114564978B (zh) | 用于二维码解码的方法及装置、电子设备、存储介质 | |
CN114943241A (zh) | 用于修复条码码图的方法、电子设备、存储介质 | |
CN113971413A (zh) | 一种基于链码的dm条码的定位方法、服务器、存储介质及系统 | |
CN115471844A (zh) | 图像处理方法及装置、电子设备、存储介质 | |
CN118013991A (zh) | 用于获取定位符方向的方法及装置、电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |