一种基于行程编码的连通域快速提取方法及系统与流程

文档序号:36267697发布日期:2023-12-06 14:48阅读:45来源:国知局
一种基于行程编码的连通域快速提取方法及系统与流程

本发明涉及一种基于行程编码的连通域快速提取方法及系统,属于图像处理的。


背景技术:

1、在图像处理领域中,连通域的提取是很重要的一步。例如在某些工业产品的检测中,需先用合适的阈值范围筛选出待检测区域,再提取出待检区域的连通域,计算各个连通区域的特征值进而筛选出目标检测区域,其中连通域的提取是后续区域特征值计算的基础。连通域的提取广泛应用于字符分割提取、医学图像处理、基于视觉的动态目标检测等领域。

2、现有的连通域提取算法主要是基于二值图像进行的,采用二值图像存储连通域所占用的空间通常情况下会比较大,且提取效率通常会比较低,例如在一幅较大尺寸的二值图中,当只有在左上角和右下角处分别存在一个较小的区域时,存储的二值图像需要存储很多区域外的点,占用空间较大,提取连通域时需遍历所有像素点才能确定哪些点在区域范围内;且二值图像不容易保存扩展到负数坐标的区域,当有多个区域时也无法描述重叠的区域,这会影响后续的形态学处理。


技术实现思路

1、为了解决上述存在的问题,本发明公开了一种基于行程编码的连通域快速提取方法及系统,其具体技术方案如下:

2、一种基于行程编码的连通域快速提取方法,包括以下步骤:

3、步骤1:对输入图像进行分割,获取感兴趣的以行程编码表示的区域;

4、步骤2:若输入连通区域有处于不同行的行程,创建一个相邻行程邻接关系的查找表,表中对每个行程都会记录4个值,表示与该行程邻接的上一行和下一行的第一个和最后一个行程标号,按顺序遍历获取到的以行程编码表示的感兴趣区域的各个行程,并将相邻行程的邻接关系记录在查找表中;

5、步骤3:根据查找表中各个行程的邻接关系,采用深度优先搜索遍历感兴趣区域的各个行程并确定各个行程所属的连通域,最终提取出感兴趣区域的多个连通域。

6、进一步的,所述步骤1具体包括:选取合适的阈值范围,按行遍历输入图像的所有像素点,将所有在阈值范围内的像素点加入行程编码中保存,每行中一段连续的处于阈值内的像素点都构成一个行程。

7、进一步的,将所有在阈值范围内的像素点加入行程编码中保存,具体包括:

8、步骤1.1:从第一行开始按行遍历图像,找到第一个属于区域内的像素点,并将其加入行程;

9、步骤1.2:继续遍历此行,若当前像素点与前一像素点都是区域内的点,则将当前行程的列终止坐标加1;若当前像素点不在区域内,则继续遍历该行;若当前像素点在区域内且前一像素点不在区域内,将当前像素点加入一个新行程;

10、步骤1.3:重复步骤1.2直至此行结束;

11、步骤1.4:依次遍历剩余行图像,并进行步骤1.3处理,直至遍历结束。

12、进一步的,所述步骤2中查找表的生成是通过逐行比较当前行和下一行的行程实现的,查找表的生成具体包括五种情况:当前行的某个行程与下一行的某个行程不邻接,且当前行行程的列起始坐标小于下一行行程的列起始坐标时,当前行处理的行程移至下一个;

13、当前行的某个行程与下一行的某个行程不邻接,且当前行行程的列起始坐标大于下一行行程的列起始坐标时,下一行处理的行程移至下一个;

14、当前行的某个行程与下一行的某个行程的列终止坐标相同时,两个行程邻接,更新这两个行程的邻接关系查找表,当前行与下一行处理的行程移均至下一个;

15、当前行的某个行程与下一行的某个行程邻接,且当前行行程的列终止坐标大于下一行行程的列终止坐标时,更新这两个行程的邻接关系查找表,下一行处理的行程移至下一个;

16、当前行的某个行程与下一行的某个行程邻接,且当前行行程的列终止坐标小于下一行行程的列终止坐标时,更新这两个行程的邻接关系查找表,当前行处理的行程移至下一个。

17、进一步的,所述步骤3具体为:

18、步骤3.1:按顺序寻找第一个未被标记属于哪个区域的行程,如果找到了则将此行程入栈,标记此行程所属的区域,否则跳转至步骤3.5中所述流程;

19、步骤3.2:弹出栈顶行程并查找与此行程邻接的所有行程,若此行程有邻接行程且邻接行程未被标记归属区域,则将所有邻接行程入栈并标记所属区域,并重复进行本轮循环;

20、步骤3.3:当栈为空且无行程入栈时,循环结束,完成了原连通域中一个区域的提取;

21、步骤3.4:继续执行步骤3.1中所述流程;

22、步骤3.5:根据每个行程所属区域的标号,按顺序将行程存储至不同连通区域中。

