CN117677970A - 图像处理的方法及其装置 - Google Patents
图像处理的方法及其装置 Download PDFInfo
- Publication number
- CN117677970A CN117677970A CN202280006707.6A CN202280006707A CN117677970A CN 117677970 A CN117677970 A CN 117677970A CN 202280006707 A CN202280006707 A CN 202280006707A CN 117677970 A CN117677970 A CN 117677970A
- Authority
- CN
- China
- Prior art keywords
- branch
- pixel point
- skeleton branch
- searched
- point
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title abstract description 8
- 238000012545 processing Methods 0.000 claims abstract description 89
- 238000000034 method Methods 0.000 claims description 84
- 238000004590 computer program Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 26
- 230000009286 beneficial effect Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/136—Segmentation; Edge detection involving thresholding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/162—Segmentation; Edge detection involving graph-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/181—Segmentation; Edge detection involving edge growing; involving edge linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/194—Segmentation; Edge detection involving foreground-background segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20036—Morphological image processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20036—Morphological image processing
- G06T2207/20044—Skeletonization; Medial axis transform
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Geometry (AREA)
- Image Processing (AREA)
Abstract
本申请实施例提供一种图像处理的方法,包括:根据目标图像的骨架分支的已搜索的当前像素点,搜索骨架分支的下一个像素点;根据骨架分支的已搜索的像素点的数量,确定骨架分支是否为毛刺分支。本申请的技术方案可以兼顾处理速度和准确率。
Description
本申请涉及图像处理领域,特别是涉及一种图像处理的方法及其装置。
以前,大多数图像处理通过人工来实现,这种处理方式效率较低,耗时较长并且处理结果并不乐观。随着技术的发展,越来越多的领域开始利用计算机进行图像处理。
计算机图像处理技术目前不太成熟,难以兼顾准确率和速度。因此,如何提供一种图像处理的方法及其装置,以兼顾处理速度和准确率是一项亟待解决的技术问题。
发明内容
本申请提供一种图像处理的方法及其装置,可以兼顾处理速度和准确率。
第一方面,提供一种图像处理的方法,包括:根据目标图像的骨架分支的已搜索的当前像素点,搜索所述骨架分支的下一个像素点;根据所述骨架分支的已搜索的像素点的数量,确定所述骨架分支是否为毛刺分支。
本申请实施例提供了一种图像处理的方法,包括:根据目标图像的骨架分支的已搜索的当前像素点,搜索所述骨架分支的下一个像素点;根据所述骨架分支的已搜索的像素点的数量,确定所述骨架分支是否为毛刺分支。根据目标图像的骨架分支的已搜索的当前像素点,搜索骨架分支的下一个像素点,即骨架分支的下一个像素点与骨架分支的已搜索的当前像素点相关,也就是说,目标图像的骨架分支是按一定的搜索路径进行搜索的。根据骨架分支的已搜索的像素点的数量,确定骨架分支是否为毛刺分支,也就是说,在一些情况下,不需要搜索完所有的像素点就可以确定骨架分支是否为毛刺分支。相比于通过逐个地依次遍历每个像素点确定毛刺分支,本申请根据沿特定的搜索路径搜索的像素点的数量即可确定毛刺分支。因此,本申请的技术方案可以兼顾处理速度和准确率。
在一种可能的实现方式中,在所述根据目标图像的骨架分支的已搜索的当前像素点,搜索所述骨架分支的下一个像素点之前,所述方法还包括:确定所述目标图像中的端点和分叉点,所述端点和所述分叉点用于搜索所述骨架分支。这样,便于根据图像中的端点和分叉点的情况进行后续的搜索操作。
在一种可能的实现方式中,所述根据目标图像的骨架分支的已搜索的当前像素点,搜索所述骨架分支的下一个像素点,包括:以所述目标图像中的端点为锚点,依次根据所述端点所对应的所述骨架分支的已搜索的当前像素点,搜索所述骨架分支的下一个像素点。这样,以端点为锚点,通过逐个处理每个端点所对应的骨架分支,可以准确地确定骨架分支的数量和类别,避免将不同的骨架分支归为一个骨架分支而导致的毛刺分支误判误删的情况,从而有利于提升确定毛刺分支的准确率。
在一种可能的实现方式中,所述根据所述骨架分支的已搜索的像素点的数量,确定所述骨架分支是否为毛刺分支,包括:在所述骨架分支的已搜索的像素点的数量达到第一阈值的情况下,确定所述骨架分支不是毛刺分支。这样,不需要搜索完骨架分支的所有的像素点就可以确定骨架分支不是毛刺分支,有利于提升处理速度,节省计算资源。
在一种可能的实现方式中,所述根据所述骨架分支的已搜索的像素点的数量,确定所述骨架分支是否为毛刺分支,包括:在所述骨架分支的已搜索的像素点的数量未达到第一阈值且所述骨架分支的已搜索的当前像素点为分叉点的情况下,确定所述骨架分支为毛刺分支。这样,可以快速地确定毛刺分支,不需要搜索完目标图像的所有的像素点就可以确定骨架分支为毛刺分支,有利于提升处理速度,节省计算资源。
在一种可能的实现方式中,所述方法还包括:在所述骨架分支的已搜索的像素点的数量达到第一阈值,或者,所述骨架分支的已搜索的当前像素点为分叉点的情况下,停止搜索。这样,骨架分支的已搜索的像素点的数量达到第一阈值,或者,骨架分支的已搜索的当前像素点为分叉点,可以作为停止搜索的触发条件,从而便于后续操作的进行。
在一种可能的实现方式中,所述目标图像的前景像素点的值对应为1,背景像素点的值对应为0。这样,目标图像中的骨架分支的像素点的值对应为1,便于进行骨架分支的像素点的搜索。
在一种可能的实现方式中,所述根据目标图像的骨架分支的已搜索的当前像素点,搜索所述骨架分支的下一个像素点,包括:将所述已搜索的当前像素点的值转换为0;在所述已搜索的当前像素点的8个邻域像素点中仅有一个前景像素点的情况下,确定所述一个前景像素点为所述骨架分支的下一个像素点。
在该实现方式中,将已搜索的当前像素点的值转换为0,这样,在根据已搜索的当前像素点搜索下一个像素点时,不会再次搜索到已搜索的像素点,从而可以保证沿特定的搜索路径,即骨架分支的骨架,进行搜索;在已搜索的当前像素点的8个邻域像素点中仅有一个前景像素点的情况下,确定该一个前景像素点为骨架分支的下一个像素点,这样可以保证该一个前景像素点为该骨架分支上的像素点。
在一种可能的实现方式中,所述方法还包括:在所述已搜索的当前像素点的8个邻域像素点中有多于一个前景像素点的情况下,确定所述已搜索的当前像素点为分叉点。这样,便于根据当前像素点是否为分叉点确定骨架分支是否为毛刺分支。
在一种可能的实现方式中,所述方法还包括:记录所述已搜索的当前像素点,其中,已记录的像素点的数量为所述骨架分支的已搜索的像素点的数量。这样,便于根据已记录的像素点的数量确定骨架分支的长度,进而确定骨架分支是否为毛刺分支。
在一种可能的实现方式中,所述记录所述已搜索的当前像素点,包括:将所述已搜索的当前像素点的位置信息存储到存储器中。这样,便于根据位置信息得到骨架分支的图形,也便于后续使用以便在需要时从存储器获取。
在一种可能的实现方式中,所述方法还包括:在确定所述骨架分支为毛刺分支的情况下,将已搜索的当前分叉点的值转换为1;和/或,在确定所述骨架分支不是毛刺分支的情况下,将所述骨架分支的已搜索的所有像素点的值转换为1。
在该实现方式中,在确定骨架分支为毛刺分支的情况下,将已搜索的当前分叉点的值转换为1,可以保证通过该分叉点连接的其他的骨架分支之间的连续性,避免在目标图像中出现不连续的图案。在该实现方式中,在确定骨架分支不是毛刺分支的情况下,将骨架分支的已搜索的所有像素点的值转换为1,可以将骨架分支的图形恢复原样。
在一种可能的实现方式中,所述确定所述目标图像中的端点和分叉点,包括:根据所述目标图像的当前像素点的8个邻域像素点的值,确定所述目标图像的当 前像素点为端点或分叉点。该方法简单易行,便于端点或分叉点的确认。
在一种可能的实现方式中,所述确定所述目标图像的当前像素点为端点,包括:在所述目标图像的当前像素点的8个邻域像素点的值之和为1的情况下,确定所述当前像素点为端点。这样,便于确定目标图像中的端点。
在一种可能的实现方式中,所述确定所述目标图像的当前像素点为所述分叉点,包括:在所述目标图像的当前像素点的8个邻域像素点的值之和大于或等于3,且所述8个邻域像素点中的至少三个邻域像素点的值比顺时针或逆时针方向上的上一个邻域像素点的值小1或大1的情况下,确定所述当前像素点为分叉点。这样,可以准确地确定目标图像中的分叉点,避免将非分叉点误判为分叉点。
在一种可能的实现方式中,所述方法还包括:在所述分叉点的数量为0的情况下,根据所述骨架分支的前景像素点的数量,确定所述骨架分支是否为毛刺分支。这样,有利于进一步提高该方法的处理速度,同时也可以避免毛刺分支漏删的情况。
在一种可能的实现方式中,所述根据所述骨架分支的前景像素点的数量,确定所述骨架分支是否为毛刺分支,包括:在所述骨架分支的前景像素点的数量小于第一阈值的情况下,确定所述骨架分支为毛刺分支;或者,在所述骨架分支的前景像素点的数量不小于第一阈值的情况下,确定所述骨架分支不是毛刺分支。这样,通过第一阈值的设置,便于根据骨架分支的前景像素点的数量与第一阈值之间的关系,确定骨架分支是否为毛刺分支。
在一种可能的实现方式中,所述方法还包括:获取输入图像,所述输入图像的前景像素点的值对应为1,背景像素点的值对应为0;提取所述输入图像的连通域,得到至少一个所述目标图像,每个所述目标图像包括所述输入图像的一个连通域。这样,每个目标图像对应一个连通域,对每个目标图像进行单独处理,有利于提高该方法的处理速度。
在一种可能的实现方式中,所述骨架分支的宽度为单像素宽度。这样,可以保证在搜索骨架分支的下一个像素点时,沿骨架的法向只有一个邻域像素点,可以保证骨架路径的唯一性。
第二方面,提供一种图像处理的装置,包括:处理模块,所述处理模块用于:根据目标图像的骨架分支的已搜索的当前像素点,确定所述骨架分支的下一个像 素点;根据所述骨架分支的已搜索的像素点的数量,确定所述骨架分支是否为毛刺分支。
第三方面,提供一种图像处理的装置,包括:存储器,用于存储计算机可执行指令;处理器,用于访问所述存储器,并执行所述计算机可执行指令,以进行第一方面及第一方面中任一项所述的方法中的操作。
第四方面,提供一种存储介质,用于存储计算机程序,当所述计算机程序被计算设备执行时,使得所述计算设备实现如第一方面及第一方面中任一项所述的方法。
本申请实施例提供了一种图像处理的方法,包括:根据目标图像的骨架分支的已搜索的当前像素点,搜索所述骨架分支的下一个像素点;根据所述骨架分支的已搜索的像素点的数量,确定所述骨架分支是否为毛刺分支。根据目标图像的骨架分支的已搜索的当前像素点,搜索骨架分支的下一个像素点,即骨架分支的下一个像素点与骨架分支的已搜索的当前像素点相关,也就是说,目标图像的骨架分支是按一定的搜索路径进行搜索的。根据骨架分支的已搜索的像素点的数量,确定骨架分支是否为毛刺分支,也就是说,在一些情况下,不需要搜索完所有的像素点就可以确定骨架分支是否为毛刺分支。相比于通过逐个地依次遍历每个像素点确定毛刺分支,本申请根据沿特定的搜索路径搜索的像素点的数量即可确定毛刺分支。因此,本申请的技术方案可以兼顾处理速度和准确率。
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据附图获得其他的附图。
图1为本申请一实施例的图像处理的方法;
图2为本申请一实施例的目标图像的示意图;
图3为本申请一实施例的邻域像素点的示意图;
图4为本申请一实施例的邻域像素点的示意图;
图5为本申请一实施例的邻域像素点的示意图;
图6至图8为本申请一实施例的邻域像素点的示意图;
图9为本申请一实施例的确定毛刺分支的方法的流程图;
图10为本申请一实施例的图像处理的方法示意图;
图11为本申请一实施例的输入图像的示意图;
图12和图13为本申请一实施例的输入图像提取连通域后的示意图;
图14为本申请一实施例的图像处理装置的示意图;
图15为本申请一实施例的图像处理装置的示意图。
在附图中,附图并未按照实际的比例绘制。
下面结合附图和实施例对本申请的实施方式作进一步详细描述。以下实施例的详细描述和附图用于示例性地说明本申请的原理,但不能用来限制本申请的范围,即本申请不限于所描述的实施例。
本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本申请中字符“/”,一般表示前后关联对象是一种“或”的关系。
以前,大多数图像处理通过人工来实现,这种处理方式效率较低,耗时较长并且处理结果并不乐观。随着技术的发展,越来越多的领域开始利用计算机进行图像处理。相比于人工处理,计算机进行图像处理的准确率以及速度都有明显改善。因此,在一些毛刺识别以及去除领域,也越来越多地用到计算机的图像处理。但现有的图像的毛刺处理的方法,大多通过按照顺序依次遍历图像中的像素点来查找并确认毛刺,该方法耗时较多,处理速度较慢,并且存在误删的情况。
有鉴于此,本申请实施例提供了一种图像处理的方法,包括:根据目标图像的骨架分支的已搜索的当前像素点,搜索骨架分支的下一个像素点;根据骨架分支的已搜索的像素点的数量,确定骨架分支是否为毛刺分支。根据目标图像的骨架分支的已搜索的当前像素点,搜索骨架分支的下一个像素点,即骨架分支的下一个像素点与骨架分支的已搜索的当前像素点相关,也就是说,目标图像的骨架分支是按一定的搜索路径进行搜索的。根据骨架分支的已搜索的像素点的数量,确定骨架分支是否为 毛刺分支,也就是说,在一些情况下,不需要搜索完所有的像素点就可以确定骨架分支是否为毛刺分支。相比于通过逐个地依次遍历每个像素点确定毛刺分支,本申请根据沿特定的搜索路径搜索的像素点的数量即可确定毛刺分支。因此,本申请的技术方案可以兼顾处理速度和准确率。
图1为本申请一实施例的图像处理的方法,方法100具体包括以下步骤110和步骤120。
步骤110,根据目标图像的骨架分支的已搜索的当前像素点,搜索骨架分支的下一个像素点。
在图像处理领域,通过摄像机拍摄的图像或经过一些图像合成、处理等步骤后的图像一般会存在噪声,这些噪声引起图像中的图像边缘产生突出或凹陷的毛刺,这些毛刺会对后续的图像应用带来一些不便,例如在工业领域,导致一些缺陷的错删或漏删。
目标图像的骨架可以为目标图像中由前景像素点组成的图形,骨架分支可以指由于该图形的分叉点的存在而导致的该骨架被分为好几支的分支图形。例如,一个目标图像中包括一个骨架,当该骨架不存在分叉点时,该骨架即为骨架分支;当该骨架存在分叉点时,该骨架会被分为至少三个骨架分支。
毛刺分支由于噪声等原因而产生,骨架分支可以包括毛刺分支,在某些特定条件下,骨架分支可以被确定为毛刺分支。
图2为本申请一实施例的目标图像的示意图。如图2所示,目标图像可以包括多个骨架分支,例如,目标图像包括第一骨架分支W1,第二骨架分支W2和第三骨架分支W3。
在步骤110中,例如,对于第一骨架分支W1而言,B1点为已搜索的当前像素点,根据B1点搜索第一骨架分支W1的下一个像素点B2。也就是说,骨架分支的待搜索的下一个像素点与骨架分支的已搜索的当前像素点相关,即,目标图像的骨架分支是按一定的搜索路径进行搜索的。相比于逐个地依次遍历每个像素点,该方法有利于提高处理速度,同时也可以避免骨架分支的误判。
步骤120,根据骨架分支的已搜索的像素点的数量,确定骨架分支是否为毛刺分支。
例如,在骨架分支的已搜索的像素点的数量达到预设阈值的情况下,确定 骨架分支不是毛刺分支。可选地,在步骤120中,在一些情况下,不需要搜索完某一骨架分支的所有的像素点就可以确定该骨架分支是否为毛刺分支。这样,相比于搜索完目标图像的全部像素点而言,该方法可以在一定程度上减少搜索量,有利于节约计算资源。
本申请实施例提供了一种图像处理的方法,包括:根据目标图像的骨架分支的已搜索的当前像素点,搜索骨架分支的下一个像素点;根据骨架分支的已搜索的像素点的数量,确定骨架分支是否为毛刺分支。根据目标图像的骨架分支的已搜索的当前像素点,搜索骨架分支的下一个像素点,即骨架分支的下一个像素点与骨架分支的已搜索的当前像素点相关,也就是说,目标图像的骨架分支是按一定的搜索路径进行搜索的。根据骨架分支的已搜索的像素点的数量,确定骨架分支是否为毛刺分支,也就是说,在一些情况下,不需要搜索完所有的像素点就可以确定骨架分支是否为毛刺分支。相比于通过逐个地依次遍历每个像素点确定毛刺分支,本申请根据沿特定的搜索路径搜索的像素点的数量即可确定毛刺分支。因此,本申请的技术方案可以兼顾处理速度和准确率。
可选地,在本申请一实施例中,在步骤110之前,方法100还包括:确定目标图像中的端点和分叉点,该端点和该分叉点用于搜索骨架分支。
分叉点可以为目标图像中的多个骨架分支的交叉点,例如,图2中的A点。端点可以为目标图像中的骨架分支的起始点,例如,图2中的B点,C点和D点,其中B点为第一骨架分支W1的端点,C点为第一骨架分支W2的端点,D点为第一骨架分支W3的端点。
确定目标图像中的端点和分叉点可以包括:确定目标图像中的端点和分叉点的数量和/或位置。
在步骤110之前,确定目标图像中的端点和分叉点,这样便于根据图像中的端点和分叉点的情况进行后续的搜索操作。
可选地,在本申请一实施例中,在步骤110中,以目标图像中的端点为锚点,依次根据端点所对应的骨架分支的已搜索的当前像素点,搜索骨架分支的下一个像素点。
在步骤110中,在分叉点的数量大于0的情况下,以目标图像中的端点为锚点,依次根据端点所对应的骨架分支的已搜索的当前像素点,搜索骨架分支的下一 个像素点。
可选地,锚点为已搜索的当前像素点。以目标图像中的端点为锚点,可以指,以目标图像中的端点作为起始点,从端点开始进行搜索。
根据端点对应的骨架分支的已搜索的当前像素点,搜索骨架分支的下一个像素点,可以包括以下具体方法。例如,参见图2所示,对于目标图像的第一骨架分支W1而言,以端点B为起点,即端点B作为第一骨架分支W1的已搜索的当前像素点,根据端点B搜索第一骨架分支W1的下一个像素点B1;在搜索到B1后,将B1作为已搜索的当前像素点,根据B1搜索第一骨架分支W1的下一个像素点B2,…在第一骨架分支W1上依次进行下一个像素点的搜索。其中,下一个像素点可以为已搜索的当前像素点的邻域像素点,例如,下一个像素点为已搜索的当前像素点的8邻域的像素点中的一个。
可选地,搜索步长,即,下一个像素点与已搜索的当前像素点之间的距离可以根据实际需要具体设置,从而兼顾搜索速度与搜索准确率。
依次根据端点所对应的骨架分支的已搜索的当前像素点,搜索骨架分支的下一个像素点,可以包括以下具体方法。例如,参见图2所示,依次搜索第一骨架分支W1,第二骨架分支W2和第三骨架分支W3,也就是说,目标图像中的每个端点所对应的骨架分支都要进行搜索,但每个骨架分支的搜索顺序不作具体限定。
在相关技术的一些方案中,通过以下方法对目标图像中的骨架分支进行分类。参见图2所示,按照从左到右,再从上到下的顺序依次对目标图像中的像素点遍历,也就是说,先从目标图像的最上端开始,依次遍历第一行,第二行,…直至最后一行。在该方法中,若当前像素点为前景点,则分配邻域前景像素点的标签,若当前像素点为前景点且为端点,则为该像素点分配一个新的标签。按照此方法,第一骨架分支W1被分配一个标签L1,第二骨架分支W2和第三骨架分支W3被分配另一个标签L2,L1与L2不同。在这种情况下,一方面,可能会导致骨架分支的数量计算错误;另一方面,很可能将第一骨架分支W1作为毛刺分支删除,而实际应用中第二骨架分支W2更可能为毛刺分支。因此,相关技术中的方法可能会造成骨架分支的计数错误,毛刺分支的误判和误删。
在该实施例中,以目标图像中的端点为锚点,依次根据端点所对应的骨架分支的已搜索的当前像素点,搜索骨架分支的下一个像素点,可以准确地确定骨架分 支的数量和类别,避免将不同的骨架分支归为一个骨架分支而导致的毛刺分支误判误删的情况,从而有利于提升确定毛刺分支的准确率。
可选地,在本申请一实施例中,在步骤120中,在骨架分支的已搜索的像素点的数量达到第一阈值的情况下,确定骨架分支不是毛刺分支。
可选地,第一阈值可以根据实际情况具体设置,例如根据具体应用领域的经验值设置。
可选地,参见图2,对于第三骨架分支W3而言,在第三骨架分支W3的已搜索的像素点的数量达到第一阈值时,确定第三骨架分支W3不是毛刺分支。
在该实施例中,不需要搜索完骨架分支的所有的像素点就可以确定骨架分支不是毛刺分支,有利于提升处理速度,节省计算资源。
可选地,在本申请一实施例中,在步骤120中,在骨架分支的已搜索的像素点的数量未达到第一阈值且所述骨架分支的已搜索的当前像素点为分叉点的情况下,确定骨架分支为毛刺分支。
例如,参见图2,对于第二骨架分支W2而言,以端点C为起点,作为第二骨架分支W2的已搜索的当前像素点,搜索第二骨架分支W2的下一个像素点…直至已搜索的当前像素点为分叉点A,此时,第二骨架分支W2的已搜索的像素点的数量未达到第一阈值。在这种情况下,可以确定第二骨架分支W2为毛刺分支。
在该实施例中,在骨架分支的已搜索的像素点的数量未达到第一阈值的前提下,若已搜索的当前像素点为分叉点,即可确定该骨架分支为毛刺分支。这样,可以快速地确定毛刺分支,不需要搜索完目标图像所有的像素点就可以确定该骨架分支为毛刺分支,有利于提升处理速度,节省计算资源。
可选地,在本申请一实施例中,在骨架分支的已搜索的像素点的数量达到第一阈值,或者,骨架分支的已搜索的当前像素点为分叉点的情况下,停止搜索。
可选地,参见图2,对于第三骨架分支W3,在第三骨架分支W3的已搜索的像素点的数量达到第一阈值时,停止搜索。例如,在D1点作为已搜索的当前像素点时,此时,第三骨架分支W3的已搜索的像素点的数量达到第一阈值,停止搜索,从而第三骨架分支W3上的D1点至A点之间不需要再进行搜索,也就是说,对第三骨架分支W3的搜索结束,从而可以对其它骨架分支,例如第一骨架分支W1和第二骨架分支W2进行搜索或结束整个目标图像的搜索。
可选地,参见图2,对于第二骨架分支W2,在已搜索的当前像素点为分叉点A时,停止搜索,也就是说,这时对第二骨架分支W2的搜索结束,从而可以对其它骨架分支进行搜索或结束整个目标图像的搜索。
可选地,结束整个目标图像的搜索包括:在目标图像的所有骨架分支停止搜索的情况下,结束整个目标图像的搜索。
在该实施例中,骨架分支的已搜索的像素点的数量达到第一阈值,或者,骨架分支的已搜索的当前像素点为分叉点,可以作为停止搜索的触发条件,从而便于后续操作的进行。
可选地,在本申请一实施例中,目标图像的前景像素点的值对应为1,背景像素点的值对应为0。这样,目标图像中的骨架分支的像素点的值为1,便于进行骨架分支的像素点的搜索。
前景像素点的值对应为1,可以指,赋予前景像素点的标签值为1。背景像素点的值对应为0,可以指,赋予背景像素点的标签值为0。例如,目标图像中的前景像素点的值为0-255中的任一个,背景像素点的值为0-255中的任一个,通过进行预设处理,可以将前景像素点的值统一标签为1,背景像素点的值统一标签为0。
可选地,前景像素点的值对应为1,可以指,前景像素点的本身的像素值为1。背景像素点的值对应为0,可以指,背景像素点的本身的像素值为0。
目标图像的前景像素点的值与背景像素点的值不同。目标图像的前景像素点的值可以大于也可以小于背景像素点的值,这可以根据实际情况具体设置。
可选地,在本申请一实施例中,将已搜索的当前像素点的值转换为0;在已搜索的当前像素点的8个邻域像素点中仅有一个前景像素点的情况下,确定该一个前景像素点为骨架分支的下一个像素点。
将已搜索的当前像素点的值转换为0,例如,对于第一骨架分支W1而言,像素点B1为已搜索的当前像素点并且像素值为1,在根据像素点B1搜索第一骨架分支W1的下一个像素点B2之前,将像素点B1的像素值转换为0。这样,在根据像素点B1搜索像素点B2时,不会再次搜索到已搜索的当前像素点B1。
在已搜索的当前像素点的8个邻域像素点中仅有一个前景像素点的情况下,确定该一个前景像素点为骨架分支的下一个像素点。例如,对于第一骨架分支W1而言,像素点B1为已搜索的当前像素点并且像素值转换为0,B1的8个邻域像素点中 仅有一个前景像素点B2,此时B2可以确定为第一骨架分支W1的下一个像素点。若B1的8个邻域像素点中有两个或更多前景像素点,则这些前景像素点不属于第一骨架分支W1,不能被确定为第一骨架分支W1的下一个像素点。
在该实施例中,将已搜索的当前像素点的值转换为0,这样,在根据已搜索的当前像素点搜索下一个像素点时,不会再次搜索到已搜索的像素点,从而可以保证沿特定的搜索路径,即骨架分支的骨架,进行搜索;在已搜索的当前像素点的8个邻域像素点中仅有一个前景像素点的情况下,确定该一个前景像素点为骨架分支的下一个像素点,这样可以保证该一个前景像素点为该骨架分支上的像素点。
可选地,在本申请一实施例中,在已搜索的当前像素点的8个邻域像素点中有多于一个前景像素点的情况下,确定已搜索的当前像素点为分叉点。
例如,对于第二骨架分支W2而言,当A点为第二骨架分支W2的已搜索的当前像素点且A点的像素值转换为0时,A点的8邻域中有两个前景像素点。在这种情况下,可以确定A点为分叉点。
在该实施例中,确定已搜索的当前像素点为分叉点,可以为,按照特定的搜索路径搜索,从而在沿该特定搜索路径进行搜索的过程中,确定已搜索的当前像素点为分叉点。
可选地,确定已搜索的当前像素点为分叉点的方法与通过逐行依次遍历的方式确定分叉点的方法不同。
可选地,在其它实施例中,已搜索的当前像素点的8邻域可以有三个,四个甚至更多的像素点,这时,可以确定该已搜索的当前像素点为分叉点。
在该实施例中,便于根据当前像素点是否为分叉点确定骨架分支是否为毛刺分支。
可选地,在本申请一实施例中,还可以记录已搜索的当前像素点,其中,已记录的像素点的数量为骨架分支的已搜索的像素点的数量。这样,便于根据已记录的像素点的数量确定骨架分支的长度,进而确定骨架分支是否为毛刺分支。
可选地,在本申请一实施例中,可以将已搜索的当前像素点的位置信息存储到存储器中。这样,便于根据位置信息得到骨架分支的图形,也便于后续使用以便在需要时从存储器获取。
可选地,存储器为堆栈容器。
可选地,在本申请一实施例中,在确定骨架分支为毛刺分支的情况下,将已搜索的当前分叉点的值转换为1;或,在确定骨架分支不是毛刺分支的情况下,将骨架分支的已搜索的所有像素点的值转换为1。
在该实施例中,在确定骨架分支为毛刺分支的情况下,将已搜索的当前分叉点的值转换为1,可以保证通过该分叉点连接的其他的骨架分支之间的连续性,避免在目标图像中出现不连续的图案。例如,在对第二骨架分支W2进行搜索的过程中,确定A点为分叉点后,若未将A点的值转换为1,则会导致第一骨架分支W1和第三骨架分支W3之间不连续,从而可能会导致骨架分支的计数错误。
在该实施例中,在确定骨架分支不是毛刺分支的情况下,将骨架分支的已搜索的所有像素点的值转换为1,可以将骨架分支的图形恢复原样。
可选地,在本申请一实施例中,可以根据目标图像的当前像素点的8个邻域像素点的值,确定目标图像的当前像素点为端点或分叉点。该方法简单易行,便于端点或分叉点的确认。
在该实施例中,可以采用逐行逐个像素点遍历的方式确定目标图像中的分叉点和端点。例如,采用从上到下,从左到右的顺序进行遍历,查找或确定分叉点和端点。在该遍历过程中,即可确认端点和分叉点。
在该实施例中,确定目标图像中的端点和分叉点可以包括:在目标图像中的端点的个数大于2的情况下,确定目标图像中存在分叉点;在目标图像中的端点的个数为2的情况下,确定目标图像中不存在分叉点。
可选地,在本申请一实施例中,在目标图像的当前像素点的8个邻域像素点的值之和为1的情况下,确定当前像素点为端点。
图3为本申请一实施例的邻域像素点的示意图。如图3所示,P1点代表当前像素点,P2,P3,P4,P5,P6,P7,P8,P9代表P1的8邻域的像素点。当P1的8邻域的像素点的像素值之和等于1时,即可确定当前像素点P1为端点。
该实施例的方法便于确定目标图像中的端点。
可选地,在本申请一实施例中,在目标图像的当前像素点的8个邻域像素点的值之和大于或等于3,且8个邻域像素点中的至少三个邻域像素点的值比顺时针或逆时针方向上的上一个邻域像素点的值小1或大1的情况下,确定当前像素点为分叉点。
图4为本申请一实施例的邻域像素点的示意图。图4中的(a)为当前像素点的8邻域像素点的取值的示意图,图4中的(b)为当前像素点所在的骨架分支的示意图。结合图3和图4所示,P3,P5,P7的像素值为1,P1,P2,P4,P6,P8,P9的像素值为0。当前像素点P1的8个邻域像素点的值之和为3,并且沿顺时针方向,P4的像素值比P3的像素值少1,P6的像素值比P5的像素值少1,P8的像素值比P7的像素值少1,即有3个邻域像素点的值比顺时针方向上的上一个邻域像素点的值小1。如图4所示,可以确定当前像素点P1为分叉点。
图5为本申请一实施例的邻域像素点的示意图。图5中的(a)为当前像素点的8邻域像素点的取值的示意图,图5中的(b)为当前像素点所在的骨架分支的示意图。结合图3和图4所示,P3,P5,P7,P8,P9的像素值为1,P1,P2,P4,P6,的像素值为0。当前像素点P1的8个邻域像素点的值之和为5,并且沿顺时针方向,P4的像素值比P3的像素值少1,P6的像素值比P5的像素值少1,P2的像素值比P9的像素值少1,即有3个邻域像素点的值比顺时针方向上的上一个邻域像素点的值小1。如图5所示,可以确定当前像素点P1为分叉点。
需要说明的是,在目标图像的当前像素点的8个邻域像素点的值之和大于或等于3的情况下,至少三个邻域像素点的值比顺时针方向上的上一个邻域像素点的值小1或大1,至少三个邻域像素点的值比逆时针方向上的上一个邻域像素点的值小1或大1均能确定当前像素点为分叉点。
图6至图8为本申请一实施例的邻域像素点的示意图。如图6至图8中的(a)为当前像素点的8邻域像素点的取值的示意图,当前像素点P1的8个邻域的像素点的值之和为3。图6至图8中的(b)为当前像素点所在的骨架分支的示意图,如图6至图8中的(b)所示,因为满足8个邻域像素点中的至少三个邻域像素点的值比顺时针或逆时针方向上的上一个邻域像素点的值小1或大1的,当前像素点P1不能被确定为分叉点。
在该实施例中,在目标图像的当前像素点的8个邻域像素点的值之和大于或等于3,且8个邻域像素点中的至少三个邻域像素点的值比顺时针或逆时针方向上的上一个邻域像素点的值小1或大1的情况下,确定当前像素点为分叉点。这样,可以准确地确定目标图像中的分叉点,避免将非分叉点误判为分叉点。
可选地,在本申请一实施例中,在分叉点的数量为0的情况下,根据骨架 分支的前景像素点的数量,确定骨架分支是否为毛刺分支。
在该实施例中,在分叉点的数量为0的情况下,根据骨架分支的前景像素点的数量确定骨架分支是否为毛刺分支,可以避免直接将没有分叉点的骨架分支直接确认为非毛刺分支,从而导致毛刺分支的漏删的情况。此外,在分叉点的数量为0的情况下,直接判断该骨架分支的前景像素点数量即可确认该骨架分支是否为毛刺分支,有利于提高该方法的处理速度。
可选地,在本申请一实施例中,在分叉点的数量为0的情况下,在骨架分支的前景像素点的数量小于第一阈值的情况下,确定骨架分支为毛刺分支;或者,在骨架分支的前景像素点的数量不小于第一阈值的情况下,确定骨架分支不是毛刺分支。这样,通过第一阈值的设置,便于根据骨架分支的前景像素点的数量与第一阈值之间的关系,确定骨架分支是否为毛刺分支。
图9为本申请一实施例的确定毛刺分支的方法的流程图。如图9所示,方法900包括以下步骤。
步骤910,获取目标图像。
可选地,目标图像为原始图片经过处理后的图像。目标图像为二值化图像,即,目标图像中的骨架分支的像素点,即前景像素点的像素值为1;其他像素点,即背景像素点的像素值为0。
步骤920,确定目标图像中的分叉点和端点。
具体地,确定目标图像中的分叉点和端点的方法可以参考与图3至图8相关的内容,在此不再赘述。
步骤930,判断目标图像中的分叉点的个数是否大于0。若分叉点的个数不大于0,执行步骤940。若目标图像中的分叉点的个数大于0,执行步骤950。
步骤940,统计目标图像中的前景像素点的数量。
步骤950,根据目标图像的骨架分支的已搜索的当前像素点,搜索骨架分支的下一个像素点。
步骤960,判断已搜索的像素点的数量是否达到第一阈值或当前像素点是否为分叉点。若已搜索的像素点的数量达到第一阈值或当前像素点为分叉点,执行步骤970。若已搜索的像素点的数量未达到第一阈值并且当前像素点不是分叉点,返回步骤950。
步骤970,停止搜索。
可选地,停止搜索可以为停止对该骨架分支上的下一个像素点的搜索。
可选地,在目标图像的所有骨架分支都满足步骤960的条件的情况下,停止搜索可以为停止对目标图像的所有骨架分支的下一个像素点的搜索。
可选地,在本申请一实施例中,方法100还包括:获取输入图像,输入图像的前景像素点的值对应为1,背景像素点的值对应为0;提取输入图像的连通域,得到至少一个目标图像,每个目标图像包括输入图像的一个连通域。
图10为本申请一实施例的图像处理的方法示意图。如图10所示,该方法包括以下步骤。
步骤1010,获取输入图像。
输入图像可以为原始图片进行二值化处理后的图像,输入图像的前景像素点的值为1,背景像素点的值为0。
步骤1020,提取输入图像的连通域。
连通域,也被成为连通区域,一般是指图像中具有相同像素值且位置相邻的前景像素点组成的图像区域。
可选地,步骤1020在步骤910之前执行。
图11为本申请一实施例的输入图像的示意图,图12和图13为本申请一实施例的输入图像提取连通域后的示意图。如图11所示,该输入图像包括两个连通区域,经过连通域提取后,可得到图12和图13所示的图像,其中,每个连通域可以与一个目标图像相对应。连通域的提取可以采用Two-Pass法、种子填充算法等,本申请实施例对此不作具体限制。
在该实施例中,每个目标图像对应一个连通域,对每个目标图像进行单独处理,有利于提高该方法的处理速度。
可选地,在本申请一实施例中,骨架分支的宽度为单像素宽度。这样,可以保证在搜索骨架分支的下一个像素点时,沿骨架的法向只有一个邻域像素点,可以保证骨架路径的唯一性。
上文结合图1至图13,详细描述了本申请的方法实施例,下文将详细描述本申请的图像处理装置的实施例。应理解,方法实施例与装置的实施例相互对应,类似的描述可以参照方法实施例。
图14为本申请一实施例的图像处理装置的示意图。如图14所示,图像处理装置200包括处理模块201。处理模块201用于:根据目标图像的骨架分支的已搜索的当前像素点,确定骨架分支的下一个像素点;根据骨架分支的已搜索的像素点的数量,确定骨架分支是否为毛刺分支。
可选地,在本申请一实施例中,处理模块201用于:在根据目标图像的骨架分支的已搜索的当前像素点,搜索骨架分支的下一个像素点之前,确定目标图像中的端点和分叉点,该端点和分叉点用于搜索骨架分支。
可选地,在本申请一实施例中,处理模块201用于:以目标图像中的端点为锚点,依次根据端点所对应的骨架分支的已搜索的当前像素点,搜索骨架分支的下一个像素点。
可选地,在本申请一实施例中,处理模块201用于:在骨架分支的已搜索的像素点的数量达到第一阈值的情况下,确定骨架分支不是毛刺分支。
可选地,在本申请一实施例中,处理模块201用于:在骨架分支的已搜索的像素点的数量未达到第一阈值且骨架分支的已搜索的当前像素点为分叉点的情况下,确定骨架分支为毛刺分支。
可选地,在本申请一实施例中,处理模块201用于:在骨架分支的已搜索的像素点的数量达到第一阈值,或者,骨架分支的已搜索的当前像素点为分叉点的情况下,停止搜索。
可选地,在本申请一实施例中,处理模块201用于:将已搜索的当前像素点的值转换为0;在已搜索的当前像素点的8个邻域像素点中仅有一个前景像素点的情况下,确定该一个前景像素点为骨架分支的下一个像素点。
可选地,在本申请一实施例中,处理模块201用于:在已搜索的当前像素点的8个邻域像素点中有多于一个前景像素点的情况下,确定已搜索的当前像素点为分叉点。
可选地,在本申请一实施例中,处理模块201用于:记录已搜索的当前像素点,其中,已记录的像素点的数量为骨架分支的已搜索的像素点的数量。
可选地,在本申请一实施例中,处理模块201用于:将已搜索的当前像素点的位置信息存储到存储器中。
可选地,在本申请一实施例中,处理模块201用于:在确定骨架分支为毛 刺分支的情况下,将已搜索的当前分叉点的值转换为1;或,在确定骨架分支不是毛刺分支的情况下,将骨架分支的已搜索的所有像素点的值转换为1。
可选地,在本申请一实施例中,处理模块201用于:根据目标图像的当前像素点的8个邻域像素点的值,确定目标图像的当前像素点为端点或分叉点。
可选地,在本申请一实施例中,处理模块201用于:在目标图像的当前像素点的8个邻域像素点的值之和为1的情况下,确定当前像素点为端点。
可选地,在本申请一实施例中,处理模块201用于:在目标图像的当前像素点的8个邻域像素点的值之和大于或等于3,且8个邻域像素点中的至少三个邻域像素点的值比顺时针或逆时针方向上的上一个邻域像素点的值小1或大1的情况下,确定当前像素点为分叉点。
可选地,在本申请一实施例中,处理模块201用于:在分叉点的数量为0的情况下,根据骨架分支的前景像素点的数量,确定骨架分支是否为毛刺分支。
可选地,在本申请一实施例中,处理模块201用于:在骨架分支的前景像素点的数量小于第一阈值的情况下,确定骨架分支为毛刺分支;或者,在骨架分支的前景像素点的数量不小于第一阈值的情况下,确定骨架分支不是毛刺分支。
可选地,在本申请一实施例中,处理模块201用于:获取输入图像,输入图像的前景像素点的值对应为1,背景像素点的值对应为0;提取输入图像的连通域,得到至少一个目标图像,每个目标图像包括输入图像的一个连通域。
图15为本申请一实施例的图像处理装置的示意图。如图15所示,本申请实施例提供一种图像处理的装置210,包括存储器211和处理器212。存储器211用于存储计算机可执行指令;处理器212用于访问所述存储器,并执行所述计算机可执行指令,以进行前述实施例中任一项的图像处理的方法中的操作。
本申请实施例的处理器212可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法和步骤。通用处理器可以是微处理器或者该处理器也 可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
本申请实施例的存储器211可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本申请实施例提供一种存储介质,用于存储计算机程序,当计算机程序被计算设备执行时,使得计算设备实现前述实施例中任一项所述的方法。
虽然已经参考优选实施例对本申请进行了描述,但在不脱离本申请的范围的情况下,可以对其进行各种改进并且可以用等效物替换其中的部件。尤其是,只要不存在结构冲突,各个实施例中所提到的各项技术特征均可以任意方式组合起来。本申请并不局限于文中公开的特定实施例,而是包括落入权利要求的范围内的所有技术方案。
Claims (40)
- 一种图像处理的方法,其特征在于,包括:根据目标图像的骨架分支的已搜索的当前像素点,搜索所述骨架分支的下一个像素点;根据所述骨架分支的已搜索的像素点的数量,确定所述骨架分支是否为毛刺分支。
- 根据权利要求1所述的方法,其特征在于,在所述根据目标图像的骨架分支的已搜索的当前像素点,搜索所述骨架分支的下一个像素点之前,所述方法还包括:确定所述目标图像中的端点和分叉点,所述端点和所述分叉点用于搜索所述骨架分支。
- 根据权利要求2所述的方法,其特征在于,所述根据目标图像的骨架分支的已搜索的当前像素点,搜索所述骨架分支的下一个像素点,包括:以所述目标图像中的端点为锚点,依次根据所述端点所对应的所述骨架分支的已搜索的当前像素点,搜索所述骨架分支的下一个像素点。
- 根据权利要求1至3中任一项所述的方法,其特征在于,所述根据所述骨架分支的已搜索的像素点的数量,确定所述骨架分支是否为毛刺分支,包括:在所述骨架分支的已搜索的像素点的数量达到第一阈值的情况下,确定所述骨架分支不是毛刺分支。
- 根据权利要求1至4中任一项所述的方法,其特征在于,所述根据所述骨架分支的已搜索的像素点的数量,确定所述骨架分支是否为毛刺分支,包括:在所述骨架分支的已搜索的像素点的数量未达到第一阈值且所述骨架分支的已搜索的当前像素点为分叉点的情况下,确定所述骨架分支为毛刺分支。
- 根据权利要求1至5中任一项所述的方法,其特征在于,所述方法还包括:在所述骨架分支的已搜索的像素点的数量达到第一阈值,或者,所述骨架分支的已搜索的当前像素点为分叉点的情况下,停止搜索。
- 根据权利要求1至6中任一项所述的方法,其特征在于,所述目标图像的前景像素点的值对应为1,背景像素点的值对应为0。
- 根据权利要求7所述的方法,其特征在于,所述根据目标图像的骨架分支的已 搜索的当前像素点,搜索所述骨架分支的下一个像素点,包括:将所述已搜索的当前像素点的值转换为0;在所述已搜索的当前像素点的8个邻域像素点中仅有一个前景像素点的情况下,确定所述一个前景像素点为所述骨架分支的下一个像素点。
- 根据权利要求8所述的方法,其特征在于,所述方法还包括:在所述已搜索的当前像素点的8个邻域像素点中有多于一个前景像素点的情况下,确定所述已搜索的当前像素点为分叉点。
- 根据权利要求8或9所述的方法,其特征在于,所述方法还包括:记录所述已搜索的当前像素点,其中,已记录的像素点的数量为所述骨架分支的已搜索的像素点的数量。
- 根据权利要求10所述的方法,其特征在于,所述记录所述已搜索的当前像素点,包括:将所述已搜索的当前像素点的位置信息存储到存储器中。
- 根据权利要求8至11中任一项所述的方法,其特征在于,所述方法还包括:在确定所述骨架分支为毛刺分支的情况下,将已搜索的当前分叉点的值转换为1;或,在确定所述骨架分支不是毛刺分支的情况下,将所述骨架分支的已搜索的所有像素点的值转换为1。
- 根据权利要求2至12中任一项所述的方法,其特征在于,所述确定所述目标图像中的端点和分叉点,包括:根据所述目标图像的当前像素点的8个邻域像素点的值,确定所述目标图像的当前像素点为端点或分叉点。
- 根据权利要求13所述的方法,其特征在于,所述确定所述目标图像的当前像素点为端点,包括:在所述目标图像的当前像素点的8个邻域像素点的值之和为1的情况下,确定所述当前像素点为端点。
- 根据权利要求13所述的方法,其特征在于,所述确定所述目标图像的当前像素点为所述分叉点,包括:在所述目标图像的当前像素点的8个邻域像素点的值之和大于或等于3,且所述8 个邻域像素点中的至少三个邻域像素点的值比顺时针或逆时针方向上的上一个邻域像素点的值小1或大1的情况下,确定所述当前像素点为分叉点。
- 根据权利要求2至15中任一项所述的方法,其特征在于,所述方法还包括:在所述分叉点的数量为0的情况下,根据所述骨架分支的前景像素点的数量,确定所述骨架分支是否为毛刺分支。
- 根据权利要求16所述的方法,其特征在于,所述根据所述骨架分支的前景像素点的数量,确定所述骨架分支是否为毛刺分支,包括:在所述骨架分支的前景像素点的数量小于第一阈值的情况下,确定所述骨架分支为毛刺分支;或者,在所述骨架分支的前景像素点的数量不小于第一阈值的情况下,确定所述骨架分支不是毛刺分支。
- 根据权利要求1至17中任一项所述的方法,其特征在于,所述方法还包括:获取输入图像,所述输入图像的前景像素点的值对应为1,背景像素点的值对应为0;提取所述输入图像的连通域,得到至少一个所述目标图像,每个所述目标图像包括所述输入图像的一个连通域。
- 根据权利要求1至18中任一项所述的方法,其特征在于,所述骨架分支的宽度为单像素宽度。
- 一种图像处理的装置,其特征在于,包括:处理模块,所述处理模块用于:根据目标图像的骨架分支的已搜索的当前像素点,确定所述骨架分支的下一个像素点;根据所述骨架分支的已搜索的像素点的数量,确定所述骨架分支是否为毛刺分支。
- 根据权利要求20所述的装置,其特征在于,所述处理模块用于:在所述根据目标图像的骨架分支的已搜索的当前像素点,搜索所述骨架分支的下一个像素点之前,确定所述目标图像中的端点和分叉点,所述端点和所述分叉点用于搜索所述骨架分支。
- 根据权利要求21所述的装置,其特征在于,所述处理模块用于:以所述目标图像中的端点为锚点,依次根据所述端点所对应的所述骨架分支的已 搜索的当前像素点,搜索所述骨架分支的下一个像素点。
- 根据权利要求20至22中任一项所述的装置,其特征在于,所述处理模块用于:在所述骨架分支的已搜索的像素点的数量达到第一阈值的情况下,确定所述骨架分支不是毛刺分支。
- 根据权利要求20至23中任一项所述的装置,其特征在于,所述处理模块用于:在所述骨架分支的已搜索的像素点的数量未达到第一阈值且所述骨架分支的已搜索的当前像素点为分叉点的情况下,确定所述骨架分支为毛刺分支。
- 根据权利要求20至24中任一项所述的装置,其特征在于,所述处理模块用于:在所述骨架分支的已搜索的像素点的数量达到第一阈值,或者,所述骨架分支的已搜索的当前像素点为分叉点的情况下,停止搜索。
- 根据权利要求20至25中任一项所述的装置,其特征在于,所述目标图像的前景像素点的值对应为1,背景像素点的值对应为0。
- 根据权利要求26所述的装置,其特征在于,所述处理模块用于:将所述已搜索的当前像素点的值转换为0;在所述已搜索的当前像素点的8个邻域像素点中仅有一个前景像素点的情况下,确定所述一个前景像素点为所述骨架分支的下一个像素点。
- 根据权利要求27所述的装置,其特征在于,所述处理模块用于:在所述已搜索的当前像素点的8个邻域像素点中有多于一个前景像素点的情况下,确定所述已搜索的当前像素点为分叉点。
- 根据权利要求27或28所述的装置,其特征在于,所述处理模块用于:记录所述已搜索的当前像素点,其中,已记录的像素点的数量为所述骨架分支的已搜索的像素点的数量。
- 根据权利要求29所述的装置,其特征在于,所述处理模块用于:将所述已搜索的当前像素点的位置信息存储到存储器中。
- 根据权利要求27至30中任一项所述的装置,其特征在于,所述处理模块用于:在确定所述骨架分支为毛刺分支的情况下,将已搜索的当前分叉点的值转换为1;或,在确定所述骨架分支不是毛刺分支的情况下,将所述骨架分支的已搜索的所有像素点的值转换为1。
- 根据权利要求21至31中任一项所述的装置,其特征在于,所述处理模块用于:根据所述目标图像的当前像素点的8个邻域像素点的值,确定所述目标图像的当前像素点为端点或分叉点。
- 根据权利要求32所述的装置,其特征在于,所述处理模块用于:在所述目标图像的当前像素点的8个邻域像素点的值之和为1的情况下,确定所述当前像素点为端点。
- 根据权利要求32所述的装置,其特征在于,所述处理模块用于:在所述目标图像的当前像素点的8个邻域像素点的值之和大于或等于3,且所述8个邻域像素点中的至少三个邻域像素点的值比顺时针或逆时针方向上的上一个邻域像素点的值小1或大1的情况下,确定所述当前像素点为分叉点。
- 根据权利要求21至34中任一项所述的装置,其特征在于,所述处理模块用于:在所述分叉点的数量为0的情况下,根据所述骨架分支的前景像素点的数量,确定所述骨架分支是否为毛刺分支。
- 根据权利要求35所述的装置,其特征在于,所述处理模块用于:在所述骨架分支的前景像素点的数量小于第一阈值的情况下,确定所述骨架分支为毛刺分支;或者,在所述骨架分支的前景像素点的数量不小于第一阈值的情况下,确定所述骨架分支不是毛刺分支。
- 根据权利要求20至36中任一项所述的装置,其特征在于,所述处理模块用于:获取输入图像,所述输入图像的前景像素点的值对应为1,背景像素点的值对应为0;提取所述输入图像的连通域,得到至少一个所述目标图像,每个所述目标图像包 括所述输入图像的一个连通域。
- 根据权利要求20至37中任一项所述的装置,其特征在于,所述骨架分支的宽度为单像素宽度。
- 一种图像处理的装置,其特征在于,包括:存储器,用于存储计算机可执行指令;处理器,用于访问所述存储器,并执行所述计算机可执行指令,以进行根据权利要求1至19中任一项所述的方法中的操作。
- 一种存储介质,其特征在于,用于存储计算机程序,当所述计算机程序被计算设备执行时,使得所述计算设备实现如权利要求1至19中任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2022/102738 WO2024000375A1 (zh) | 2022-06-30 | 2022-06-30 | 图像处理的方法及其装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117677970A true CN117677970A (zh) | 2024-03-08 |
Family
ID=89383536
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280006707.6A Pending CN117677970A (zh) | 2022-06-30 | 2022-06-30 | 图像处理的方法及其装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11915443B2 (zh) |
EP (1) | EP4328851A1 (zh) |
CN (1) | CN117677970A (zh) |
WO (1) | WO2024000375A1 (zh) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003044862A (ja) * | 2001-07-26 | 2003-02-14 | Matsushita Electric Ind Co Ltd | 不規則線状パターンの分岐点検出方法および分岐点検出プログラム |
CN104951788B (zh) * | 2015-07-08 | 2018-01-02 | 上海海事大学 | 一种书法作品中单字笔画的提取方法 |
CN108463717B (zh) * | 2016-01-26 | 2021-05-25 | 富士胶片株式会社 | 龟裂信息检测装置、龟裂信息检测方法及存储介质 |
CN107507171A (zh) * | 2017-08-08 | 2017-12-22 | 东北大学 | 一种肺部ct图像气道三维骨架树状结构提取及标记方法 |
CN109754378B (zh) * | 2018-12-29 | 2021-01-05 | 重庆邮电大学 | 一种裂缝图像的毛刺去除方法 |
CN112712273B (zh) * | 2020-12-30 | 2024-01-19 | 首都师范大学 | 一种基于骨架相似度的手写体汉字美观度评判方法 |
CN114066752B (zh) * | 2021-11-03 | 2024-05-03 | 中国科学院沈阳自动化研究所 | 面向焊缝跟踪的线结构光骨架提取及毛刺去除方法 |
-
2022
- 2022-06-30 EP EP22937655.3A patent/EP4328851A1/en active Pending
- 2022-06-30 CN CN202280006707.6A patent/CN117677970A/zh active Pending
- 2022-06-30 WO PCT/CN2022/102738 patent/WO2024000375A1/zh active Application Filing
-
2023
- 2023-04-20 US US18/303,971 patent/US11915443B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11915443B2 (en) | 2024-02-27 |
WO2024000375A1 (zh) | 2024-01-04 |
EP4328851A1 (en) | 2024-02-28 |
US20240005542A1 (en) | 2024-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110569699B (zh) | 对图片进行目标采样的方法及装置 | |
JP7000627B2 (ja) | 標的細胞標識方法、装置、記憶媒体及び端末デバイス | |
CN110502985B (zh) | 表格识别方法、装置及表格识别设备 | |
JPH0652354A (ja) | スキュー補正方法並びにスキュー角検出方法並びにドキュメントセグメンテーションシステムおよびスキュー角検出装置 | |
JP2597006B2 (ja) | 矩形座標抽出方法 | |
CN111681256A (zh) | 图像边缘检测方法、装置、计算机设备和可读存储介质 | |
CN111310759B (zh) | 双模式协作的目标检测抑制优化方法及设备 | |
CN113111868A (zh) | 一种字符缺陷检测方法、系统、装置及存储介质 | |
CN111881659B (zh) | 表格图片的处理方法、系统、可读存储介质及计算机设备 | |
CN111160234B (zh) | 表格识别方法、电子设备及计算机存储介质 | |
CN114359932B (zh) | 文本检测方法、文本识别方法及装置 | |
CN115439866A (zh) | 一种针对三线表的表格结构识别的方法、设备和存储介质 | |
CN113557520A (zh) | 字符处理及字符识别方法、存储介质和终端设备 | |
US9792524B1 (en) | Gap shifting for automatic recognition of tabular text | |
US20220276754A1 (en) | Stroke erase method, terminal, and computer-readable storage medium | |
CN117677970A (zh) | 图像处理的方法及其装置 | |
CN112634286A (zh) | 图像的裁剪方法及装置 | |
US20160292174A1 (en) | File scanning method and device | |
US9275467B2 (en) | Incremental contour-extraction scheme for binary image segments | |
WO2024016686A1 (zh) | 角点检测的方法和装置 | |
CN116524503A (zh) | 多行文本行提取方法、装置、设备及可读存储介质 | |
CN116309628A (zh) | 车道线识别方法和装置、电子设备和计算机可读存储介质 | |
CN112800824B (zh) | 扫描文件的处理方法、装置、设备及存储介质 | |
CN112784825B (zh) | 图片中文字的识别方法、关键字检索方法、装置及设备 | |
CN114648751A (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 |