CN117197176A - 一种连通分量的提取方法及终端 - Google Patents
一种连通分量的提取方法及终端 Download PDFInfo
- Publication number
- CN117197176A CN117197176A CN202310993959.9A CN202310993959A CN117197176A CN 117197176 A CN117197176 A CN 117197176A CN 202310993959 A CN202310993959 A CN 202310993959A CN 117197176 A CN117197176 A CN 117197176A
- Authority
- CN
- China
- Prior art keywords
- value
- mapping
- mapping table
- updated
- marking
- 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
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000013507 mapping Methods 0.000 claims abstract description 263
- 230000009466 transformation Effects 0.000 claims abstract description 26
- 238000004891 communication Methods 0.000 claims description 11
- 238000000605 extraction Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 abstract description 14
- 238000010191 image analysis Methods 0.000 description 3
- 238000011144 upstream manufacturing Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
Classifications
-
- 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
- Image Analysis (AREA)
Abstract
本发明公开了一种连通分量的提取方法及终端,对获取的二值化图像的每一元素行分别分配一线程,并利用线程对元素行进行标记,得到标记后的二值化图像,对标记后的二值化图像的每一元素列分别分配一线程,并利用线程根据标记对元素列中的每一连通元素进行等价映射变换,得到标记连通分量的图像,以此利用GPU多线程同时进行连通分量的提取,相较于现有的单线程计算,计算速度更快,从而有效提高计算效率。
Description
技术领域
本发明涉及图像处理技术领域,尤其涉及一种连通分量的提取方法及终端。
背景技术
图像处理中,特别是在自动图像分析,通常会用到形态学中提取连通分量方法,通常做法为先对图像进行阈值分割,得到二值化图像,再计算二值化图像中元素的连通区域,分别给出不同标记,一副图像中可能有多个连通区域,区域之间不连通,对每个区域进行标记分量,可以称为提取连通分量。后续只要根据的区域所属标记就能知道的对应区域,从而对每个区域进行单独分析处理。从二值图像中提取连通分量是许多自动图像分析应用的核心。基于连通分量扩展出很多高阶算法。
现阶段提取连通分量的主要方法是使用迭代方法完成,迭代次数决定速度,且由于后续迭代依赖前面结果,一般使用单线程处理,处理速度较慢,对于有实时处理需求的场景应用难度大。
发明内容
本发明所要解决的技术问题是:提供一种连通分量的提取方法及终端,能够有效提高计算效率。
为了解决上述技术问题,本发明采用的技术方案为:
一种连通分量的提取方法,包括步骤:
获取二值化图像;
对所述二值化图像的每一元素行分别分配一线程,并利用所述线程对所述元素行中的连通元素进行标记,得到标记后的二值化图像;
对所述标记后的二值化图像的每一元素列分别分配一线程,并利用所述线程根据所述标记对所述元素列中的每一所述连通元素进行等价映射变换,得到标记连通分量的图像。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种连通分量的提取终端,包括存储器、处理器及存储在存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取二值化图像;
对所述二值化图像的每一元素行分别分配一线程,并利用所述线程对所述元素行中的连通元素进行标记,得到标记后的二值化图像;
对所述标记后的二值化图像的每一元素列分别分配一线程,并利用所述线程根据所述标记对所述元素列中的每一所述连通元素进行等价映射变换,得到标记连通分量的图像。
本发明的有益效果在于:对获取的二值化图像的每一元素行分别分配一线程,并利用线程对元素行进行标记,得到标记后的二值化图像,对标记后的二值化图像的每一元素列分别分配一线程,并利用线程根据标记对元素列中的每一连通元素进行等价映射变换,得到标记连通分量的图像,以此利用GPU多线程同时进行连通分量的提取,相较于现有的单线程计算,计算速度更快,从而有效提高计算效率。
附图说明
图1为本发明实施例的一种连通分量的提取方法的步骤流程图;
图2为本发明实施例的一种连通分量的提取终端的结构示意图;
图3为本发明实施例一种连通分量的提取方法中的二值化图像;
图4为本发明实施例一种连通分量的提取方法中的线程分配示意图;
图5为本发明实施例一种连通分量的提取方法中的重映射后的二值化图像;
图6为本发明实施例一种连通分量的提取方法中的分配线程的重映射后的二值化图像;
图7为本发明实施例一种连通分量的提取方法中的标记连通分量的图像。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
请参照图1,一种连通分量的提取方法,包括步骤:
获取二值化图像;
对所述二值化图像的每一元素行分别分配一线程,并利用所述线程对所述元素行中的连通元素进行标记,得到标记后的二值化图像;
对所述标记后的二值化图像的每一元素列分别分配一线程,并利用所述线程根据所述标记对所述元素列中的每一所述连通元素进行等价映射变换,得到标记连通分量的图像。
从上述描述可知,本发明的有益效果在于:对获取的二值化图像的每一元素行分别分配一线程,并利用线程对元素行进行标记,得到标记后的二值化图像,对标记后的二值化图像的每一元素列分别分配一线程,并利用线程根据标记对元素列中的每一连通元素进行等价映射变换,得到标记连通分量的图像,以此利用GPU多线程同时进行连通分量的提取,相较于现有的单线程计算,计算速度更快,从而有效提高计算效率。
进一步地,所述利用所述线程对所述元素行中的连通元素进行标记,得到标记后的二值化图像包括:
利用所述线程定义一标记值,所述标记值初始为0;
遍历所述元素行中的每一元素,直至所述元素行中的所有元素均已遍历,得到标记后的二值化图像;
对于遍历到的当前元素,判断所述当前元素的元素值是否为第一预设值,若是,则将所述标记值加一,得到更新后的标记值,并使用所述更新后的标记值对所述当前元素进行标记,得到标记后的元素;
确定所述标记后的元素的下一元素,并判断所述下一元素的元素值是否为第一预设值,若为第一预设值,则使用所述更新后的标记值对所述下一元素进行标记,得到标记后的元素,若不为第一预设值,则不对所述下一元素进行标记,并继续遍历下一元素;
若否,则继续遍历下一元素。
由上述描述可知,利用分配的线程对单独的元素行进行标记,得到标记后的二值化图像,能够有效减少行标记时间。
进一步地,所述利用所述线程对所述元素行中的连通元素进行标记,得到标记后的二值化图像之后,还包括:
确定所述标记后的二值化图像中每一元素行的标记值的个数总和;
根据元素行的标记顺序依次对所述标记后的二值化图像中的所述标记值按照所述个数总和进行重新映射,得到重映射后的二值化图像;
对所述标记后的二值化图像的每一元素列分别分配一线程包括:
对所述重映射后的二值化图像的每一元素列分别分配一线程。
由上述描述可知,根据元素行的标记顺序依次对标记后的二值化图像中的标记值按照个数总和进行重新映射,能够确保重映射后的二值化图像中的标记是独一的,以便后续标记连通分量。
进一步地,所述利用所述线程根据所述标记对所述元素列中的每一所述连通元素进行等价映射变换,得到标记连通分量的图像包括:
确定所述重映射后的二值化图像中的最小标记值和最大标记值;
根据所述最大标记值构建初始映射表,所述初始映射表包括每一标记值、与所述每一标记值对应的第一映射值和第二映射值;
依次遍历每一所述元素列中的每一有标记值的元素,直至所有元素列中的所有有标记值的元素均已遍历;
对于遍历到的当前元素,判断所述当前元素的标记值是否为所述最小标记值,若是,则确定与所述当前元素连通的目标元素,并将与所述目标元素的标记值对应的第一映射值修改为所述最小标记值,若否,则判断所述当前元素与所述当前元素的下一元素是否连通;
若不连通,则不执行操作,若连通,则判断所述下一元素是否存在多个上行连通元素,若存在,则在所述初始映射表中,将所述下一元素的标记值作为与所述当前元素的标记值对应的第二映射值,得到更新后的第一映射表,若不存在,则在所述初始映射表中,将与所述下一元素的标记值对应的第一映射值修改为所述当前元素的标记值,得到更新后的第一映射表;
按照标记值从小到大的顺序基于所述重映射后的二值化图像依次对所述更新后的第一映射表中的所述第一映射值进行传导映射,得到更新后的第二映射表;
按照标记值从小到大的顺序基于所述重映射后的二值化图像依次对所述更新后的第二映射表中的所述第二映射值进行传导映射,得到更新后的第三映射表;
利用线程基于所述更新后的第三映射表对所述重映射后的二值化图像的标记进行等价变换,得到标记连通分量的图像。
由上述描述可知,利用分配的线程对元素列进行等价映射变换,同时使用映射表实现,能够减少对比标记时间,从而提高提取效率。
进一步地,所述按照标记值从小到大的顺序基于所述重映射后的二值化图像依次对所述更新后的第一映射表中的所述第一映射值进行传导映射,得到更新后的第二映射表包括:
按照标记值从小到大的顺序遍历所述重映射后的二值化图像的每一有标记值的元素,直至所述重映射后的二值化图像中所有有标记值的元素均已遍历;
对于遍历到的当前元素,若所述当前元素不存在上行连通元素,则将所述更新后的第一映射表中与所述当前元素的标记值对应的所述第一映射值修改为所述当前元素的标记值本身,得到更新后的第二映射表,否则,判断所述更新后的第一映射表中是否存在与所述当前元素的标记值对应的第一映射值;
若存在,则追溯与所述当前元素的标记值对应的第一映射值,得到第一追溯值,并使用所述第一追溯值修改所述更新后的第一映射表中与所述当前元素的标记值对应的所述第一映射值,得到更新后的第二映射表;
若不存在,则将所述第一映射表中与所述当前元素的标记值对应的所述第一映射值修改为所述当前元素的标记值本身,得到更新后的第二映射表。
由上述描述可知,按照标记值从小到大的顺序基于重映射后的二值化图像依次对第一映射表中的第一映射值进行传导映射,得到第二映射表,作为后续进行等价变换的基础,确保连通分量提取的准确性。
进一步地,所述按照标记值从小到大的顺序基于所述重映射后的二值化图像依次对所述更新后的第二映射表中的所述第二映射值进行传导映射,得到更新后的第三映射表包括:
按照标记值从小到大的顺序遍历所述重映射后的二值化图像的每一有标记值的元素,直至所述重映射后的二值化图像中所有有标记值的元素均已遍历;
对于遍历到的当前元素,若所述当前元素的标记值为所述最小标记值,则将所述更新后的第二映射表中与所述当前元素的标记值对应的所述第二映射值修改为所述当前元素的标记值本身,得到更新后的第三映射表,否则,判断所述更新后的第二映射表中是否存在与所述当前元素的标记值对应的第二映射值;
若存在,则追溯与所述当前元素的标记值对应的第二映射值,得到第二追溯值,并使用所述第二追溯值修改所述更新后的第二映射表中与所述当前元素的标记值对应的所述第二映射值,得到更新后的第三映射表;
若不存在,则追溯与所述当前元素的标记值对应的第一映射值,得到第三追溯值,并使用所述第三追溯值作为所述更新后的第二映射表中与所述当前元素的标记值对应的所述第二映射值,得到更新后的第三映射表。
由上述描述可知,按照标记值从小到大的顺序基于重映射后的二值化图像依次对第二映射表中的第二映射值进行传导映射,从而实现对多列等价标记的等价。
进一步地,所述利用线程基于所述更新后的第三映射表对所述重映射后的二值化图像的标记进行等价变换,得到标记连通分量的图像之前,还包括:
将所述更新后的第三映射表中的所述第二映射值更新为连续值,得到最终映射表;
所述利用线程基于所述更新后的第三映射表对所述重映射后的二值化图像的标记进行等价变换,得到标记连通分量的图像包括:
利用线程基于所述最终映射表对所述重映射后的二值化图像的标记进行等价变换,得到标记连通分量的图像。
由上述描述可知,将第三映射表中的第二映射值更新为连续值,得到最终映射表,以便后续顺利提取连通分量。
进一步地,所述利用线程基于所述最终映射表对所述重映射后的二值化图像的标记进行等价变换,得到标记连通分量的图像包括:
从所述最终映射表中查找与所述重映射后的二值化图像的标记对应的目标第二映射值;
利用线程使用所述目标第二映射值修改所述重映射后的二值化图像的标记,得到标记连通分量的图像。
由上述描述可知,从最终映射表中查找与重映射后的二值化图像的标记对应的目标第二映射值,使用目标第二映射值修改重映射后的二值化图像的标记,得到标记连通分量的图像,以此简单、有效地提取图像中的连通分量。
进一步地,所述利用线程使用所述目标第二映射值修改所述重映射后的二值化图像的标记,得到标记连通分量的图像包括:
利用所述线程使用所述目标第二映射值修改所述重映射后的二值化图像的所述元素列中的标记,得到标记连通分量的图像。
由上述描述可知,利用多线程修改图像中的标记,提高处理效率。
请参照图2,本发明另一实施例提供了一种连通分量的提取终端,包括存储器、处理器及存储在存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述连通分量的提取方法中的各个步骤。
本发明上述的连通分量的提取方法及终端能够适用于自动图像分析场景,以下通过具体实施方式进行说明:
请参照图1、图3-图7,本发明的实施例一为:
一种连通分量的提取方法,包括步骤:
S1、获取二值化图像。
所述二值化图像为元素的元素值为0或1的图像,如图3所示。
S2、对所述二值化图像的每一元素行分别分配一线程,并利用所述线程对所述元素行中的连通元素进行标记,得到标记后的二值化图像,具体包括:
S21、对所述二值化图像的每一元素行分别分配一线程,如图4所示。
S22、利用所述线程定义一标记值x,所述标记值初始为0,即x=0。
S23、遍历所述元素行中的每一元素,直至所述元素行中的所有元素均已遍历,得到标记后的二值化图像,如图4所示。
S231、对于遍历到的当前元素,判断所述当前元素的元素值是否为第一预设值,若是,则执行S2311-S2312,若否,则继续遍历下一元素。
其中,所述第一预设值为1。
S2311、将所述标记值加一,得到更新后的标记值,即x+1,并使用所述更新后的标记值对所述当前元素进行标记,得到标记后的元素。
S2312、确定所述标记后的元素的下一元素,并判断所述下一元素的元素值是否为第一预设值,若为第一预设值,则执行S23121,若不为第一预设值,则执行S23122。
S23121、使用所述更新后的标记值对所述下一元素进行标记,得到标记后的元素。
S23122、不对所述下一元素进行标记,并继续遍历下一元素。
S3、确定所述标记后的二值化图像中每一元素行的标记值的个数总和。
S4、根据元素行的标记顺序依次对所述标记后的二值化图像中的所述标记值按照所述个数总和进行重新映射,得到重映射后的二值化图像。
比如,如图4所示,第二行的元素行的标记值的个数总和为2,那么该元素行的标记值依次映射为1、2,第三行的元素行的标记值的个数总和为2,那么该元素行的标记值依次映射为3、4,第四行的元素行的标记值的个数总和为3,那么该元素行的标记值依次映射为5、6、7,依此类推,最终得到如图5所示的重映射后的二值化图像,重映射后的二值化图像的标记值是独一的。
S5、对所述标记后的二值化图像的每一元素列分别分配一线程,并利用所述线程根据所述标记对所述元素列中的每一所述连通元素进行等价映射变换,得到标记连通分量的图像,具体包括:
S51、对所述重映射后的二值化图像的每一元素列分别分配一线程,如图所示。
S52、确定所述重映射后的二值化图像中的最小标记值和最大标记值。
如图5所示,所述重映射后的二值化图像中的最小标记值为1,最大标记值为11。
S53、根据所述最大标记值构建初始映射表,所述初始映射表包括每一标记值、与所述每一标记值对应的第一映射值和第二映射值。
比如,最大标记值为11,那么可以构建如表1所示的初始映射表,标记值从1-11,其中的第一映射值和第二映射值可均为空。
表1初始映射表
标记值 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
Lo | |||||||||||
Lr |
L0表示与所述每一标记值对应的第一映射值,Lr表示与所述每一标记值对应的第二映射值,当一个上行标记对应一个下行标记或者一个上行标记对应多个下行标记,则可以使用L0表示,当多个上行标记对应一个下行标记,则可以使用Lr表示。
在另一种可选的实施方式中,还包括:将所述初始映射表中的第一映射值和第二映射值初始化为与其对应的标记值本身,如表2所示。
表2另一种初始映射表
标记值 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
Lo | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
Lr | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
S54、依次遍历每一所述元素列中的每一有标记值的元素,直至所有元素列中的所有有标记值的元素均已遍历。
比如,如图5所示,先遍历第一元素列中标记值为1的元素,再遍历第一元素列中标记值为5的元素,然后第二元素列中标记值为1的元素,接着遍历第二元素列中标记值为3的元素,接着第二元素列中标记值为5的元素,依此类推,直至所有元素列中的所有有标记值的元素均已遍历。
S541、对于遍历到的当前元素,判断所述当前元素的标记值是否为所述最小标记值,若是,则执行S5411,若否,则执行S5412。
比如,如图5所示,假设遍历到第一元素列标记值为1的元素,该标记值是最小标记值,那么执行S5411,假设遍历到第二元素列标记值为3的元素,该标记值不是最小标记值,则执行S5412。
S5411、确定与所述当前元素连通的目标元素,并将与所述目标元素的标记值对应的第一映射值修改为所述最小标记值。
在一种可选的实施方式中,若所述当前元素没有连通的目标元素,则不执行操作。
比如,如图5所示,假设遍历到第一元素列标记值为1的元素,该元素不存在连通的目标元素,则不执行操作,假设遍历到第二元素列标记值为1的元素,该元素连通的目标元素为第二元素列标记值为3的元素,那么将该元素的标记值对应的第一映射值修改为1,依此类推。
S5412、判断所述当前元素与所述当前元素的下一元素是否连通,若不连通,则不执行操作,若连通,则执行S54121。
比如,如图5所示,假设遍历到第二元素列标记值为3的元素,该元素与下一标记值为5的元素连通,则执行S54121,假设遍历到第四元素列标记值为2的元素,该元素与下一标记值为3的元素连通,则执行S54121。
S54121、判断所述下一元素是否存在多个上行连通元素,若存在,则执行S541211,若不存在,则执行S541212。
比如,如图5所示,第二元素列标记值为5的元素不存在多个上行连通元素,其只有一个上行连通元素,即标记值为3的元素,所以执行S541212,而第四元素列标记值为3的元素存在多个上行连通元素,即标记值为1的元素和标记值为2的元素,所以执行S541211。
S541211、在所述初始映射表中,将所述下一元素的标记值作为与所述当前元素的标记值对应的第二映射值,得到更新后的第一映射表。
比如,将第四元素列标记值为2的元素的第二映射值改为3。
S541212、在所述初始映射表中,将与所述下一元素的标记值对应的第一映射值修改为所述当前元素的标记值,得到更新后的第一映射表。
比如,将第二元素列标记值为5的元素的第一映射值改为3。
全部遍历完成后,得到的更新后的第一映射表如表3所示。
表3更新后的第一映射表
标记值 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
Lo | 1 | 3 | 3 | 4 | 7 | 8 | 8 | ||||
Lr | 3 |
S55、按照标记值从小到大的顺序基于所述重映射后的二值化图像依次对所述更新后的第一映射表中的所述第一映射值进行传导映射,得到更新后的第二映射表,具体包括:
S551、按照标记值从小到大的顺序遍历所述重映射后的二值化图像的每一有标记值的元素,直至所述重映射后的二值化图像中所有有标记值的元素均已遍历。
比如,如图5所示,先遍历标记值为1的元素,再遍历标记值为2的元素,接着遍历标记值为3的元素,依此类推,直至重映射后的二值化图像中所有有标记值的元素均已遍历。
S5511、对于遍历到的当前元素,若所述当前元素不存在上行连通元素,则将所述更新后的第一映射表中与所述当前元素的标记值对应的所述第一映射值修改为所述当前元素的标记值本身,得到更新后的第二映射表,否则,判断所述更新后的第一映射表中是否存在与所述当前元素的标记值对应的第一映射值;若存在,则执行S55111;若不存在,则执行S55112。
比如,如图5所示,标记值为3的元素存在两个上行连通元素,即标记值为1的元素和标记值为2的元素,那么应判断所述更新后的第一映射表中是否存在与所述当前元素的标记值对应的第一映射值,若存在,则执行S55111,若不存在,则执行S55112,而标记值为1的元素不存在上行连通元素,则表3中标记值为1的元素的第一映射值修改为该元素的标记值本身,即改为1,得到更新后的第二映射表。
S55111、追溯与所述当前元素的标记值对应的第一映射值,得到第一追溯值,并使用所述第一追溯值修改所述更新后的第一映射表中与所述当前元素的标记值对应的所述第一映射值,得到更新后的第二映射表。
比如,如图5所示,标记值为5的元素存在上行连通元素,即标记值为3的元素,且表3中标记值为5的元素存在第一映射值3,则由于该第一映射值3对应的标记3被映射为1,所以可以确定第一追溯值为1,将标记值为5的元素的第一映射值改为1。
S55112、将所述第一映射表中与所述当前元素的标记值对应的所述第一映射值修改为所述当前元素的标记值本身,得到更新后的第二映射表。
全部遍历完成后,即可得到更新后的第二映射表,如表4所示。
表4更新后的第二映射表
标记值 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
Lo | 1 | 2 | 1 | 4 | 1 | 1 | 4 | 4 | 9 | 4 | 4 |
Lr | 3 |
S56、按照标记值从小到大的顺序基于所述重映射后的二值化图像依次对所述更新后的第二映射表中的所述第二映射值进行传导映射,得到更新后的第三映射表,具体包括:
S561、按照标记值从小到大的顺序遍历所述重映射后的二值化图像的每一有标记值的元素,直至所述重映射后的二值化图像中所有有标记值的元素均已遍历。
S5611、对于遍历到的当前元素,若所述当前元素的标记值为所述最小标记值,则将所述更新后的第二映射表中与所述当前元素的标记值对应的所述第二映射值修改为所述当前元素的标记值本身,得到更新后的第三映射表,否则,判断所述更新后的第二映射表中是否存在与所述当前元素的标记值对应的第二映射值;若存在,则执行S56111;若不存在,则S56112。
比如,如图5所示,标记值为1的元素,其标记值为最小标记值,所以将该元素的第二映射值改为该元素的标记值本身,即1,而标记值为2的元素,其标记值不为最小标记值,应判断表4中是否存在与标记值为2的元素对应的第二映射值,若存在,则执行S56111,若不存在,则S56112。
S56111、追溯与所述当前元素的标记值对应的第二映射值,得到第二追溯值,并使用所述第二追溯值修改所述更新后的第二映射表中与所述当前元素的标记值对应的所述第二映射值,得到更新后的第三映射表。
由于表4中标记值为2的元素存在对应的第二映射值3,则由于该第二映射值3对应的标记值3被映射为1,所以可以确定第二追溯值为1,将标记值为2的元素对应的第二映射值改为1。
S56112、追溯与所述当前元素的标记值对应的第一映射值,得到第三追溯值,并使用所述第三追溯值作为所述更新后的第二映射表中与所述当前元素的标记值对应的所述第二映射值,得到更新后的第三映射表。
如表4所示,标记值为3的元素不存在对应的第二映射值,那么将标记值为3的元素的第一映射值作为第三追溯值,即为1,则标记值为3的元素对应的第二映射值为1。
全部遍历完成后,即可得到更新后的第三映射表,如表5所示。
表5更新后的第三映射表
标记值 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
Lo | 1 | 2 | 1 | 4 | 1 | 1 | 4 | 4 | 9 | 4 | 4 |
Lr | 1 | 1 | 1 | 4 | 1 | 1 | 4 | 4 | 9 | 4 | 4 |
S57、将所述更新后的第三映射表中的所述第二映射值更新为连续值,得到最终映射表。
比如,所述更新后的第三映射表中的所述第二映射值包括1、4、9,则将其更新为连续值1、2、3,得到最终映射表,如表6所示。
表6最终映射表
S58、利用线程基于所述更新后的第三映射表对所述重映射后的二值化图像的标记进行等价变换,得到标记连通分量的图像。
具体的,如图6所示,利用线程基于所述最终映射表对所述重映射后的二值化图像的标记进行等价变换,得到标记连通分量的图像,具体包括:
S581、从所述最终映射表中查找与所述重映射后的二值化图像的标记对应的目标第二映射值。
S582、利用线程使用所述目标第二映射值修改所述重映射后的二值化图像的标记,得到标记连通分量的图像。
具体的,利用所述线程使用所述目标第二映射值修改所述重映射后的二值化图像的所述元素列中的标记,得到标记连通分量的图像,如图7所示。
在现有技术中,需要单线程对每个像素点单独进行串行运算,如果一张图像大小为M*N,单个像素点平均运行时间为T,那总的运算的时间为M*N*T。本发明加入GPU多线程并行运算后,并行计算次数为M+N,单个像素点平均运行时间为T,运算的时间为(M+N)*T,大大缩小了运算时间,提高了效率。
请参照图2,本发明的实施例二为:
一种连通分量的提取终端,包括存储器、处理器及存储在存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现实施例一中的连通分量的提取方法中的各个步骤。
综上所述,本发明提供的一种连通分量的提取方法及终端,对获取的二值化图像的每一元素行分别分配一线程,并利用线程对元素行进行标记,得到标记后的二值化图像,对标记后的二值化图像的每一元素列分别分配一线程,并利用线程根据标记对元素列中的每一连通元素进行等价映射变换,得到标记连通分量的图像,以此利用GPU多线程同时进行连通分量的提取,相较于现有的单线程计算,计算速度更快,从而有效提高计算效率;另外,从最终映射表中查找与重映射后的二值化图像的标记对应的目标第二映射值,使用目标第二映射值修改重映射后的二值化图像的标记,得到标记连通分量的图像,以此简单、有效地提取图像中的连通分量。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种连通分量的提取方法,其特征在于,包括步骤:
获取二值化图像;
对所述二值化图像的每一元素行分别分配一线程,并利用所述线程对所述元素行中的连通元素进行标记,得到标记后的二值化图像;
对所述标记后的二值化图像的每一元素列分别分配一线程,并利用所述线程根据所述标记对所述元素列中的每一所述连通元素进行等价映射变换,得到标记连通分量的图像。
2.根据权利要求1所述的一种连通分量的提取方法,其特征在于,所述利用所述线程对所述元素行中的连通元素进行标记,得到标记后的二值化图像包括:
利用所述线程定义一标记值,所述标记值初始为0;
遍历所述元素行中的每一元素,直至所述元素行中的所有元素均已遍历,得到标记后的二值化图像;
对于遍历到的当前元素,判断所述当前元素的元素值是否为第一预设值,若是,则将所述标记值加一,得到更新后的标记值,并使用所述更新后的标记值对所述当前元素进行标记,得到标记后的元素;
确定所述标记后的元素的下一元素,并判断所述下一元素的元素值是否为第一预设值,若为第一预设值,则使用所述更新后的标记值对所述下一元素进行标记,得到标记后的元素,若不为第一预设值,则不对所述下一元素进行标记,并继续遍历下一元素;
若否,则继续遍历下一元素。
3.根据权利要求1所述的一种连通分量的提取方法,其特征在于,所述利用所述线程对所述元素行中的连通元素进行标记,得到标记后的二值化图像之后,还包括:
确定所述标记后的二值化图像中每一元素行的标记值的个数总和;
根据元素行的标记顺序依次对所述标记后的二值化图像中的所述标记值按照所述个数总和进行重新映射,得到重映射后的二值化图像;
对所述标记后的二值化图像的每一元素列分别分配一线程包括:
对所述重映射后的二值化图像的每一元素列分别分配一线程。
4.根据权利要求3所述的一种连通分量的提取方法,其特征在于,所述利用所述线程根据所述标记对所述元素列中的每一所述连通元素进行等价映射变换,得到标记连通分量的图像包括:
确定所述重映射后的二值化图像中的最小标记值和最大标记值;
根据所述最大标记值构建初始映射表,所述初始映射表包括每一标记值、与所述每一标记值对应的第一映射值和第二映射值;
依次遍历每一所述元素列中的每一有标记值的元素,直至所有元素列中的所有有标记值的元素均已遍历;
对于遍历到的当前元素,判断所述当前元素的标记值是否为所述最小标记值,若是,则确定与所述当前元素连通的目标元素,并将与所述目标元素的标记值对应的第一映射值修改为所述最小标记值,若否,则判断所述当前元素与所述当前元素的下一元素是否连通;
若不连通,则不执行操作,若连通,则判断所述下一元素是否存在多个上行连通元素,若存在,则在所述初始映射表中,将所述下一元素的标记值作为与所述当前元素的标记值对应的第二映射值,得到更新后的第一映射表,若不存在,则在所述初始映射表中,将与所述下一元素的标记值对应的第一映射值修改为所述当前元素的标记值,得到更新后的第一映射表;
按照标记值从小到大的顺序基于所述重映射后的二值化图像依次对所述更新后的第一映射表中的所述第一映射值进行传导映射,得到更新后的第二映射表;
按照标记值从小到大的顺序基于所述重映射后的二值化图像依次对所述更新后的第二映射表中的所述第二映射值进行传导映射,得到更新后的第三映射表;
利用线程基于所述更新后的第三映射表对所述重映射后的二值化图像的标记进行等价变换,得到标记连通分量的图像。
5.根据权利要求4所述的一种连通分量的提取方法,其特征在于,所述按照标记值从小到大的顺序基于所述重映射后的二值化图像依次对所述更新后的第一映射表中的所述第一映射值进行传导映射,得到更新后的第二映射表包括:
按照标记值从小到大的顺序遍历所述重映射后的二值化图像的每一有标记值的元素,直至所述重映射后的二值化图像中所有有标记值的元素均已遍历;
对于遍历到的当前元素,若所述当前元素不存在上行连通元素,则将所述更新后的第一映射表中与所述当前元素的标记值对应的所述第一映射值修改为所述当前元素的标记值本身,得到更新后的第二映射表,否则,判断所述更新后的第一映射表中是否存在与所述当前元素的标记值对应的第一映射值;
若存在,则追溯与所述当前元素的标记值对应的第一映射值,得到第一追溯值,并使用所述第一追溯值修改所述更新后的第一映射表中与所述当前元素的标记值对应的所述第一映射值,得到更新后的第二映射表;
若不存在,则将所述第一映射表中与所述当前元素的标记值对应的所述第一映射值修改为所述当前元素的标记值本身,得到更新后的第二映射表。
6.根据权利要求4所述的一种连通分量的提取方法,其特征在于,所述按照标记值从小到大的顺序基于所述重映射后的二值化图像依次对所述更新后的第二映射表中的所述第二映射值进行传导映射,得到更新后的第三映射表包括:
按照标记值从小到大的顺序遍历所述重映射后的二值化图像的每一有标记值的元素,直至所述重映射后的二值化图像中所有有标记值的元素均已遍历;
对于遍历到的当前元素,若所述当前元素的标记值为所述最小标记值,则将所述更新后的第二映射表中与所述当前元素的标记值对应的所述第二映射值修改为所述当前元素的标记值本身,得到更新后的第三映射表,否则,判断所述更新后的第二映射表中是否存在与所述当前元素的标记值对应的第二映射值;
若存在,则追溯与所述当前元素的标记值对应的第二映射值,得到第二追溯值,并使用所述第二追溯值修改所述更新后的第二映射表中与所述当前元素的标记值对应的所述第二映射值,得到更新后的第三映射表;
若不存在,则追溯与所述当前元素的标记值对应的第一映射值,得到第三追溯值,并使用所述第三追溯值作为所述更新后的第二映射表中与所述当前元素的标记值对应的所述第二映射值,得到更新后的第三映射表。
7.根据权利要求4所述的一种连通分量的提取方法,其特征在于,所述利用线程基于所述更新后的第三映射表对所述重映射后的二值化图像的标记进行等价变换,得到标记连通分量的图像之前,还包括:
将所述更新后的第三映射表中的所述第二映射值更新为连续值,得到最终映射表;
所述利用线程基于所述更新后的第三映射表对所述重映射后的二值化图像的标记进行等价变换,得到标记连通分量的图像包括:
利用线程基于所述最终映射表对所述重映射后的二值化图像的标记进行等价变换,得到标记连通分量的图像。
8.根据权利要求7所述的一种连通分量的提取方法,其特征在于,所述利用线程基于所述最终映射表对所述重映射后的二值化图像的标记进行等价变换,得到标记连通分量的图像包括:
从所述最终映射表中查找与所述重映射后的二值化图像的标记对应的目标第二映射值;
利用线程使用所述目标第二映射值修改所述重映射后的二值化图像的标记,得到标记连通分量的图像。
9.根据权利要求8所述的一种连通分量的提取方法,其特征在于,所述利用线程使用所述目标第二映射值修改所述重映射后的二值化图像的标记,得到标记连通分量的图像包括:
利用所述线程使用所述目标第二映射值修改所述重映射后的二值化图像的所述元素列中的标记,得到标记连通分量的图像。
10.一种连通分量的提取终端,包括存储器、处理器及存储在存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至9中任一项所述的一种连通分量的提取方法中的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310993959.9A CN117197176A (zh) | 2023-08-08 | 2023-08-08 | 一种连通分量的提取方法及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310993959.9A CN117197176A (zh) | 2023-08-08 | 2023-08-08 | 一种连通分量的提取方法及终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117197176A true CN117197176A (zh) | 2023-12-08 |
Family
ID=88984041
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310993959.9A Pending CN117197176A (zh) | 2023-08-08 | 2023-08-08 | 一种连通分量的提取方法及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117197176A (zh) |
-
2023
- 2023-08-08 CN CN202310993959.9A patent/CN117197176A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106599900A (zh) | 一种识别图像中的字符串的方法和装置 | |
Zhang et al. | Keypoint-graph-driven learning framework for object pose estimation | |
WO2016065701A1 (zh) | 图像文字识别方法及装置 | |
CN110334709B (zh) | 基于端到端多任务深度学习的车牌检测方法 | |
CN111242691A (zh) | 广告海报的生成方法、装置、存储介质及终端设备 | |
WO2021082507A1 (zh) | 半自动化图像分割数据标注方法、电子装置及存储介质 | |
CN108038435A (zh) | 一种基于卷积神经网络的特征提取与目标跟踪方法 | |
WO2017088479A1 (zh) | 台标识别方法及装置 | |
CN109213886B (zh) | 基于图像分割和模糊模式识别的图像检索方法及系统 | |
CN110796038A (zh) | 结合快速区域生长超像素分割的高光谱遥感图像分类方法 | |
CN110992365A (zh) | 一种基于图像语义分割的损失函数及其设计方法 | |
CN112232346A (zh) | 语义分割模型训练方法及装置、图像语义分割方法及装置 | |
US20230260262A1 (en) | Automated annotation of visual data through computer vision template matching | |
CN107657276B (zh) | 一种基于寻找语义类簇的弱监督语义分割方法 | |
CN114782970A (zh) | 一种表格提取方法、系统及可读介质 | |
CN103942778A (zh) | 一种主成分特征曲线分析的快速视频关键帧提取方法 | |
CN108304588B (zh) | 一种基于k近邻和模糊模式识别的图像检索方法及系统 | |
CN112861652A (zh) | 基于卷积神经网络的视频目标跟踪与分割方法及系统 | |
CN117197176A (zh) | 一种连通分量的提取方法及终端 | |
CN110853052A (zh) | 一种基于深度学习的土家织锦图案图元的分割方法 | |
CN107122778B (zh) | 一种单字区域的合并方法和装置 | |
CN112950621B (zh) | 图像处理方法、装置、设备及介质 | |
CN115937536A (zh) | 基于光刻sem图像的轮廓提取方法、装置、设备及存储介质 | |
CN115049817A (zh) | 一种基于跨图像一致性的图像语义分割方法及其系统 | |
CN115239963A (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 |