CN116822549A - 用于离散dpm码区域的定位方法及装置、图像处理设备 - Google Patents
用于离散dpm码区域的定位方法及装置、图像处理设备 Download PDFInfo
- Publication number
- CN116822549A CN116822549A CN202311102181.4A CN202311102181A CN116822549A CN 116822549 A CN116822549 A CN 116822549A CN 202311102181 A CN202311102181 A CN 202311102181A CN 116822549 A CN116822549 A CN 116822549A
- Authority
- CN
- China
- Prior art keywords
- data points
- closed
- image
- discrete
- closed data
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000012545 processing Methods 0.000 title claims abstract description 18
- 238000012216 screening Methods 0.000 claims abstract description 20
- 238000009826 distribution Methods 0.000 claims description 6
- 239000011159 matrix material Substances 0.000 claims description 4
- 238000009499 grossing Methods 0.000 claims description 3
- 238000001914 filtration Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 15
- 238000003860 storage Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000002184 metal Substances 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000011109 contamination Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000010147 laser engraving Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 238000005507 spraying Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1408—Methods for optical code recognition the method being specifically adapted for the type of code
- G06K7/1417—2D bar codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1439—Methods for optical code recognition including a method step for retrieval of the optical code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/146—Methods for optical code recognition the method including quality enhancement steps
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Electromagnetism (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
Abstract
本申请涉及图像处理技术领域,公开一种用于离散DPM码区域的定位方法,包括:利用边界跟踪在包含离散DPM码区域的图像中搜索闭合轨迹,以获得图像中的所有闭合数据点及闭合数据点的中心;利用滑动窗口滑动遍历图像,在当前滑动窗口区域内的闭合数据点数量达到第一数量的情况下,对闭合数据点之间的线段进行统计,以获得模块大小;根据模块大小筛选闭合数据点,并统计筛选后的闭合数据点之间的方向;在统计的数量最多方向和数量次多方向的夹角满足预设夹角范围的情况下,确定当前滑动窗口区域为包含离散DPM码的区域。本申请提高了离散DPM码区域定位的成功率。本申请还公开一种用于离散DPM码区域的定位装置、图像处理设备。
Description
技术领域
本申请涉及图像处理技术领域,例如涉及一种用于离散DPM码区域的定位方法及装置、图像处理设备。
背景技术
目前,DPM(Direct Part Mark,直接零部件标识)码在许多行业被广泛使用,且在电路板、金属零件等物体上标识的需求逐渐增多。DPM码使用激光雕刻、机械点刻和喷码打印等标记技术,可保障码的使用寿命和抗干扰性。但因金属高密度、体积较小,使得码存在清晰度和对比度低、反光、易污损等问题,这对二维码的识别产生了挑战。
相关技术中,离散DPM码定位技术包括:对图像进行全图二值化后搜索定位图形的轮廓后获取定位图形,再根据定位图形的位置大致确定二维码区域等。
在实现本公开实施例的过程中,发现相关技术中至少存在如下问题:
相关技术中,需搜索定位图形来确定码图备选区域,这对图像质量要求较高。在定位图形区域存在污损、反光、清晰度较差等问题时,会导致DPM码定位失败。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本申请的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
为了对披露的实施例的一些方面有基本的理解,下面给出了简单的概括。所述概括不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围,而是作为后面的详细说明的序言。
本公开实施例提供了一种用于离散DPM码区域的定位方法及装置、图像处理设备,无需搜索DPM码定位图形,从而提高了离散DPM码区域定位的成功率。
在一些实施例中,所述方法包括:
利用边界跟踪方式在包含离散DPM码区域的图像中搜索闭合轨迹,以获得图像中的所有闭合数据点及闭合数据点的中心;利用滑动窗口滑动遍历图像,在滑动窗口区域内的闭合数据点达到第一数量的情况下,对闭合数据点之间的线段进行统计,以获得模块大小;根据模块大小筛选闭合数据点,并统计筛选后的闭合数据点之间的方向;在统计的最多方向和次多方向的夹角满足预设夹角范围的情况下,确定该滑动窗口区域为包含离散DPM码的区域
在一些实施例中,所述装置包括:处理器和存储有程序指令的存储器,所述处理器被配置为在运行所述程序指令时,执行如前述的用于离散DPM码区域的定位方法。
在一些实施例中,所述图像处理设备包括:设备本体;及如前述的用于离散DPM码区域的定位装置,被安装于所述设备本体。
在一些实施例中,所述存储介质,存储有程序指令,所述程序指令在运行时,执行如前述的用于离散DPM码区域的定位方法。
本公开实施例提供的用于离散DPM码区域的定位方法及装置、图像处理设备,可以实现以下技术效果:
本公开实施例中,采用边界跟踪的方法搜索图像中的闭合轨迹,以确定闭合数据点及其中心。而后使用滑动窗口遍历图像,当窗口区域的数据点达到第一数量时,对数据点之间的线段进行直方图统计,以基于统计结果筛选闭合数据点。继而统计筛选后的闭合数据点之间的方向,在最多和次多方向的夹角满足第一角度时,则认为该窗口区域满足DPM码特征,即实现定位DPM码区域。该定位过程中无需搜索DPM码定位图形,以解决定位图形区域因存在污损、反光、清晰度较差等,导致的DPM码定位失败的问题,有助于提高定位的成功率。
以上的总体描述和下文中的描述仅是示例性和解释性的,不用于限制本申请。
附图说明
一个或多个实施例通过与之对应的附图进行示例性说明,这些示例性说明和附图并不构成对实施例的限定,附图中具有相同参考数字标号的元件示为类似的元件,附图不构成比例限制,并且其中:
图1是本公开实施例提供的一个用于离散DPM码区域的定位方法的示意图;
图2是本公开实施例提供的方法中,获得闭合数据点的示意图;
图3是本公开实施例提供的另一个用于离散DPM码区域的定位方法的示意图;
图4是本公开实施例的方法中,筛除闭合数据点的示意图;
图5是本公开实施例的方法中,Dotcode码最短线段方向的示意图;
图6是本公开实施例提供的方法中,定位包含Maxicode码区块的示意图;
图7是本公开实施例提供的方法中,定位包含DM码区块的示意图;
图8是本公开实施例提供的另一用于离散DPM码区域的定位方法的示意图;
图9是本公开实施例提供的另一用于离散DPM码区域的定位方法的示意图;
图10是本公开实施例提供的一个用于离散DPM码区域的定位装置的示意图。
具体实施方式
为了能够更加详尽地了解本公开实施例的特点与技术内容,下面结合附图对本公开实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本公开实施例。在以下的技术描述中,为方便解释起见,通过多个细节以提供对所披露实施例的充分理解。然而,在没有这些细节的情况下,一个或多个实施例仍然可以实施。在其它情况下,为简化附图,熟知的结构和装置可以简化展示。
本公开实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开实施例的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。
除非另有说明,术语“多个”表示两个或两个以上。
本公开实施例中,字符“/”表示前后对象是一种“或”的关系。例如,A/B表示:A或B。
术语“和/或”是一种描述对象的关联关系,表示可以存在三种关系。例如,A和/或B,表示:A或B,或,A和B这三种关系。
术语“对应”可以指的是一种关联关系或绑定关系,A与B相对应指的是A与B之间是一种关联关系或绑定关系。
结合图1所示,本公开实施例提供一种用于离散DPM码区域的定位方法,包括:
S101,处理器利用边界跟踪在包含离散DPM码区域的图像中搜索闭合轨迹,以获得图像中的所有闭合数据点及闭合数据点的中心。
S102,处理器利用滑动窗口滑动遍历图像,在当前滑动窗口区域内的闭合数据点达到第一数量的情况下,对闭合数据点之间的线段进行进行直方图统计,以获得模块大小。
S103,处理器根据模块大小筛选闭合数据点,并统计筛选后的闭合数据点之间的方向。
S104,在统计的数量最多方向和数量次多方向的夹角满足预设夹角范围的情况下,处理器确定当前滑动窗口区域为包含离散DPM码的区域。
这里,闭合数据点也称独立点,是指在离散DPM码中一部分有效像素点的集合,该集合可以视作一个独立的、闭合的、且形状接近规则几何图形的离散点。对于机械点刻生成的DPM码,独立点多为圆形。闭合数据点具有闭合轨迹,故利用边界跟踪在离散DPM码区域的图像中搜索闭合轨迹,从而获得闭合点数据。同时,在边界跟踪时可基于跟踪的边界点的坐标确定闭合数据点的中心。如此,可获得图像中所有的闭合数据点及对应的中心。
而后,利用滑动窗口遍历图像。可以理解地,滑动窗口具有一定的大小,在遍历图像过程中滑动窗口处于图像不同的位置时,滑动窗口区域内的闭合数据点数量不同。如果闭合数据点数量达到第一数量(第一数量为设定值,其取决于滑动窗口大小和离散DPM码的特性),则该区域可能为包含离散DPM码的区域。故统计该区域中各闭合数据点之间的线段(线段是指各个闭合数据点中心之间的连线),主要是指统计各长度线段的数量,以获得模块大小。模块大小是指在DPM码中,两个相邻的且距离最近的有效闭合数据点中心点间距的大小。其中,因污损等原因图像中会存在假点,即无效的闭合数据点。故这里统计各闭合点数据的线段,以将最短线段的长度作为模块大小。
继而利用模块大小筛选闭合数据点,这样可以筛除不满足模块大小的假点。再统计筛选后的闭合数据点之间连线的方向,在出现次数最多和次多的方向夹角满足第一角度时,则表明已经定位成功,当前滑动窗口内包含离散DMP码的区域。根据DPM码的独立点分布特性,闭合数据点之间最短距离的连线应大致分布在两个方向,且方向夹角接近某一固定角度。因此,统计方向数量最多和次多的夹角。需要说明地是,在统计的方向不同,但不同方向对应的数量相同(最多数量方向为两个方向)的情况下,则统计这两个数量最多的不同方向的夹角。其中,第一角度区域于离散DPM码的类型,不同类型的DPM码,第一角度可能存在差异。
采用本公开实施例提供的用于离散DPM码区域的定位方法,利用边界跟踪的方法搜索图像中的闭合轨迹,以确定闭合数据点及其中心。而后使用滑动窗口遍历图像,当窗口区域的数据点达到第一数量时,对数据点之间的线段进行直方图统计,以基于统计结果筛选闭合数据点。继而统计筛选后的闭合数据点之间的方向,在最多和次多方向的夹角满足第一角度时,则认为该窗口区域满足DPM码特征,即实现定位DPM码区域。该定位过程中无需搜索DPM码定位图形,以解决定位图形区域因存在污损、反光、清晰度较差等,导致的DPM码定位失败的问题,有助于提高定位的成功率。
此外,本公开实施例在不搜索DPM码定位图形的情况下,能够定位到某一块包含离散DPM码的区域,并进行后续进一步的向外推出解码,在很大程度上提高了运算速度,实现了快速高效地定位码图备选区域的功能。
结合图2,可选地,步骤S101,处理器利用边界跟踪方式在包含离散DPM码区域的图像中搜索闭合轨迹,以获得图像中的所有闭合数据点,包括:
S111,处理器以图像中心为起始点向两端发出水平扫描线,以确定潜在边界点。
S112,处理器从潜在边界点进行边界跟踪,在跟踪到闭合轨迹且闭合轨迹形成的闭合区域满足预设条件的情况下,确定该闭合区域为闭合数据点。
S113,处理器求取闭合数据点的所有边界跟踪点坐标的平均值,将该平均值作为对应闭合数据点的中心。
这里,在搜索闭合轨迹之前,先确定潜在边界点。而后以潜在边界点为起点进行边界跟踪,以获得闭合轨迹。具体地,以图像中心为起始点,向两端发出水平扫描线。两端可以是以中心向左右两端进行扫描,也可以是以中心向上下两端进行扫描。可选地,可每隔L行发出水平扫描线。L行可为3-5行。可以理解地,每个离散DPM码区域图像中的闭合数据点颜色和图像底色是存在差异的。因此将扫描线由一个颜色穿到另一个颜色时的位置,作为潜在边界点。即潜在的闭合数据点的边界点。
进一步地,基于确定的潜在边界点进行边界跟踪,在跟踪到的轨迹为闭合轨迹,且闭合轨迹形成的区域满足预设条件的情况下,则表明该闭合区域为闭合数据点。如前文所述,闭合数据点为离散点的集合,因此其闭合区域必定满足一定面积的大小。故预设条件是指闭合区域面积满足预设面积大小。每个闭合数据点的闭合轨迹均为由多个边界跟踪点构成的。记录边界跟踪点的坐标,并求取平均值,即可获得该闭合轨迹对应的闭合数据点中心。
此外需要说明的是,在确定潜在边界点时,可自定义发出扫描线的起始点和扫描方向。如从图像的某一边界点为起始点,向边界点所在的水平方向或垂直方向进行扫描。因从图像中心向两侧扫描,搜索速率更快,所以本公开实施例以图像中心为起始点,向两端发出水平扫描线。
可选地,S112中预设条件包括:
闭合区域在某一方向的宽度小于或等于第一像素、且大于或等于第二像素;和,闭合区域为中心对称图形或近似中心对称图形。
这里,对闭合区域的大小进行了限定。其中,第一像素和第二像素的大小可基于DPM码的类型确定。作为一种示例,第一像素可取值20像素,第二像素可取值2像素。此外,闭合区域一般为规则的图像,如圆形、六边形等中心对称图形。对于一些类型的DPM码,其闭合数据点的轮廓形状不是严格意义上的中心对称图像,而是近似中心对称图像。如此,在闭合区域的某一方向的尺寸满足要求(不限制于某一固定方向,只要在其中一个方向满足要求即可),且闭合区域为近似中心对称图像或中心对称图形时,确定该闭合区域的数据点为闭合数据点。
可选地,在图像为二值图像的情况下,S111中确定潜在边界点包括:
将水平扫描线穿过时由黑到白或由白到黑的位置,确定为潜在边界点。
可以理解地,二值图像中仅存在黑白两色。在水平扫描件进行扫描时,潜在的边界点可能是由黑到白的位置,也可能是由白到黑的位置。更具体地,当离散DMP码为白底黑点时,一个由白到黑的边界与一个由黑到白的边界的组合表示闭合数据点的边界;当离散DMP码为黑底白点时,一个由黑到白的边界与一个由白到黑的边界的组合表示闭合数据点边界。
可选地,S112中处理器通过以下方式确定闭合区域:
在DMP码为白底黑点的情况下,闭合区域为黑色。
在DMP码为黑底白点的情况下,闭合区域为白色。
如前文所述,当离散DMP码为白底黑点时,一个由白到黑的边界与一个由黑到白的边界所构成的闭合区域为黑色,即闭合数据点为黑色离散点的集合。当离散DMP码为黑底白点时,一个由黑到白的边界与一个由白到黑的边界构成的闭合区域为白色,即闭合数据点为白色离散点的集合。
可选地,步骤S102,处理器利用滑动窗口滑动遍历图像,包括:
处理器利用M*M像素大小的滑动窗口,从图像中心以N像素为间隔滑动遍历整张图像。
其中,N小于或等于M。
这里,创建一个M*M像素大小的滑动窗口,从图像的中心开始,以像素N为间隔滑动遍历整张图像。M*M像素的滑动窗口是包含离散DPM码的一块备选区域。当滑动窗口中闭合数据点的数量达到第一数量时,进行后续的统计,否则窗口继续进行滑动。相邻窗口的间距为像素N,且N小于或等于M。如此,保证滑动窗口能够遍历整个图片,避免遗漏。
结合图3所示,本公开实施例提供另一种用于离散DPM码区域的定位方法,包括:
S101,处理器利用边界跟踪在包含离散DPM码区域的图像中搜索闭合轨迹,以获得图像中的所有闭合数据点及闭合数据点的中心。
S121,处理器利用滑动窗口滑动遍历图像,在当前滑动窗口区域内的闭合数据点达到第一数量的情况下,利用直方图统计闭合数据点之间形成的线段中最短线段的数量。
S122,在最短线段的数量大于或等于第二数量的情况下,处理器将最短线段的长度作为模块大小。
S103,处理器根据模块大小筛选闭合数据点,并统计筛选后的闭合数据点之间的方向。
S104,在统计的数量最多方向和数量次多方向的夹角满足预设夹角范围的情况下,处理器确定当前滑动窗口区域为包含离散DPM码的区域。
这里,在当前滑动窗口区域内的闭合数据点数量大于或等于第一数量后,将每个闭合数据点的中心和相邻的闭合数据点的中心连接形成线段。利用直方图统计线段距离,在最短线段的数量达到第二数量时,根据DPM码的独立点分布特性,确定该最短线段的长度为模块大小。具体地,将直方图内的从左到右第一个超过阈值(即第二数量)的横坐标d为DMP码闭合数据点之间的最短距离,此距离d称之为模块大小。
其中,为了排除闭合数据点之间存在少数假点,避免假点影响最短距离的判断,设定第二数量。当最短线段的数量足够多时才会被确定为模块大小。该直方图中,横坐标为线段长度即相邻闭合数据点间的距离,纵坐标为该距离的线段数量。
可选地,步骤S103,处理器根据模块大小筛选闭合数据点,包括:
处理器根据模块大小,确定筛选误差,以确定目标线段的长度范围。
处理器筛除不符合长度范围的线段对应的闭合数据点,以获得有效闭合数据点。
其中,模块大小越大,筛选误差越大。
这里,利用模块大小筛选闭合数据点,保留线段长度在模块大小附近的闭合数据点,筛除线段长度过长或过短的闭合数据点。对于不同模块大小,可以选择设定不同的筛选误差。其中,模块大小越大,筛选误差越大。作为一种示例,当模块大小为5像素及以下时,筛选误差可取值小于1像素,如0.5像素。此时,目标线段的长度范围=模块大小±筛选误差。当模块大小为5像素~10像素时,筛选误差可取值1像素。当模块大小为10像素以上时,筛选误差可取值小于等于2像素且大于1像素。参见图4,方框标出的是筛除的点,经过筛选后剩余线段为最短距离附近的线段
可选地,步骤S103,处理器统计筛选后的闭合数据点之间的方向,包括:
处理器在图像中多次以预设数据长度按照设定方向遍历方向梯度直方图,以统计有效闭合数据点之间的方向。其中,方向梯度直方图的横坐标为方向,纵坐标为线段数量。
处理器在遍历方向直方图连续出现多个最大值的情况下,取中间方向作为当前出现次数最多的方向。
这里,根据DPM码的独立点分布特性,闭合数据点间最短距离的连线应大致分布在两个方向。故以预设数据长度按照设定方向遍历方向直方图,在方向直方图上体现为两个明显的波峰。具体地,寻找波峰最大值的位置,该位置为出现次数最多的地方。再次遍历直方图,可寻找出现次数次多的地方。其中,方向直方图的横坐标为最短线段的方向,纵坐标为该方向统计到的线段数量。参见图5,以DPM码中离散Dotcode码为例,最短的线段方向近似分布在0度方向和90度方向上,因此只需获取所有最短线段的方向分布,即可得到码图的0度和90度方向。
此外,在遍历方向直方图时,可能会出现连续多个最大值,则取中间方向作为当前出现次数最多的方向。其中,中间方向是指多个方向的平均值。作为一种示例,在遍历方向直方图时,最短线段方向近似分布于在0度方向。具体地,部分线段方向分布于-1°方向、部分线段方向分布于0°方向、还有部分线段方向分布于1°方向,且这三个方向的线段数量相同。这种情况下,选取三个方向的平均值0°方向作为当前出现次数最多的方向。作为另一种示例,-1°方向、0°方向、1°方向及2°方向的线段数量相同,则选取这四个方向的平均值0.5°方向作为当前出现次数最多的方向。预设数据长度和设定方向可以自定义。其中预设数据长度是指构建的另一窗口的尺寸,如通过一个宽度为像素S大小的窗口按照从左到右的方向遍历方向直方图。
可选地,步骤S104中,处理器通过以下方式确定预设夹角范围:
处理器确定DPM码的类型。
处理器根据类型和夹角的对应关系,确定最短线段的分布方向的夹角。
处理器根据夹角和角度阈值,确定预设夹角范围。
这里,统计的线段数量最多方向和次多方向的夹角为码图方向夹角。码图方向夹角是指离散DPM码中相邻有效闭合数据点的中心位置连线后形成的夹角。不同类型的DPM码,确定的码图方向夹角不同,二者存在映射关系。作为一种示例,Dotcode码的码图方向夹角为90度;Maxicode码的码图方向夹角为60度。角度阈值可基于需求设定,如设置10°或5°等。这样,预设夹角范围=码图方向夹角±角度阈值。
此外,在统计的数量最多方向和数量次多方向的夹角满足预设夹角范围时,表明已经定位成功,当前滑动窗口内包含离散DMP码的区域。否则重复步骤S102-S104。参见图6、7,灰色方框区域为定位到包含离散DPM码的区域,其中较长的两条相交的直线为码图方向。
结合图8所示,本公开实施例提供另一种用于离散DPM码区域的定位方法,包括:
S205,处理器对图像进行二值化处理,以获得处理后的二值图。
S206,在二值图的图像噪声大于噪声阈值的情况下,处理器对二值图进行平滑滤波处理。
S101,处理器利用边界跟踪在包含离散DPM码区域的图像中搜索闭合轨迹,以获得图像中的所有闭合数据点及闭合数据点的中心。
S102,处理器利用滑动窗口滑动遍历图像,在当前滑动窗口区域内的闭合数据点达到第一数量的情况下,对闭合数据点之间的线段进行统计,以获得模块大小。
S103,处理器根据模块大小筛选闭合数据点,并统计筛选后的闭合数据点之间的方向。
S104,在统计的数量最多方向和数量次多方向的夹角满足预设夹角范围的情况下,处理器确定当前滑动窗口区域为包含离散DPM码的区域。
这里,在对图像进行DPM码区域定位前,先对图像进行二值化处理。具体可采用平均值法、双峰法、OTSU(大津法)等二值化方法。且在二值化处理过程中,如果图像噪声水平过高,可选择使用平滑滤波对图像整体进行平滑处理,以降低图像噪音。二值化处理后的图像仅有黑白两侧,可提高边界跟踪的计算效率。
结合图9所示,本公开实施例提供另一种用于离散DPM码区域的定位方法,包括:
S501,开始。
S502,对原图像进行二值化处理,获得二值化图像。
S503,从二值化图像的中心,向上下两端发出水平扫描线,以确定潜在边界点。
S504,从每个潜在边界点为起点进行边界跟踪,寻找满足闭合区域条件的闭合数据点并计算其中心。
S505,利用M*M像素大小的滑动窗口,从图像中心以像素N为间隔滑动遍历整张图像。
S506,判断当前滑动窗口区域内的闭合数据点数量是否大于或等于第一数量,如果是,则执行S507;如果否,则执行S505。
S507,利用直方图统计闭合数据点之间形成的线段中最短线段的数量,以获得模块大小。
S508,根据模块大小筛选闭合数据点,并统计筛选后的闭合数据点之间的方向。
S509,判断统计的最多数量的方向和次多数量的方向的夹角是否满足预设夹角范围,如果是,则执行S510;如果否,则执行S505。
S510,确定当前滑动窗口区域为包含离散DPM码的区域。
S511,结束。
结合图10所示,本公开实施例提供一种用于离散DPM码区域的定位装置200,包括处理器(processor)100和存储器(memory)101。可选地,该装置还可以包括通信接口(Communication Interface)102和总线103。其中,处理器100、通信接口102、存储器101可以通过总线103完成相互间的通信。通信接口102可以用于信息传输。处理器100可以调用存储器101中的逻辑指令,以执行上述实施例的用于离散DPM码区域的定位方法。
此外,上述的存储器101中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器101作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令/模块。处理器100通过运行存储在存储器101中的程序指令/模块,从而执行功能应用以及数据处理,即实现上述实施例中用于离散DPM码区域的定位方法。
存储器101可包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器101可以包括高速随机存取存储器,还可以包括非易失性存储器。
本公开实施例提供了一种图像处理设备,包括:设备本体,以及上述的用于离散DPM码区域的定位装置200。用于离散DPM码区域的定位装置200被安装于设备本体。这里所表述的安装关系,并不仅限于在产品内部放置,还包括了与产品的其他元器件的安装连接,包括但不限于物理连接、电性连接或者信号传输连接等。本领域技术人员可以理解的是,用于离散DPM码区域的定位装置200可以适配于可行的产品主体,进而实现其他可行的实施例。
本公开实施例提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为执行上述用于离散DPM码区域的定位方法。
上述的计算机可读存储介质可以是暂态计算机可读存储介质,也可以是非暂态计算机可读存储介质。
本公开实施例的技术方案可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括一个或多个指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开实施例所述方法的全部或部分步骤。而前述的存储介质可以是非暂态存储介质,包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
以上描述和附图充分地示出了本公开的实施例,以使本领域的技术人员能够实践它们。其他实施例可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施例的部分和特征可以被包括在或替换其他实施例的部分和特征。而且,本申请中使用的用词仅用于描述实施例并且不用于限制权利要求。如在实施例以及权利要求的描述中使用的,除非上下文清楚地表明,否则单数形式的“一个”(a)、“一个”(an)和“所述”(the)旨在同样包括复数形式。类似地,如在本申请中所使用的术语“和/或”是指包含一个或一个以上相关联的列出的任何以及所有可能的组合。另外,当用于本申请中时,术语“包括”(comprise)及其变型“包括”(comprises)和/或包括(comprising)等指陈述的特征、整体、步骤、操作、元素,和/或组件的存在,但不排除一个或一个以上其它特征、整体、步骤、操作、元素、组件和/或这些的分组的存在或添加。在没有更多限制的情况下,由语句“包括一个…”限定的要素,并不排除在包括所述要素的过程、方法或者设备中还存在另外的相同要素。本文中,每个实施例重点说明的可以是与其他实施例的不同之处,各个实施例之间相同相似部分可以互相参见。对于实施例公开的方法、产品等而言,如果其与实施例公开的方法部分相对应,那么相关之处可以参见方法部分的描述。
本领域技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,可以取决于技术方案的特定应用和设计约束条件。所述技术人员可以对每个特定的应用来使用不同方法以实现所描述的功能,但是这种实现不应认为超出本公开实施例的范围。所述技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本文所披露的实施例中,所揭露的方法、产品(包括但不限于装置、设备等),可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,可以仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例。另外,在本公开实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
附图中的流程图和框图显示了根据本公开实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。在附图中的流程图和框图所对应的描述中,不同的方框所对应的操作或步骤也可以以不同于描述中所披露的顺序发生,有时不同的操作或步骤之间不存在特定的顺序。例如,两个连续的操作或步骤实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
Claims (10)
1.一种用于离散DPM码区域的定位方法,其特征在于,包括:
利用边界跟踪在包含离散DPM码区域的图像中搜索闭合轨迹,以获得图像中的所有闭合数据点及闭合数据点的中心;
利用滑动窗口滑动遍历图像,在当前滑动窗口区域内的闭合数据点数量达到第一数量的情况下,对闭合数据点之间的线段进行统计,以获得模块大小;
根据模块大小筛选闭合数据点,并统计筛选后的闭合数据点之间的方向;
在统计的数量最多方向和数量次多方向的夹角满足预设夹角范围的情况下,确定当前滑动窗口区域为包含离散DPM码的区域。
2.根据权利要求1所述的方法,其特征在于,所述利用边界跟踪在包含离散DPM码区域的图像中搜索闭合轨迹,以获得图像中的所有闭合数据点及闭合数据点的中心,包括:
以图像中心为起始点向两端发出水平扫描线,以确定潜在边界点;
从潜在边界点进行边界跟踪,在跟踪到闭合轨迹且闭合轨迹形成的闭合区域满足预设条件的情况下,确定该闭合区域内的数据点为闭合数据点;
求取闭合数据点的所有边界跟踪点坐标的平均值,将该平均值作为对应闭合数据点的中心。
3.根据权利要求2所述的方法,其特征在于,在图像为二值图像的情况下,通过以下方式确定潜在边界点,和/或,确定闭合区域:
将水平扫描线穿过时由黑到白或由白到黑的位置,确定为潜在边界点;和/或,
在DMP码为白底黑点的情况下,确定闭合区域为黑色;在DMP码为黑底白点的情况下,确定闭合区域为白色。
4.根据权利要求1所述的方法,其特征在于,所述对闭合数据点之间的线段进行统计,以获得模块大小,包括:
利用直方图统计闭合数据点之间形成的线段中最短线段的数量;
在最短线段的数量大于或等于第二数量的情况下,将最短线段的长度作为模块大小。
5.根据权利要求4所述的方法,其特征在于,所述根据模块大小筛选闭合数据点,包括:
根据模块大小,确定筛选误差,以确定目标线段的长度范围;
筛除不符合长度范围的线段对应的闭合数据点,以获得有效闭合数据点;
其中,模块大小的长度越大,筛选误差越大。
6.根据权利要求5所述的方法,其特征在于,所述统计筛选后的闭合数据点之间的方向包括:
在图像中多次以预设数据长度按照设定方向遍历方向梯度直方图,以统计有效闭合数据点之间的方向;其中,方向梯度直方图的横坐标为方向,纵坐标为线段数量;
在遍历方向直方图连续出现多个最大值的情况下,取中间方向作为当前出现次数最多的方向。
7.根据权利要求1所述的方法,其特征在于,所述预设夹角范围通过以下方式确定:
确定DPM码的类型;
根据类型和夹角的对应关系,确定最短线段的分布方向的夹角;
根据夹角和角度阈值,确定预设夹角范围。
8.根据权利要求1至7任一项所述的方法,其特征在于,在利用边界跟踪方式在包含离散DPM码区域的图像中搜索闭合轨迹之前,所述方法还包括:
对图像进行二值化处理,以获得处理后的二值图;
在二值图的图像噪声大于噪声阈值的情况下,对二值图进行平滑滤波处理。
9.一种用于离散DPM码区域的定位装置,包括处理器和存储有程序指令的存储器,其特征在于,所述处理器被配置为在运行所述程序指令时,执行如权利要求1至8任一项所述的用于离散DPM码区域的定位方法。
10.一种图像处理设备,其特征在于,包括:
设备本体;
如权利要求9所述的用于离散DPM码区域的定位装置,被安装于所述设备本体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311102181.4A CN116822549B (zh) | 2023-08-30 | 2023-08-30 | 用于离散dpm码区域的定位方法及装置、图像处理设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311102181.4A CN116822549B (zh) | 2023-08-30 | 2023-08-30 | 用于离散dpm码区域的定位方法及装置、图像处理设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116822549A true CN116822549A (zh) | 2023-09-29 |
CN116822549B CN116822549B (zh) | 2023-12-22 |
Family
ID=88117033
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311102181.4A Active CN116822549B (zh) | 2023-08-30 | 2023-08-30 | 用于离散dpm码区域的定位方法及装置、图像处理设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116822549B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060118633A1 (en) * | 2004-12-03 | 2006-06-08 | Symbol Technologies, Inc. | Bar code scanning decoding |
US20070272755A1 (en) * | 2006-05-29 | 2007-11-29 | Shenzhen Syscan Technology Co., Ltd. | Two-directional bar code symbol and its encoding & decoding method |
CN102708351A (zh) * | 2012-05-24 | 2012-10-03 | 江南大学 | 复杂工况背景下的Data Matrix二维条码快速识别方法 |
CN104463067A (zh) * | 2014-12-04 | 2015-03-25 | 四川大学 | 一种Grid Matrix二维条码宏模块提取方法 |
US20160267369A1 (en) * | 2013-11-07 | 2016-09-15 | Scantrust Sa | Two dimensional barcode and method of authentication of such barcode |
US20180018530A1 (en) * | 2014-12-24 | 2018-01-18 | Datalogic Ip Tech S.R.L. | System and method for reading direct part marking (dpm) codes on objects |
CN115880362A (zh) * | 2022-12-22 | 2023-03-31 | 深圳思谋信息科技有限公司 | 码区定位方法、装置、计算机设备及计算机可读存储介质 |
-
2023
- 2023-08-30 CN CN202311102181.4A patent/CN116822549B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060118633A1 (en) * | 2004-12-03 | 2006-06-08 | Symbol Technologies, Inc. | Bar code scanning decoding |
US20070272755A1 (en) * | 2006-05-29 | 2007-11-29 | Shenzhen Syscan Technology Co., Ltd. | Two-directional bar code symbol and its encoding & decoding method |
CN102708351A (zh) * | 2012-05-24 | 2012-10-03 | 江南大学 | 复杂工况背景下的Data Matrix二维条码快速识别方法 |
US20160267369A1 (en) * | 2013-11-07 | 2016-09-15 | Scantrust Sa | Two dimensional barcode and method of authentication of such barcode |
CN104463067A (zh) * | 2014-12-04 | 2015-03-25 | 四川大学 | 一种Grid Matrix二维条码宏模块提取方法 |
US20180018530A1 (en) * | 2014-12-24 | 2018-01-18 | Datalogic Ip Tech S.R.L. | System and method for reading direct part marking (dpm) codes on objects |
CN115880362A (zh) * | 2022-12-22 | 2023-03-31 | 深圳思谋信息科技有限公司 | 码区定位方法、装置、计算机设备及计算机可读存储介质 |
Non-Patent Citations (3)
Title |
---|
刘志 等: "DPM码快速定位关键技术研究", 浙江工业大学学报, pages 28 - 33 * |
王娟 等: "基于自适应超像素分割的点刻式DPM区域定位算法研究", 自动化学报, pages 991 - 1003 * |
王萍 等: "复杂条件下DPM条码的角点检测", 计算机工程与应用, pages 154 - 159 * |
Also Published As
Publication number | Publication date |
---|---|
CN116822549B (zh) | 2023-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5814801A (en) | Maxicode data extraction using spatial domain features exclusive of fourier type domain transfer processing | |
US6371373B1 (en) | Method for reading a two-dimensional barcode | |
EP0825547B1 (en) | Two-dimensional code reader | |
CN109059922B (zh) | 移动机器人定位方法、装置和*** | |
CN111461131B (zh) | 身份证号码信息识别方法、装置、设备及存储介质 | |
EP0961218A1 (en) | Method of binarization in an optical character recognition system | |
CN113177959B (zh) | 一种快速运动过程中qr码实时提取方法 | |
CN113313226B (zh) | 用于确定dm码版本信息的方法及装置、设备、存储介质 | |
CN115131351B (zh) | 基于红外图像的机油散热器检测方法 | |
KR102226845B1 (ko) | 지역적 이진화를 이용한 오브젝트 인식 시스템 및 그 방법 | |
CN101865859A (zh) | 一种图像划痕的检测方法及装置 | |
CN108229232A (zh) | 批量扫描二维码的方法和批量扫描二维码的装置 | |
CN111598104A (zh) | 一种车牌字符识别方法及其*** | |
CN111311497B (zh) | 一种条形码图像角度校正方法和装置 | |
CN116822549B (zh) | 用于离散dpm码区域的定位方法及装置、图像处理设备 | |
Bodnár et al. | A novel method for barcode localization in image domain | |
CN107423653B (zh) | 一种二维码预处理方法、***及解码方法 | |
CN112507751A (zh) | 一种qr码的定位方法及其*** | |
CN112232344A (zh) | 一种数字式万用表读数识别方法 | |
JP4224328B2 (ja) | 車番認識装置 | |
CN110135382B (zh) | 一种人体检测方法和装置 | |
CN111815725A (zh) | 一种qr码区域定位方法 | |
CN110059695B (zh) | 一种基于垂直投影的字符分割方法及终端 | |
CN111160183A (zh) | 一种车辆闯红灯检测方法及装置 | |
CN115880362A (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 |