CN105374032A - 连通区域标记方法 - Google Patents
连通区域标记方法 Download PDFInfo
- Publication number
- CN105374032A CN105374032A CN201510673839.6A CN201510673839A CN105374032A CN 105374032 A CN105374032 A CN 105374032A CN 201510673839 A CN201510673839 A CN 201510673839A CN 105374032 A CN105374032 A CN 105374032A
- Authority
- CN
- China
- Prior art keywords
- stain
- point
- connected region
- scanned
- scan
- 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
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
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Geometry (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明属于图像处理技术领域,特别涉及一种连通区域标记方法,包括如下步骤:对原始二值化图像进行处理得到仅保留边缘且边缘平滑的预处理图像;对预处理图像按顺序进行逐点扫描,根据点是否为黑点、是否被扫描、是否被标记进行不同的处理;一个黑点处理完毕后继续扫描下一个黑点,直到连通区域的所有左、右端点标记完毕。本方法仅采用一片低端的FPGA即可实现,无需外接任何存储器;延时固定且很小;通过左右端点这种标记方法,可以在后续的处理中方便的统计连通区域的面积、周长、外切矩形中心点等信息;能够对特殊形状的连通区域进行识别,可靠性高。
Description
技术领域
本发明属于图像处理技术领域,特别涉及一种连通区域标记方法。
背景技术
二值图像连通区域标记是指对图像中不同连通区域中的像素设置唯一的标号,是计算机视觉、模式识别和图像处理等领域中众多算法的基础。基于CPU来实现的连通区域标记算法有很多,这些算法在运行都需要在内存中缓存整幅图像的数据,并且要求能够随机读取图像数据,以及能在内存中缓存临时计算数据。最终识别完一幅图像中的连通区域所需的运算时间会和图像中连通区域的数量有关,连通区域个数越多,识别完一幅图像所需的时间越长。
在一些需要高速高实时性的图像处理应用场合,由于使用CPU进行图像处理的实时性达不到要求,往往会采用FPGA来进行高实时性的图像处理。例如应用在色选机中的图像处理运算对实时性的要求就很高,在色选机里,从物料被摄像头捕捉到被执行机构分选之间的时间很短,在这很短的时间内图像处理算法必须完成对众多物料目标的识别和判断,而对每个物料目标进行处理的延时也都必须是固定的。CPU的运算是串行的,并且运算延时无法实现精确固定,因此无法胜任这种多目标并行运算且需要计算延时精确固定的场合。而FPGA则可以发挥其并行数据处理的优势,达到上述固定延时高实时性图像处理的要求。
CPU和FPGA在数据处理的方式上有着本质的不同,CPU是串行指令流处理,FPGA是并行数据流处理,因此原来适合CPU的一些算法并不能完全适合FPGA来实现,连通区域标记算法也是如此。上述的基于CPU的连通区域标记算法需要大量的数据缓存,这在FPGA系统中就很难实现,就算实现了,这样的串行算法实时性也达不到要求。因此要在FPGA系统中实现固定延时的高实时性连通区标记,就必须根据FPGA的特点来重新设计算法。
发明内容
本发明的目的在于提供一种处理速度快、延迟小、可靠性高的连通区域标记方法。
为实现以上目的,本发明采用的技术方案为:一种连通区域标记方法,包括如下步骤:(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)该连通区域的所有左、右端点标记完毕。
与现有技术相比,本发明存在以下技术效果:仅采用一片低端的FPGA即可实现,无需外接任何存储器;只需对图像扫描一遍就可以完成所有连通区域的识别,延时固定且很小;通过左右端点这种标记方法,可以在后续的处理中方便的统计连通区域的面积、周长、外切矩形中心点等信息;能够对特殊形状的连通区域进行识别,可靠性高。
附图说明
图1是本发明的流程示意图;
图2a-2d是处理过程示意图;
图3a、3b分别是U型、n型连通区域的示意图。
具体实施方式
下面结合图1至图3,对本发明做进一步详细叙述。
参阅图1,一种连通区域标记方法,包括如下步骤:(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)该连通区域的所有左、右端点标记完毕。通过上述步骤,可以很方便的将连通区域识别,处理速度快,延时小,采用低端的FPGA芯片就可以实现。
边缘平滑处理有很多种算法可以实现,本发明中优选地,所述的步骤A中,包括如下步骤:(A1)原始二值化图像进行开运算和闭运算处理,得到边缘平滑的二值化图像;(A2)对步骤A1获得的图像进行取边缘处理,即得到所述的预处理图像。腐蚀是一种消除边界点,使边界向内部收缩的过程,可以用来消除小且无意义的物体;膨胀是将与物体接触的所有背景点合并到该物体中,使边界向外部扩张的过程,可以用来填补物体中的空洞。先腐蚀后膨胀的过程称为开运算,用来消除小物体、在纤细点处分离物体、平滑较大物体的边界的同时并不明显改变其面积。先膨胀后腐蚀的过程称为闭运算,用来填充物体内细小空洞、连接邻近物体、平滑其边界的同时并不明显改变其面积。通过开运算和闭运算,可以得到边缘平滑的二值化图像,并且能够将一些噪点去除。
下面结合图2a-2d对上述步骤进行详细的说明,图2a是原始图像,图2b是经过开运算和闭运算处理的边缘平滑的二值化图像,可以看到,不仅仅边缘平滑了,有些早点也消除了。图2c是取边缘处理后的预处理图像,可以看到,只剩下了边缘。
图2c中,首先执行步骤B,依次扫描直到点D1,点D1未被标记,因此执行步骤C,从点C2向左扫描,最左端的点就是C2,将C2标记为左端点。再从点D1向右扫描,直到G1,再从G1的右下角黑点H2向右扫描,最右端点H2标记为右端点。然后执行步骤F,即点D1处理完毕。
点E1、F1、G1在上述步骤中扫描过,因此直接跳过,一直到点C2,由于点C2已经被标记为左端点,故执行步骤D,下一行的黑点B3在点C2的左下,从B3向左扫描,最左端点就是B3,将B3标记为左端点,后点C2处理完毕。
其他的依次类推,到处理点B7的时候,会将点G8标记为左端点;然后处理点H7的时候,H7为已标记的右端点,执行步骤E时,下一行的黑点位于左下,也正好是点G8,这个时候表示处理完毕,所有的左、右端点均标记完毕。图2d即为标记完毕后的图。
一个图像中经常存在多个连通区域,本发明中优选地,所述的步骤B中,若黑点p1未被标记且未被扫描,则新建一个连通区域,步骤C中标记的左、右端点均属于该新建的连通区域;步骤B中,若黑点p1是连通区域S1中已标记左端点或右端点,则步骤D或步骤E中标记的左端点或右端点也属于连通区域S1。
在处理时,经常有连通区域相交或者有一些特殊形状的连通区域出现,如图3a所示的V型或图3b所示的n型。以V型为例,按照上述步骤处理时,V型的上面两个地方会被当成两个独立的连通区域。为了标记更加准确,这里优选地,所述的步骤C、D、E中,若黑点p1或黑点p2的左下角或右下角黑点为另一个连通区域已经标记的点,则合并这两个连通区域的统计数据。如图3a所示,点D5是第一连通区域的右端点,处理点D5时,将F6标记为右端点;点G5是第二连通区域的左端点,处理点G5时,G5的左下角是第一连通区域的已标记右端点,说明第一、二连通区域是一个大的连通区域,需要将两个连通区域的统计数据合并。图3b也是同样的情况,点A7作为第一连通区域的已标记左端点,处理点A7时,会将点C8作为左端点标记,在处理点E3时,会新建第二连通区域,并且,在处理第二连通区域的左端点D7时,其左下角黑点是属于第一连通区域的左端点,这同样说明了两个连通区域是连通的,同样需要将两个连通区域的统计数据合并。
Claims (4)
1.一种连通区域标记方法,包括如下步骤:
(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)该连通区域的所有左、右端点标记完毕。
2.如权利要求1所述的连通区域标记方法,其特征在于:所述的步骤A中,包括如下步骤:
(A1)原始二值化图像进行开运算和闭运算处理,得到边缘平滑的二值化图像;
(A2)对步骤A1获得的图像进行取边缘处理,即得到所述的预处理图像。
3.如权利要求1所述的连通区域标记方法,其特征在于:所述的步骤B中,若黑点p1未被标记且未被扫描,则新建一个连通区域,步骤C中标记的左、右端点均属于该新建的连通区域;步骤B中,若黑点p1是连通区域S1中已标记左端点或右端点,则步骤D或步骤E中标记的左端点或右端点也属于连通区域S1。
4.如权利要求3所述的连通区域标记方法,其特征在于:所述的步骤C、D、E中,若黑点p1或黑点p2的左下角或右下角黑点为另一个连通区域已经标记的点,则合并这两个连通区域的统计数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510673839.6A CN105374032B (zh) | 2015-10-14 | 2015-10-14 | 连通区域标记方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510673839.6A CN105374032B (zh) | 2015-10-14 | 2015-10-14 | 连通区域标记方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105374032A true CN105374032A (zh) | 2016-03-02 |
CN105374032B CN105374032B (zh) | 2018-01-12 |
Family
ID=55376204
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510673839.6A Active CN105374032B (zh) | 2015-10-14 | 2015-10-14 | 连通区域标记方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105374032B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106372613A (zh) * | 2016-09-13 | 2017-02-01 | 广州视睿电子科技有限公司 | 纸质试卷的统计方法和装置 |
CN107168337A (zh) * | 2017-07-04 | 2017-09-15 | 武汉视览科技有限公司 | 一种基于视觉识别的移动机器人路径规划与调度方法 |
CN109146953A (zh) * | 2018-09-11 | 2019-01-04 | 杭州电子科技大学 | 基于fpga的标记面积块上限分离分道方法 |
CN112837337A (zh) * | 2021-02-04 | 2021-05-25 | 成都国翼电子技术有限公司 | 一种基于fpga的海量像素分块的连通区域识别方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100021061A1 (en) * | 2008-07-28 | 2010-01-28 | Richard John Campbell | Methods and Systems for Connected-Component Labeling |
CN103810713A (zh) * | 2014-03-12 | 2014-05-21 | 深圳市普菲特安迪科技有限公司 | 一种八连通图像处理方法和装置 |
CN104881666A (zh) * | 2014-02-27 | 2015-09-02 | 王磊 | 一种基于fpga的实时二值图像连通域标记实现方法 |
-
2015
- 2015-10-14 CN CN201510673839.6A patent/CN105374032B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100021061A1 (en) * | 2008-07-28 | 2010-01-28 | Richard John Campbell | Methods and Systems for Connected-Component Labeling |
CN104881666A (zh) * | 2014-02-27 | 2015-09-02 | 王磊 | 一种基于fpga的实时二值图像连通域标记实现方法 |
CN103810713A (zh) * | 2014-03-12 | 2014-05-21 | 深圳市普菲特安迪科技有限公司 | 一种八连通图像处理方法和装置 |
Non-Patent Citations (4)
Title |
---|
AYMAN ABUBAKER 等: "One Scan Connected Component Labeling Technique", 《2007 IEEE INTERNATIONAL CONFERENCE ON SIGNAL PROCESSING AND COMMUNICATIONS》 * |
冯海文 等: "高效的一遍扫描式连通区域标记算法", 《计算机工程与应用》 * |
徐正光: "基于递归的二值图像连通域像素标记算法", 《计算机工程》 * |
汪滴珠: "《基于FPGA的二值图像连通域快速标记》", 《现代电子技术》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106372613A (zh) * | 2016-09-13 | 2017-02-01 | 广州视睿电子科技有限公司 | 纸质试卷的统计方法和装置 |
CN106372613B (zh) * | 2016-09-13 | 2019-10-25 | 广州视睿电子科技有限公司 | 纸质试卷的统计方法和装置 |
CN107168337A (zh) * | 2017-07-04 | 2017-09-15 | 武汉视览科技有限公司 | 一种基于视觉识别的移动机器人路径规划与调度方法 |
CN109146953A (zh) * | 2018-09-11 | 2019-01-04 | 杭州电子科技大学 | 基于fpga的标记面积块上限分离分道方法 |
CN109146953B (zh) * | 2018-09-11 | 2021-12-10 | 杭州电子科技大学 | 基于fpga的标记面积块上限分离分道方法 |
CN112837337A (zh) * | 2021-02-04 | 2021-05-25 | 成都国翼电子技术有限公司 | 一种基于fpga的海量像素分块的连通区域识别方法及装置 |
CN112837337B (zh) * | 2021-02-04 | 2022-08-12 | 成都国翼电子技术有限公司 | 一种基于fpga的海量像素分块的连通区域识别方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105374032B (zh) | 2018-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6879431B2 (ja) | 画像処理装置、画像処理方法および画像処理プログラム | |
KR102154393B1 (ko) | 기계 학습 기반의 자동 결함 분류 방법 | |
CN105374032A (zh) | 连通区域标记方法 | |
CN102742977B (zh) | 基于图像处理的涂胶路径控制方法 | |
US11189019B2 (en) | Method for detecting defects, electronic device, and computer readable medium | |
CN109190623B (zh) | 一种识别投影仪品牌和型号的方法 | |
US9792507B2 (en) | Method and system for ground truth determination in lane departure warning | |
CN112883795B (zh) | 一种基于深度神经网络的表格快速自动提取方法 | |
CN112115948A (zh) | 一种基于深度学习的芯片表面字符识别方法 | |
CN112881407A (zh) | 一种led芯片的焊接质量检测方法、系统、装置及介质 | |
CN110795955A (zh) | 一种快速识别多条码的系统及其方法 | |
CN117152165B (zh) | 感光芯片缺陷的检测方法、装置、存储介质及电子设备 | |
CN117611590B (zh) | 一种缺陷轮廓复合检测方法、装置、设备及存储介质 | |
CN113807378A (zh) | 训练数据增量方法、电子装置与计算机可读记录介质 | |
KR20210108338A (ko) | 안과 렌즈의 에지 결함 및 다른 결함의 검출을 향상시키기 위한 컴퓨터 구현 프로세스 | |
CN109544577A (zh) | 一种基于边缘点编组的改进直线提取方法 | |
CN107507130A (zh) | 一种快速的qfn芯片引脚图像获取与放大方法 | |
CN117274246B (zh) | 一种焊盘识别方法、计算机设备以及存储介质 | |
CN107862314B (zh) | 一种喷码识别方法和识别装置 | |
CN115375952A (zh) | 一种芯片胶层缺陷分类方法 | |
CN113312936A (zh) | 一种图像定位标识识别方法及服务器 | |
CN112308061B (zh) | 一种车牌字符识别方法及装置 | |
CN112784737B (zh) | 结合像素分割和线段锚的文本检测方法、系统及装置 | |
CN108876784B (zh) | 一种去除平面工件连接部件的图像处理方法和装置 | |
JP2011018175A (ja) | 文字認識装置及び文字認識方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |