连通区域标记方法技术

技术编号:12951282 阅读:66 留言:0更新日期:2016-03-02 11:46
本发明专利技术属于图像处理技术领域,特别涉及一种连通区域标记方法,包括如下步骤:对原始二值化图像进行处理得到仅保留边缘且边缘平滑的预处理图像;对预处理图像按顺序进行逐点扫描,根据点是否为黑点、是否被扫描、是否被标记进行不同的处理;一个黑点处理完毕后继续扫描下一个黑点,直到连通区域的所有左、右端点标记完毕。本方法仅采用一片低端的FPGA即可实现,无需外接任何存储器;延时固定且很小;通过左右端点这种标记方法,可以在后续的处理中方便的统计连通区域的面积、周长、外切矩形中心点等信息;能够对特殊形状的连通区域进行识别,可靠性高。

【技术实现步骤摘要】

本专利技术属于图像处理
,特别涉及一种。
技术介绍
二值图像连通区域标记是指对图像中不同连通区域中的像素设置唯一的标号,是计算机视觉、模式识别和图像处理等领域中众多算法的基础。基于CPU来实现的连通区域标记算法有很多,这些算法在运行都需要在内存中缓存整幅图像的数据,并且要求能够随机读取图像数据,以及能在内存中缓存临时计算数据。最终识别完一幅图像中的连通区域所需的运算时间会和图像中连通区域的数量有关,连通区域个数越多,识别完一幅图像所需的时间越长。在一些需要高速高实时性的图像处理应用场合,由于使用CPU进行图像处理的实时性达不到要求,往往会采用FPGA来进行高实时性的图像处理。例如应用在色选机中的图像处理运算对实时性的要求就很高,在色选机里,从物料被摄像头捕捉到被执行机构分选之间的时间很短,在这很短的时间内图像处理算法必须完成对众多物料目标的识别和判断,而对每个物料目标进行处理的延时也都必须是固定的。CPU的运算是串行的,并且运算延时无法实现精确固定,因此无法胜任这种多目标并行运算且需要计算延时精确固定的场合。而FPGA则可以发挥其并行数据处理的优势,达到上述固定延时高实时性图像处理的要求。CPU和FPGA在数据处理的方式上有着本质的不同,CPU是串行指令流处理,FPGA是并行数据流处理,因此原来适合CPU的一些算法并不能完全适合FPGA来实现,连通区域标记算法也是如此。上述的基于CPU的连通区域标记算法需要大量的数据缓存,这在FPGA系统中就很难实现,就算实现了,这样的串行算法实时性也达不到要求。因此要在FPGA系统中实现固定延时的高实时性连通区标记,就必须根据FPGA的特点来重新设计算法。
技术实现思路
本专利技术的目的在于提供一种处理速度快、延迟小、可靠性高的。为实现以上目的,本专利技术采用的技术方案为:一种,包括如下步骤:(A)对原始二值化图像进行处理得到仅保留边缘且边缘平滑的预处理图像;(B)对预处理图像按顺序进行逐点扫描,若该点为白点则继续扫描下一个点,若该点为黑点,判断该黑点Pi是否被标记:若黑点Pi未被标记,判断黑点Pi是否被扫描,若黑点Pi未被扫描,执行步骤C,若黑点pi被扫描过,直接执行步骤F ;若黑点pi是已标记左端点,执行步骤D ;若黑点pi是已标记右端点,执行步骤E ;(C)从黑点pi的左下角黑点向左扫描,并将扫描到的最左边的黑点标记为左端点;再从黑点pl向右扫描直到最右边黑点p2,从黑点p2的右下角黑点向右扫描,并将扫描到的最右边的黑点标记为右端点,然后执行步骤F;(D)寻找黑点pl在下一行与之相邻的黑点的位置:若下一行的黑点位于黑点pl的右下,则继续从该右下点向右扫描,并将扫描到的最右边的黑点标记为左端点;若下一行的黑点位于黑点Pl的正下,则将该正下点标记为左端点;若下一行的黑点位于黑点pl的左下,则继续从该左下点向左扫描,并将扫描到的最左边的黑点标记为左端点;标记之后执行步骤F;(E)寻找黑点pl在下一行与之相邻的黑点的位置:若下一行的黑点位于黑点pl的右下,则继续从该右下点向右扫描,并将扫描到的最右边的黑点标记为右端点;若下一行的黑点位于黑点Pl的正下,则将该正下点标记为右端点;若下一行的黑点位于黑点pl的左下,判断该左下点是否属于该连通区域,如果是,则执行步骤G;如果不是,则继续从该左下点向左扫描,并将扫描到的最左边的黑点标记为右端点;标记之后执行步骤F;(F)黑点pl处理完毕,重复步骤B,按照顺序判断黑点Pl下一个点是否被标记;(G)该连通区域的所有左、右端点标记完毕。与现有技术相比,本专利技术存在以下技术效果:仅采用一片低端的FPGA即可实现,无需外接任何存储器;只需对图像扫描一遍就可以完成所有连通区域的识别,延时固定且很小;通过左右端点这种标记方法,可以在后续的处理中方便的统计连通区域的面积、周长、外切矩形中心点等信息;能够对特殊形状的连通区域进行识别,可靠性高。【附图说明】图1是本专利技术的流程示意图;图2a_2d是处理过程不意图;图3a、3b分别是U型、η型连通区域的示意图。【具体实施方式】下面结合图1至图3,对本专利技术做进一步详细叙述。参阅图1,一种,包括如下步骤:(Α)对原始二值化图像进行处理得到仅保留边缘且边缘平滑的预处理图像;(Β)对预处理图像按顺序进行逐点扫描,若该点为白点则继续扫描下一个点,若该点为黑点,判断该黑点Pl是否被标记:若黑点pl未被标记,判断黑点pl是否被扫描,若黑点pl未被扫描,执行步骤C,若黑点pl被扫描过,直接执行步骤F ;若黑点pl是已标记左端点,执行步骤D ;若黑点pl是已标记右端点,执行步骤E ;(C)从黑点pl的左下角黑点向左扫描,并将扫描到的最左边的黑点标记为左端点;再从黑点Pl向右扫描直到最右边黑点p2,从黑点p2的右下角黑点向右扫描,并将扫描到的最右边的黑点标记为右端点,然后执行步骤F ;(D)寻找黑点pl在下一行与之相邻的黑点的位置:若下一行的黑点位于黑点Pl的右下,则继续从该右下点向右扫描,并将扫描到的最右边的黑点标记为左端点;若下一行的黑点位于黑点pl的正下,则将该正下点标记为左端点;若下一行的黑点位于黑点Pl的左下,则继续从该左下点向左扫描,并将扫描到的最左边的黑点标记为左端点;标记之后执行步骤F ;(E)寻找黑点pl在下一行与之相邻的黑点的位置:若下一行的黑点位于黑点Pl的右下,则继续从该右下点向右扫描,并将扫描到的最右边的黑点标记为右端点;若下一行的黑点位于黑点pl的正下,则将该正下点标记为右端点;若下一行的黑点位于黑点Pl的左下,判断该左下点是否属于该连通区域,如果是,则执行步骤G;如果不是,则继续从该左下点向左扫描,并将扫描到的最左边的黑点标记为右端点;标记之后执行步骤F ; (F)黑点pl处理完毕,重复步骤B,按照顺序判断黑点pl下一个点是否被标记(G)该连通区域的所有左、右端点标记完毕。通过上述步骤,可以很方便的将连通区域识别,处理速度快,延时小,采用低端的FPGA芯片就可以实现。边缘平滑处理有很多种算法可以实现,本专利技术中优选地,所述的步骤A中,包括如下步骤:(A1)原始二值化图像进行开运算和闭运算处理,得到边缘平滑的二值化图像;(A2)对步骤A1获得的图像进行取边缘处理,即得到所述的预处理图像。腐蚀是一种消除边界点,使边界向内部收缩的过程,可以用来消除小且无意义的物当前第1页1 2 本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/55/CN105374032.html" title="连通区域标记方法原文来自X技术">连通区域标记方法</a>

