CN111724406A - 一种区域连通合并方法、装置、设备和介质 - Google Patents
一种区域连通合并方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN111724406A CN111724406A CN202010674731.XA CN202010674731A CN111724406A CN 111724406 A CN111724406 A CN 111724406A CN 202010674731 A CN202010674731 A CN 202010674731A CN 111724406 A CN111724406 A CN 111724406A
- Authority
- CN
- China
- Prior art keywords
- run
- array
- dimensional array
- merging
- unit
- 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
- 238000004590 computer program Methods 0.000 claims description 6
- 238000007596 consolidation process Methods 0.000 claims 1
- 238000004364 calculation method Methods 0.000 abstract description 15
- 230000003287 optical effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 4
- 230000007547 defect Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000002355 dual-layer Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- 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/187—Segmentation; Edge detection involving region growing; involving region merging; involving connected component labelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- 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/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
-
- 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/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- 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/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Image Analysis (AREA)
Abstract
本发明实施例公开了一种区域连通合并方法、装置、设备和介质,其中,方法包括:遍历待分析目标图像的二值图像,生成游程码二维数组;按设定顺序遍历游程码二维数组,并基于预设合并距离判断游程码二维数组中每相邻的两行数组元素间的连通性;基于每相邻的两行数组元素间的连通性判断结果,确定所述游程码二维数组中相互连通的数组元素集合,并将所述集合中的数组元素合并为一个区域,直到找出所述游程码二维数组中全部的相互连通的数组元素集合。本发明实施例的技术方案解决了现有的区域连通及合并方法计算较为耗时,计算效率低的问题;可以实现简化区域连通计算过程,减少计算时间,并且在区域连通时就完成区域合并的判断,提高了执行效率。
Description
技术领域
本发明实施例涉及图像处理技术领域,尤其涉及一种区域连通合并方法、装置、设备和介质。
背景技术
在基于机器视觉的应用分析领域中,通常需要对机器采集的图像进行分析,并根据图像分析的结果得出相应的结论,以指导相关操作。例如,在基于机器视觉的面板瑕疵检测过程中,对采集到的面板图像进行二值分割,然后对经过二值分割后的图像进行连通区域分析,通过目标像素的连通性判断找出每个瑕疵对应的像素点集合,再对瑕疵集合按照距离合并运算,以便于后续缺陷特征统计,如获取瑕疵位置、形状和面积等信息。
现有的基于游程的区域连通是在行间游程连通检测中,采用双层循环遍历比对游程间的连通性,当相邻两行游程数目大时,游程连通判断较为耗时,而且,当瑕疵形状复杂、数目巨大且变动范围较广时,算法的稳定性及其执行效率会影响检测系统的性能;至于现有的区域合并方法是在找到独立的区域后,再进行区域之间是否满足合并条件的判断,若满足再将区域进行合并,在区域连通及合并的过程中要进行两次条件判断,同样较为耗时。
发明内容
本发明实施例提供一种区域连通合并方法、装置、设备和介质,以减少区域连通判断和区域合并判断的耗时,提高区域连通合并的执行效率。
第一方面,本发明实施例提供了一种区域连通合并方法,该方法包括:
遍历待分析目标图像的二值图像,生成游程码二维数组;
按设定顺序遍历所述游程码二维数组,并基于预设合并距离判断所述游程码二维数组中每相邻的两行数组元素间的连通性;
基于每相邻的两行数组元素间的连通性判断结果,确定所述游程码二维数组中相互连通的数组元素集合,并将所述集合中的数组元素合并为一个区域,直到找出所述游程码二维数组中全部的相互连通的数组元素集合。
第二方面,本发明实施例还提供了一种区域连通合并装置,该装置包括:
数组生成模块,用于遍历待分析目标图像的二值图像,生成游程码二维数组;
连通判断模块,用于按设定顺序遍历所述游程码二维数组,并基于预设合并距离判断所述游程码二维数组中每相邻的两行数组元素间的连通性;
区域合并模块,用于基于每相邻的两行数组元素间的连通性判断结果,确定所述游程码二维数组中相互连通的数组元素集合,并将所述集合中的数组元素合并为一个区域,直到找出所述游程码二维数组中全部的相互连通的数组元素集合。
第三方面,本发明实施例还提供了一种计算机设备,该计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例中任一所述的区域连通合并方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如发明实施例中任一所述的区域连通合并方法。
本发明实施例通过遍历待分析目标图像的二值图像,生成游程码二维数组;按设定顺序遍历所述游程码二维数组,并基于预设合并距离判断所述游程码二维数组中每相邻的两行数组元素间的连通性;基于每相邻的两行数组元素间的连通性判断结果,确定所述游程码二维数组中相互连通的数组元素集合,并将所述集合中的数组元素合并为一个区域,直到找出所述游程码二维数组中全部的相互连通的数组元素集合,解决了现有的区域连通及合并方法计算较为耗时,计算效率低的问题;可以实现简化区域连通计算过程,减少计算时间,并且在区域连通时就完成区域合并的判断,提高了执行效率。
附图说明
图1是本发明实施例一中的区域连通合并方法的流程图;
图2是本发明实施例二中的区域连通合并方法的流程图;
图3是本发明实施例三中的区域连通合并装置的结构示意图;
图4是本发明实施例四中的计算机设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,以下将参照本发明实施例中的附图,通过实施方式清楚、完整地描述本发明的技术方案,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。下述各实施例中,每个实施例中同时提供了可选特征和示例,实施例中记载的各个特征可进行组合,形成多个可选方案,不应将每个编号的实施例仅视为一个技术方案。
实施例一
图1为本发明实施例一提供的区域连通合并方法的流程图,本实施例可适用于对二值图像进行分析的情况,如在面板瑕疵检测领域,对获取的面板图像进行二值化分析,确定面板上瑕疵的特点,该方法可以由区域连通合并装置实现,该装置配置于计算机设备中,具体可通过设备中的软件和/或硬件来实施。如图1所示,区域连通合并方法具体包括:
S110、遍历待分析目标图像的二值图像,生成游程码二维数组。
其中,待分析的目标图像可以是待检测瑕疵的面板等物体的图像,或是需要进行特征提取的视频画面图像,或是其他需要进行特征分析的图像。待分析目标图像的二值图像可以是预先处理好的,也可以是在本实施例中,对待分析目标图像进行二值化处理得到的。
具体的,二值化图像数据即是一个与目标图像的大小一致的二维数组,该二维数组中的元素为0或1。遍历二值化图像数据某一行的连续的非0像素点,当存在连续的非0像素点时,便构建一个游程码,然后再去寻找当前行中的下一个连续的非0像素点。当前行遍历完成后,根据游程码的行号,将游程码压入一个新的二维数组的某一行,再去寻找当前行的下一行中的游程码,寻找完成后,再次压入新的二维数组,由此,生成游程码二维数组。
一个游程码则表示一个游程单元,具体包括了游程所在的行号、起始列标、终止列标、序号等内容。其中,起始列标和终止列标表示一个连续的非零像素点数据的起始位置和终止位置,这两者的差值则表示连续的非零像素点数据长度,序号这是表明该游程码(游程单元)是第几个游程码,这里需要说明的是,游程码的序号从0开始,在生成游程码时生成,且序号是唯一的,一个游程码对应一个序号。
S120、按设定顺序遍历所述游程码二维数组,并基于预设合并距离判断所述游程码二维数组中每相邻的两行数组元素间的连通性。
具体的,设定顺序通常是以数组的首行数据为起点,按照从上到下,从左到右的顺序进行的。遍历的具体过程如下:
首先,将游程码二维数组的第一行作为当前行,并将当前行的第一个元素作为第一游程单元,依次取当前行的下一行中的元素作为第二游程单元,基于预设合并距离判断第一游程单元与第二游程单元之间的连通性。当第二游程单元为当前行的下一行中最后一个元素时,取所述第一游程单元的下一个元素作为新的第一游程单元,同样的,依次取当前行的下一行中的元素作为第二游程单元,基于预设合并距离判断第一游程单元与第二游程单元之间的连通性。直到第一游程单元为当前行的最后一个元素时,将当前行的下一行作为新的当前行。在确定了新的当前行后,则重复上述更新第一游程单元与第二游程单元的过程,判断相邻两行数组元素间的连通性,直到当前行为游程码二维数组的倒数第二行。因为当前行为倒数第二行时,当前行的下一行即为游程码二维数组的最后一行,对最后两行的数组元素间的连通性判断完成后即完成了对游程码二维数组的遍历。
进一步的,预设合并距离包括水平方向合并距离和垂直方向合并距离,那么,每一次判断第一游程单元与第二游程单元是否连通的过程具体包括:首先,判断第一游程单元所在的行编号与第二游程单元所在的行编号的差值的绝对值是否小于或等于垂直方向合并距离;若是,则根据第一游程单元和第二游程单元的起点列标、终点列标以及水平方向合并距离判断第一游程单元和第二游程单元是否满足合并条件;若是,则表明第一游程单元和第二游程单元是连通的。
进一步的,当所述第一游程单元与所述第二游程单元之间满足连通条件时,生成并更新等价对集合数组,以记录连通性判断的结果。其中,所述等价对集合数组中元素的序号与所述游程码二维数组中元素序号相对应,所述等价对集合数组中各元素数值为与各元素相同序号的游程单元连通的游程单元的序号。
示例性的,游程码A表示第一游程单元,游程码B表示第二游程单元,当经判断游程码A与游程B连通后,程序会生成一个数组C[],称为等价对集合数组,用于记录连通情况;数组C的容量为整张二值图像的游程码数目,程序初始化时,全部初始化为0;假设A的序号为10,B的序号为35,就有C[10]=35,可以理解的是,当遍历完二维游程码数组时,数组C中的值也会发生变化,是根据连通判断的结果进行更新的。其中,数组C中值为0对应的元素序号即为根节点,其序号也对应根游程码的序号。
S130、基于每相邻的两行数组元素间的连通性判断结果,确定所述游程码二维数组中相互连通的数组元素集合,并将所述集合中的数组元素合并为一个区域,直到找出所述游程码二维数组中全部的相互连通的数组元素集合。
具体的,可以将等价对集合数组中数据作为每相邻的两行数组元素间的连通性判断结果,那么,当当前行为游程码二维数组的倒数第二行时,也就是游程码二维数组遍历结束后,可以循环遍历等价对集合数组,以搜索根游程单元(根游程码),并记录搜索路径,其中,根游程单元为等价对集合数组中元素值为零的元素序号对应的游程单元;将搜索路径上所有的元素序号对应的游程单元的集合作为游程码二维数组中相互连通的数组元素集合。也就是说,搜索路径上所有的元素序号对应的游程单元是可以连通的,将这些连通的游程单元进行合并便完成了一个连通域的合并。重复该步骤的操作,直到找到等价对集合数组中所有的可以进行合并的数组元素集合,并将相应的集合中元素对应的游程单元进行合并。
本实施例的技术方案,通过遍历待分析目标图像的二值图像,生成游程码二维数组;按设定顺序遍历所述游程码二维数组,并基于预设合并距离判断所述游程码二维数组中每相邻的两行数组元素间的连通性;基于每相邻的两行数组元素间的连通性判断结果,确定所述游程码二维数组中相互连通的数组元素集合,并将所述集合中的数组元素合并为一个区域,直到找出所述游程码二维数组中全部的相互连通的数组元素集合,解决了现有的区域连通及合并方法计算较为耗时,计算效率低的问题;可以实现简化区域连通计算过程,减少计算时间,并且在区域连通时就完成区域合并的判断,提高了执行效率。
实施例二
图2为发明实施例二提供的一种区域连通合并方法的流程图。本实施例在上述实施例中各个可选方案基础上进一步优化,以详细说明区域连通及合并的过程。如图2所示,本发明实施例中提供的区域连通合并方法包括如下步骤:
S2100、遍历待分析目标图像的二值图像,生成游程码二维数组。
该步骤具体描述可参考步骤S110。
S2200、遍历游程码二维数组。
读取要遍历的数组内容即开始遍历游程码二维数组。可以从游程码二维数组中任意一行数组元素开始遍历,只要按照设定的遍历顺序,能覆盖到整个数组的元素即可。通常的遍历顺序按照,从上到下,从左到右的顺序,例如,在本实施例中可以先读取游程码二维数组中的第一行作为当前行。
S2300、判断当前行是否为游程码二维数组的倒数第二行。
因为在本实施例中,程序是从上到下、自左向右判断相邻两行数组元素(也即相邻的两个一维数组)间的连通性,当遍历的某一行为游程码二维数组的倒数第二行,表示整个二维数组中的游程码元素都已经进行了连通判断,并生成了等价对集合数组。因此,这一判断结果为肯定结果时,执行步骤S2500,这一判断结果为否定结果时,执行步骤S2400,进一步的去判断相邻两行数组元素的连通性。
S2400、遍历游程码二维数组的当前行数组元素,取游程码A。
在当前行不是游程码二维数组倒数第二行时,便开始判断当前行的各个元素与当前行的下一行中元素的连通性。那么,首先要在当前行中取一个游程码A,取游程码的顺序可以自定义,只要能覆盖当前行的所有原素即可。在本实施例中,按照从左到右的顺序,在当前行依次取游程码作为游程码A。
S2410、遍历游程码二维数组的当前行的下一行数组元素,取游程码B。
S2420、判断游程码B是否有连通标记。
连通标记是经判断,游程码B与当前行的其他游程码能够连通时写入游程码的一个数据,对游程码B进行标识。因为当游程码B与前一行中的游程码连通后,前一行中与B连通的游程码后面的游程码就不可能与游程B再有连通。
因此,当选取的B有连通标记时,即可跳过本次判断,执行S2410,选取B的下一个游程码作为新的游程码B。从而可以减少判断,提高效率。当选取的B没有连通标记时,继续执行S2430.
S2430、基于合并距离判断A与B是否连通。
首先,判断A所在的行编号与B所在的行编号的差值的绝对值是否小于或等于垂直方向合并距离。
若是,则根据A和B的起点列标、终点列标以及水平方向合并距离判断A和B是否满足合并条件;若是,则表明A和B是连通的。具体判断过程为:
判断A的起点列标减去一再减去水平方向合并距离的差值小于或等于所述B的终点列标,与A的终点列标加上一再加上水平方向合并距离的和大于或等于B的起点列标的逻辑与运算是否成立;或者,
判断A的终点列标加上一再加上水平方向合并距离的和大于或等于B的起点列标,与A的起点列标减去一再减去水平方向合并距离的差值小于或等于B的终点列标的逻辑与运算是否成立。
示例性的,设水平方向合并距离为dx,垂直方向合并距离为dy。游程码A起点列标为a1,终点列标为a2,行号为y1;游程码B的起点列标为b1,终点列标为b2,行号为y2。若两游程码满足:Abs(y1-y2)<=dy,且((a1-1-dx)<=b2)&&((a2+1+dx)>=b1)or((a2+1+dx)>=b1)&&((a1-1dx)<=b2),则两游程码是连通的。
S2440、生成等价对集合数组,并对B添加连通标记。
当经判断游程码A与游程B连通后,程序会生成一个数组C[],称为等价对集合数组,用于记录连通情况;数组C的容量为整张二值图像的游程码数目,程序初始化时,全部初始化为0;假设A的序号为10,B的序号为35,就有C[10]=35,可以理解的是,当遍历完二维游程码数组时,数组C中的值也会发生变化,是根据连通判断的结果进行更新的。其中,数组C中值为0对应的元素序号即为根节点,其序号也对应根游程码的序号。
进一步的,等价对集合数组表示存在连通关系的游程码集合,若游程码A、B、D,A与B满足合并连通关系,AB为一个等价对,B与D也满足合并连通关系,BD为等价对,AC通过B也具有连通关系,因此AB、BC组成等价对集合数组,表明A B C是连通的。
为B设定标记,避免了不必要的连通判断过程,使相邻游程比对形式近似链式,减少游程比对耗时,从而可以降低算法复杂度,提高算法执行效率。
S2450、判断B是否为其所在行中的最后一个游程码。
按照遍历顺序,当B为其所在行被遍历的最后一个游程码时,则表明当前行的A以与当前行的下一行中的所有游程码进行了连通性判断,需要读取一个游程码作为新的游程码A,执行步骤S2460。如果,B不是最后一个游程码,则需要在B所在的行,按照遍历顺序读取下一个游程码,作为新的游程码B,执行步骤S2410。
S2460、判断A是否为其所在行中的最后一个游程码。判断A是否为其所在行中的最后一个游程码,是为了确定当前行中的元素是否遍历完毕,若是,则需要取当前行的下一行作为新的当前行,在新的当前行中取游程码,执行步骤S2200;否则,表明当前行为未遍历完全,需要将当前A的下一个游程码作为新的游程码A,执行步骤S2400。
重复上述步骤,直到遍历完整个游程码二维数组,也即得到确定的等价对集合数组。
S2500、遍历等价对集合数组,搜索根游程单元,并记录搜索路径上的元素序号。
具体的,根游程单元也就是等价对集合数组中,数值为零的数组元素的元素序号对应的游程单元,根游程码在其上一行找不到任何与其连通的游程码。
示例性的,假设A的序号为10,B的序号为35,D的序号是49,E的序号是66;在等价对集合数组中,C[10]=35,C[35]=49,C[49]=66,C[66]=0;则表明,D是一个根游程单元,10、35、49及66这一组序号队列就是搜索路径,A、B、D和E这四个游程单元时联通的。
在一种优选的实施方式中,还可以对搜索路径上的元素序号进行标记,表示后面不需要再遍历,当再次遍历所述等价对集合数组时,略过有标记的元素序号。
S2510、将搜索路径上所有的元素序号对应的游程单元合并到一个区域中。
也就是说,搜索路径上所有的元素序号对应的游程单元是可以连通的,将这些连通的游程单元进行合并(即将A、B、D和E这四个游程单元)便完成了一个连通域的合并。
S2520、判断根游程单元是否有搜索完毕。
具体是判断在等价对数组集合中,是否还有数值为0的元素。如果还有,表明除了A、B、D和E这四个游程单元是连通的以外,还有其他的游程单元有连通关系,能够合并为连通区域,则需要继续执行S2500。如果没有,则执行S2530。
S2530、区域连通合并完成。
在本实施例的方法中,当找到连通的区域时,随即区域合并也就完成了,提高了整个区域连通合并的执行效率。
本实施例的技术方案,通过遍历待分析目标图像的二值图像,生成游程码二维数组;按设定顺序遍历所述游程码二维数组,并基于预设合并距离判断所述游程码二维数组中每相邻的两行数组元素间的连通性,在判断连通性的过程中,还进行了游程码的连通标记;基于每相邻的两行数组元素间的连通性判断结果,确定所述游程码二维数组中相互连通的数组元素集合,并将所述集合中的数组元素合并为一个区域,直到找出所述游程码二维数组中全部的相互连通的数组元素集合,解决了现有的区域连通及合并方法计算较为耗时,计算效率低的问题;可以实现简化区域连通计算过程,减少计算时间,并且在区域连通时就完成区域合并的判断,提高了执行效率。
实施例三
图3示出了本发明实施例三提供的一种区域连通合并装置的结构示意图,本发明实施例可适用于对二值图像进行分析的情况。
如图3所示,本发明实施例中区域连通合并装置,包括:数组生成模块310、连通判断模块320和区域合并模块330。
其中,数组生成模块310,用于遍历待分析目标图像的二值图像,生成游程码二维数组;连通判断模块320,用于按设定顺序遍历所述游程码二维数组,并基于预设合并距离判断所述游程码二维数组中每相邻的两行数组元素间的连通性;区域合并模块330,用于基于每相邻的两行数组元素间的连通性判断结果,确定所述游程码二维数组中相互连通的数组元素集合,并将所述集合中的数组元素合并为一个区域,直到找出所述游程码二维数组中全部的相互连通的数组元素集合。
本实施例的技术方案,通过遍历待分析目标图像的二值图像,生成游程码二维数组;按设定顺序遍历所述游程码二维数组,并基于预设合并距离判断所述游程码二维数组中每相邻的两行数组元素间的连通性;基于每相邻的两行数组元素间的连通性判断结果,确定所述游程码二维数组中相互连通的数组元素集合,并将所述集合中的数组元素合并为一个区域,直到找出所述游程码二维数组中全部的相互连通的数组元素集合,解决了现有的区域连通及合并方法计算较为耗时,计算效率低的问题;可以实现简化区域连通计算过程,减少计算时间,并且在区域连通时就完成区域合并的判断,提高了执行效率。
可选的,连通判断模块包括:
数组元素遍历判断子模块,用于将所述游程码二维数组的第一行作为当前行,并将所述当前行的第一个元素作为第一游程单元,依次取所述当前行的下一行中的元素作为第二游程单元,基于预设合并距离判断所述第一游程单元与所述第二游程单元之间的连通性,当所述第二游程单元为所述当前行的下一行中最后一个元素时,取所述第一游程单元的下一个元素作为新的第一游程单元,直到第一游程单元为当前行的最后一个元素时,将当前行的下一行作为新的当前行,直到当前行为所述游程码二维数组的倒数第二行;
连通结果记录子模块,用于当所述第一游程单元与所述第二游程单元之间满足连通条件时,生成并更新等价对集合数组,其中,所述等价对集合数组中元素的序号与所述游程码二维数组中元素序号相对应,所述等价对集合数组中各元素数值为与各元素相同序号的游程单元连通的游程单元的序号。
可选的,所述预设合并距离包括水平方向合并距离和垂直方向合并距离,数组元素遍历判断子模块具体用于:
判断所述第一游程单元所在的行编号与所述第二游程单元所在的行编号的差值的绝对值是否小于或等于所述垂直方向合并距离;
若是,则根据所述第一游程单元和所述第二游程单元的起点列标、终点列标以及水平方向合并距离判断所述第一游程单元和所述第二游程单元是否满足合并条件;
若是,则表明所述第一游程单元和所述第二游程单元是连通的。
可选的,区域连通合并装置还包括标记模块,用于在生成或更新等价对集合数组的同时,对所述第二游程单元进行连通标记,相应的,在遍历所述游程码二维数组过程中,数组元素遍历判断子模块还用于:
判断取到的所述第二游程单元是否有所述连通标记;
若是,则将与所述第二游程单元相邻的下一个数组元素作为新的第二游程单元。
可选的,区域合并模块具体用于:
当当前行为所述游程码二维数组的倒数第二行时,循环遍历所述等价对集合数组,搜索根游程单元,并记录搜索路径,其中,所述根游程单元为所述等价对集合数组中元素值为零的元素序号对应的游程单元;
将所述搜索路径上所有的元素序号对应的游程单元的集合作为所述游程码二维数组中相互连通的数组元素集合。
可选的,所述标记模块还用于:对所述搜索路径上的元素序号进行标记,当再次遍历所述等价对集合数组时,略过有标记的元素序号。
可选的数组元素遍历判断子模块具体用于:
判断所述第一游程单元的起点列标减去一再减去水平方向合并距离的差值小于或等于所述第二游程单元的终点列标,与所述第一游程单元的终点列标加上一再加上水平方向合并距离的和大于或等于所述第二游程单元的起点列标的逻辑与运算是否成立;或者,
判断所述第一游程单元的终点列标加上一再加上水平方向合并距离的和大于或等于所述第二游程单元的起点列标,与所述第一游程单元的起点列标减去一再减去水平方向合并距离的差值小于或等于所述第二游程单元的终点列标的逻辑与运算是否成立。
本发明实施例所提供的区域连通合并装置可执行本发明任意实施例所提供的区域连通合并方法,具备执行方法相应的功能模块和有益效果。
实施例四
图4是本发明实施例四中的计算机设备的结构示意图。图4示出了适于用来实现本发明实施方式的示例性计算机设备412的框图。图4显示的计算机设备412仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,计算机设备412以通用计算设备的形式表现。计算机设备412的组件可以包括但不限于:一个或者多个处理器或者处理单元416,系统存储器428,连接不同系统组件(包括系统存储器428和处理单元416)的总线418。
总线418表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机设备412典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备412访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器428可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)430和/或高速缓存存储器432。计算机设备412可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统434可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线418相连。存储器428可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块442的程序/实用工具440,可以存储在例如存储器428中,这样的程序模块442包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块442通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备412也可以与一个或多个外部设备414(例如键盘、指向设备、显示器424等)通信,还可与一个或者多个使得用户能与该计算机设备412交互的设备通信,和/或与使得该计算机设备412能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口422进行。并且,计算机设备412还可以通过网络适配器420与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器420通过总线418与计算机设备412的其它模块通信。应当明白,尽管图4中未示出,可以结合计算机设备412使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元416通过运行存储在系统存储器428中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的区域连通合并方法,该方法主要包括:
遍历待分析目标图像的二值图像,生成游程码二维数组;
按设定顺序遍历所述游程码二维数组,并基于预设合并距离判断所述游程码二维数组中每相邻的两行数组元素间的连通性;
基于每相邻的两行数组元素间的连通性判断结果,确定所述游程码二维数组中相互连通的数组元素集合,并将所述集合中的数组元素合并为一个区域,直到找出所述游程码二维数组中全部的相互连通的数组元素集合。
实施例五
本发明实施例五还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例所提供的区域连通合并方法,该方法主要包括:
遍历待分析目标图像的二值图像,生成游程码二维数组;
按设定顺序遍历所述游程码二维数组,并基于预设合并距离判断所述游程码二维数组中每相邻的两行数组元素间的连通性;
基于每相邻的两行数组元素间的连通性判断结果,确定所述游程码二维数组中相互连通的数组元素集合,并将所述集合中的数组元素合并为一个区域,直到找出所述游程码二维数组中全部的相互连通的数组元素集合。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络包括局域网(LAN)或广域网(WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种区域连通合并方法,其特征在于,包括:
遍历待分析目标图像的二值图像,生成游程码二维数组;
按设定顺序遍历所述游程码二维数组,并基于预设合并距离判断所述游程码二维数组中每相邻的两行数组元素间的连通性;
基于每相邻的两行数组元素间的连通性判断结果,确定所述游程码二维数组中相互连通的数组元素集合,并将所述集合中的数组元素合并为一个区域,直到找出所述游程码二维数组中全部的相互连通的数组元素集合。
2.根据权利要求1所述的方法,其特征在于,按设定顺序遍历所述游程码二维数组,并基于预设合并距离判断所述游程码二维数组中每相邻的两行数组元素间的连通性,包括:
将所述游程码二维数组的第一行作为当前行,并将所述当前行的第一个元素作为第一游程单元,依次取所述当前行的下一行中的元素作为第二游程单元,基于预设合并距离判断所述第一游程单元与所述第二游程单元之间的连通性,当所述第二游程单元为所述当前行的下一行中最后一个元素时,取所述第一游程单元的下一个元素作为新的第一游程单元,直到第一游程单元为当前行的最后一个元素时,将当前行的下一行作为新的当前行,直到当前行为所述游程码二维数组的倒数第二行;
当所述第一游程单元与所述第二游程单元之间满足连通条件时,生成并更新等价对集合数组,其中,所述等价对集合数组中元素的序号与所述游程码二维数组中元素序号相对应,所述等价对集合数组中各元素数值为与各元素相同序号的游程单元连通的游程单元的序号。
3.根据权利要求2所述的方法,其特征在于,所述预设合并距离包括水平方向合并距离和垂直方向合并距离,所述基于预设合并距离判断所述第一游程单元与所述第二游程单元之间的连通性,包括:
判断所述第一游程单元所在的行编号与所述第二游程单元所在的行编号的差值的绝对值是否小于或等于所述垂直方向合并距离;
若是,则根据所述第一游程单元和所述第二游程单元的起点列标、终点列标以及水平方向合并距离判断所述第一游程单元和所述第二游程单元是否满足合并条件;
若是,则表明所述第一游程单元和所述第二游程单元是连通的。
4.根据权利要求2所述的方法,其特征在于,在生成等价对集合数组的同时,所述方法还包括:对所述第二游程单元进行连通标记,相应的,在遍历所述游程码二维数组过程中,所述方法还包括:
判断取到的所述第二游程单元是否有所述连通标记;
若是,则将与所述第二游程单元相邻的下一个数组元素作为新的第二游程单元。
5.根据权利要求2-4中任一所述的方法,其特征在于,基于每相邻的两行数组元素间的连通性判断结果,确定所述游程码二维数组中相互连通的数组元素集合,包括:
当当前行为所述游程码二维数组的倒数第二行时,循环遍历所述等价对集合数组,搜索根游程单元,并记录搜索路径,其中,所述根游程单元为所述等价对集合数组中元素值为零的元素序号对应的游程单元;
将所述搜索路径上所有的元素序号对应的游程单元的集合作为所述游程码二维数组中相互连通的数组元素集合。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:对所述搜索路径上的元素序号进行标记,当再次遍历所述等价对集合数组时,略过有标记的元素序号。
7.根据权利要求3所述的方法,其特征在于,根据所述第一游程单元和所述第二游程单元的起点列标、终点列标以及水平方向合并距离判断所述第一游程单元和所述第二游程单元是否满足合并条件,包括:
判断所述第一游程单元的起点列标减去一再减去水平方向合并距离的差值小于或等于所述第二游程单元的终点列标,与所述第一游程单元的终点列标加上一再加上水平方向合并距离的和大于或等于所述第二游程单元的起点列标的逻辑与运算是否成立;或者,
判断所述第一游程单元的终点列标加上一再加上水平方向合并距离的和大于或等于所述第二游程单元的起点列标,与所述第一游程单元的起点列标减去一再减去水平方向合并距离的差值小于或等于所述第二游程单元的终点列标的逻辑与运算是否成立。
8.一种区域连通合并装置,其特征在于,包括:
数组生成模块,用于遍历待分析目标图像的二值图像,生成游程码二维数组;
连通判断模块,用于按设定顺序遍历所述游程码二维数组,并基于预设合并距离判断所述游程码二维数组中每相邻的两行数组元素间的连通性;
区域合并模块,用于基于每相邻的两行数组元素间的连通性判断结果,确定所述游程码二维数组中相互连通的数组元素集合,并将所述集合中的数组元素合并为一个区域,直到找出所述游程码二维数组中全部的相互连通的数组元素集合。
9.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的区域连通合并方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的区域连通合并方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010674731.XA CN111724406B (zh) | 2020-07-14 | 2020-07-14 | 一种区域连通合并方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010674731.XA CN111724406B (zh) | 2020-07-14 | 2020-07-14 | 一种区域连通合并方法、装置、设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111724406A true CN111724406A (zh) | 2020-09-29 |
CN111724406B CN111724406B (zh) | 2023-12-08 |
Family
ID=72572570
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010674731.XA Active CN111724406B (zh) | 2020-07-14 | 2020-07-14 | 一种区域连通合并方法、装置、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111724406B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113359699A (zh) * | 2021-05-08 | 2021-09-07 | 五邑大学 | 全覆盖路径规划方法、装置及存储介质 |
CN117274203A (zh) * | 2023-09-26 | 2023-12-22 | 山东金佳成工程材料有限公司 | 一种环保塑料制品表面质量视觉检测方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013143390A1 (zh) * | 2012-03-26 | 2013-10-03 | 腾讯科技(深圳)有限公司 | 人脸标定方法和系统、计算机存储介质 |
US20150055849A1 (en) * | 2013-08-21 | 2015-02-26 | Wisconsin Alumni Research Foundation | System and method for gradient assisted non-connected automatic Region (GANAR) analysis |
CN105225236A (zh) * | 2015-09-21 | 2016-01-06 | 中国科学院半导体研究所 | 一种二值图像连通区域并行化检测方法及系统 |
CN105261049A (zh) * | 2015-09-15 | 2016-01-20 | 重庆飞洲光电技术研究院 | 一种图像连通区域快速检测方法 |
CN105427287A (zh) * | 2015-11-06 | 2016-03-23 | 中国电子科技集团公司第二十八研究所 | 一种基于投影变换的连通域标记方法 |
CN106529550A (zh) * | 2016-10-25 | 2017-03-22 | 凌云光技术集团有限责任公司 | 基于连通域分析的多维特征量提取方法及装置 |
CN110648349A (zh) * | 2019-09-05 | 2020-01-03 | 南开大学 | 基于背景减除和连通区域算法的焊缝缺陷分割方法 |
CN111145191A (zh) * | 2019-12-28 | 2020-05-12 | 武汉瑞纳捷电子技术有限公司 | 一种基于游程编码的连通域查找方法及装置 |
-
2020
- 2020-07-14 CN CN202010674731.XA patent/CN111724406B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013143390A1 (zh) * | 2012-03-26 | 2013-10-03 | 腾讯科技(深圳)有限公司 | 人脸标定方法和系统、计算机存储介质 |
US20150055849A1 (en) * | 2013-08-21 | 2015-02-26 | Wisconsin Alumni Research Foundation | System and method for gradient assisted non-connected automatic Region (GANAR) analysis |
CN105261049A (zh) * | 2015-09-15 | 2016-01-20 | 重庆飞洲光电技术研究院 | 一种图像连通区域快速检测方法 |
CN105225236A (zh) * | 2015-09-21 | 2016-01-06 | 中国科学院半导体研究所 | 一种二值图像连通区域并行化检测方法及系统 |
CN105427287A (zh) * | 2015-11-06 | 2016-03-23 | 中国电子科技集团公司第二十八研究所 | 一种基于投影变换的连通域标记方法 |
CN106529550A (zh) * | 2016-10-25 | 2017-03-22 | 凌云光技术集团有限责任公司 | 基于连通域分析的多维特征量提取方法及装置 |
CN110648349A (zh) * | 2019-09-05 | 2020-01-03 | 南开大学 | 基于背景减除和连通区域算法的焊缝缺陷分割方法 |
CN111145191A (zh) * | 2019-12-28 | 2020-05-12 | 武汉瑞纳捷电子技术有限公司 | 一种基于游程编码的连通域查找方法及装置 |
Non-Patent Citations (3)
Title |
---|
HE L等: "A run-based two-scan labeling algorithm", 《IEEE TRANSACTIONS ON IMAGE PROCESSING》 * |
徐正光;鲍东来;张利欣;: "基于递归的二值图像连通域像素标记算法", 计算机工程 * |
程琦;文建国;杨冬;: "一种遥感二值图像目标区域分割的新方法", 计算机工程与应用 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113359699A (zh) * | 2021-05-08 | 2021-09-07 | 五邑大学 | 全覆盖路径规划方法、装置及存储介质 |
CN113359699B (zh) * | 2021-05-08 | 2024-01-12 | 五邑大学 | 全覆盖路径规划方法、装置及存储介质 |
CN117274203A (zh) * | 2023-09-26 | 2023-12-22 | 山东金佳成工程材料有限公司 | 一种环保塑料制品表面质量视觉检测方法 |
CN117274203B (zh) * | 2023-09-26 | 2024-04-02 | 山东金佳成工程材料有限公司 | 一种环保塑料制品表面质量视觉检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111724406B (zh) | 2023-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109416728A (zh) | 目标检测方法、装置以及计算机系统 | |
CN108460098B (zh) | 信息推荐方法、装置和计算机设备 | |
CN107067536B (zh) | 一种图像边界确定方法、装置、设备和存储介质 | |
CN109542276B (zh) | 一种触控点识别方法及装置和显示设备 | |
CN110990411B (zh) | 数据结构的生成方法及装置、调用方法及装置 | |
CN111724406A (zh) | 一种区域连通合并方法、装置、设备和介质 | |
CN109670979B (zh) | 布料检测数据处理方法、装置和设备 | |
CN112560862A (zh) | 文本识别方法、装置及电子设备 | |
CN111812545A (zh) | 线路缺陷检测方法、装置、设备及介质 | |
CN112559341A (zh) | 一种画面测试方法、装置、设备及存储介质 | |
CN113760839A (zh) | 日志数据压缩处理方法、装置、电子设备和存储介质 | |
CN110619597A (zh) | 一种半透明水印去除方法、装置、电子设备及存储介质 | |
CN114240969A (zh) | 基于条纹多视野卷积网络的多线激光图像缺陷分割方法 | |
CN111444834B (zh) | 图像文本行检测方法、装置、设备及存储介质 | |
CN113094415B (zh) | 数据抽取方法、装置、计算机可读介质及电子设备 | |
CN112258541A (zh) | 视频边界检测方法、系统、设备及存储介质 | |
CN115272381B (zh) | 一种金属线分割方法、装置、电子设备及存储介质 | |
CN114282559B (zh) | 一种光学代码定位方法、装置、图像传感器芯片 | |
JP2020525963A (ja) | メディア特徴の比較方法及び装置 | |
JP6152034B2 (ja) | ラベリング方法、ラベリング装置および欠陥検査装置 | |
CN112559340A (zh) | 一种画面测试方法、装置、设备及存储介质 | |
US9292763B2 (en) | System, method, and medium for image object and contour feature extraction | |
US10277912B2 (en) | Methods and apparatus for storing data related to video decoding | |
CN113538478B (zh) | 基于图像的箱体边界提取方法、系统、设备及存储介质 | |
CN112288759B (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 |