23、进一步的,所述步骤3中采用深度优先搜索遍历感兴趣区域的各个行程并确定各个行程所属的连通域是通过栈实现的,具体包括:将第一个行程入栈,查找与此行程相邻的行程,若相邻的行程未被标记为属于某个连通域,则进行标记并将此邻接行程入栈,直到此行程所有邻接行程均入栈为止,同时每次查找前均将栈顶元素出栈;

24、循环执行直至栈空且无入栈行程为止。

25、实现基于行程编码的连通域快速提取方法的系统,包括:

26、分割编码模块,用于获取感兴趣的以行程编码表示的区域;

27、邻接行程查找表模块,用于相邻行程的邻接关系的记录;

28、连通域提取模块,用于提取出感兴趣区域的多个连通域。

29、进一步的,所述分割编码模块获取感兴趣的以行程编码表示的区域,具体过程包括:选取合适的阈值范围,按行遍历输入图像的所有像素点,将所有在阈值范围内的像素点加入行程编码中保存。

30、进一步的,所述邻接行程查找表模块将相邻行程的邻接关系记录在查找表中是通过逐行比较当前行和下一行的行程实现的,其中查找表中每个行程都会记录4个值,表示与该行程邻接的上一行和下一行的第一个和最后一个行程标号。

31、进一步的,所述连通域提取模块提取出感兴趣区域的多个连通域是通过深度优先搜索遍历感兴趣区域的各个行程并确定各个行程所属的连通域实现的。

32、本发明的有益效果是:

33、本发明在消耗较少的计算资源时实现连通域的快速提取,能够实现以行程编码表示的连通域的快速提取,加快了提取连通区域的处理速度,减少了对cpu计算资源的占用量,在对检测速度有较高要求的工业视觉检测场景下具有实际应用价值。



技术特征:

1.一种基于行程编码的连通域快速提取方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的基于行程编码的连通域快速提取方法,其特征在于,所述步骤1具体包括:选取阈值范围,按行遍历输入图像的所有像素点,将所有在阈值范围内的像素点加入行程编码中保存,每行中一段连续的处于阈值内的像素点都构成一个行程。

3.根据权利要求2所述的基于行程编码的连通域快速提取方法,其特征在于,将所有在阈值范围内的像素点加入行程编码中保存,具体包括:

4.根据权利要求1所述的基于行程编码的连通域快速提取方法,其特征在于,所述步骤2中查找表的生成是通过逐行比较当前行和下一行的行程实现的,查找表的生成具体包括五种情况:当前行的某个行程与下一行的某个行程不邻接,且当前行行程的列起始坐标小于下一行行程的列起始坐标时,当前行处理的行程移至下一个;

5.根据权利要求1所述的基于行程编码的连通域快速提取方法,其特征在于,所述步骤3具体为:

6.根据权利要求1所述的基于行程编码的连通域快速提取方法,其特征在于,所述步骤3中采用深度优先搜索遍历感兴趣区域的各个行程并确定各个行程所属的连通域是通过栈实现的,具体包括:将第一个行程入栈,查找与此行程相邻的行程,若相邻的行程未被标记为属于某个连通域,则进行标记并将此邻接行程入栈,直到此行程所有邻接行程均入栈为止,同时每次查找前均将栈顶元素出栈;

7.实现权利要求1-6任一所述的基于行程编码的连通域快速提取方法的系统,其特征在于,包括:

8.根据权利要求7所述的系统,其特征在于:所述分割编码模块获取感兴趣的以行程编码表示的区域,具体过程包括:选取合适的阈值范围,按行遍历输入图像的所有像素点,将所有在阈值范围内的像素点加入行程编码中保存。

9.根据权利要求7所述的系统,其特征在于:所述邻接行程查找表模块将相邻行程的邻接关系记录在查找表中是通过逐行比较当前行和下一行的行程实现的,其中查找表中每个行程都会记录4个值,表示与该行程邻接的上一行和下一行的第一个和最后一个行程标号。

10.根据权利要求7所述的系统,其特征在于:所述连通域提取模块提取出感兴趣区域的多个连通域是通过深度优先搜索遍历感兴趣区域的各个行程并确定各个行程所属的连通域实现的。


技术总结
本发明公开了一种基于行程编码的连通域快速提取方法及系统,属于图像处理的技术领域,该方法包括:对输入图像进行分割,获取感兴趣的以行程编码表示的区域;按顺序遍历获取到的以行程编码表示的感兴趣区域的各个行程,并将相邻行程的邻接关系记录在查找表中;根据查找表中各个行程的邻接关系,遍历感兴趣区域的各个行程并确定各个行程所属的连通域,最终提取出感兴趣区域的多个连通域。该系统包括分割编码模块、邻接行程查找表模块和连通域提取模块。本发明实现以行程编码表示的连通域的快速提取,加快了提取连通区域的处理速度,减少了对CPU计算资源的占用量,在对检测速度有较高要求的工业视觉检测场景下具有实际应用价值。

技术研发人员:曹国平,陈昱凯,于长明,朱非甲,杨旭东
受保护的技术使用者:南京盛视工业技术有限公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1