【技术保护点】
一种连通区域标记方法,包括如下步骤:(A)对原始二值化图像进行处理得到仅保留边缘且边缘平滑的预处理图像;(B)对预处理图像按顺序进行逐点扫描,若该点为白点则继续扫描下一个点,若该点为黑点,判断该黑点p1是否被标记:若黑点p1未被标记,判断黑点p1是否被扫描,若黑点p1未被扫描,执行步骤C,若黑点p1被扫描过,直接执行步骤F;若黑点p1是已标记左端点,执行步骤D;若黑点p1是已标记右端点,执行步骤E;(C)从黑点p1的左下角黑点向左扫描,并将扫描到的最左边的黑点标记为左端点;再从黑点p1向右扫描直到最右边黑点p2,从黑点p2的右下角黑点向右扫描,并将扫描到的最右边的黑点标记为右端点,然后执行步骤F;(D)寻找黑点p1在下一行与之相邻的黑点的位置:若下一行的黑点位于黑点p1的右下,则继续从该右下点向右扫描,并将扫描到的最右边的黑点标记为左端点;若下一行的黑点位于黑点p1的正下,则将该正下点标记为左端点;若下一行的黑点位于黑点p1的左下,则继续从该左下点向左扫描,并将扫描到的最左边的黑点标记为左端点;标记之后执行步骤F;(E)寻找黑点p1在下一行与之相邻的黑点的位置:若下一行的黑点位于黑点p1的右下,则继续从该右下点向右扫描,并将扫描到的最右边的黑点标记为右端点;若下一行的黑点位于黑点p1的正下,则将该正下点标记为右端点;若下一行的黑点位于黑点p1的左下,判断该左下点是否属于该连通区域,如果是,则执行步骤G;如果不是,则继续从该左下点向左扫描,并将扫描到的最左边的黑点标记为右端点;标记之后执行步骤F;(F)黑点p1处理完毕,重复步骤B,按照顺序判断黑点p1下一个点是否被标记;(G)该连通区域的所有左、右端点标记完毕。...

【技术特征摘要】

【专利技术属性】
技术研发人员:曹赟
申请(专利权)人:合肥安晶龙电子股份有限公司
类型:发明
国别省市:安徽;34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1