腐蚀膨胀算法详细解释

合集下载

膨胀与腐蚀,radon,hough变换

膨胀与腐蚀,radon,hough变换

(a)
(b)
(c) (d) 图3-16 二值图像的膨胀运算
(e)
M、N、P、Q是4个算子,M是一个列向量,N是一个行向量。 P、Q都是[3 3]矩阵,P、Q分别为: 0 0 1 0 0 1
P 0 1 0 0 0 0 Q 0 0 0 1 0 0
(a) 图像3-16(a)的一部分,即有字母b的那部分,图3-17左边的一部分数据
(b) 图(a)使用Q膨胀后的部分结果,即3-18(d)的放大。 图3-19 二值图像膨胀运算规则
其他算子的运算规则都与上面所述相同。运算结果与原 图像有关,算子形状与图像的邻域情况决定了运算结果 。 另外,从上面描述情况看,二值图像膨胀运算本质上是 逻辑运算。 数学上,二值图像膨胀运算可以用集合定义如下:
简单的应用。
1 二值图像膨胀运算
先通过下面例题观察分析几个二值图像膨胀算子的
【例3-16】对二值图像实施膨胀运算。 设计如下程序,结果显示在图3-16中。 A = imread('C:\MATLAB6p5\work\bc.bmp'); B=~A; M=[1;1;1]; N=[1 1 0]; P=[0 0 1;0 1 0;0 0 0]; Q=[0 0 1;0 0 0;1 0 0]; C1=imdilate(B,M); C2=imdilate(B,N); C3=imdilate(B,P); C4=imdilate(B,Q); subplot(1,5,1); imshow(B) subplot(1,5,2); imshow(C1) subplot(1,5,3); imshow(C2) subplot(1,5,4); imshow(C3) subplot(1,5,5); imshow(C4)

腐蚀膨胀算法详细解释

腐蚀膨胀算法详细解释

形态学运算中腐蚀,膨胀,开运算和闭运算(针对二值图而言)6.1腐蚀腐蚀是一种消除边界点,使边界向内部收缩的过程。

可以用来消除小且无意义的物体。

腐蚀的算法:用3x3的结构元素,扫描图像的每一个像素用结构元素与其覆盖的二值图像做“与”操作如果都为1,结果图像的该像素为1。

否则为0。

结果:使二值图像减小一圈把结构元素B平移a后得到Ba,若Ba包含于X,我们记下这个a点,所有满足上述条件的a点组成的集合称做X被B腐蚀(Erosion)的结果。

用公式表示为:E(X)={alBa C X}=X©B,如图6.8所示。

图6.8腐蚀的示意图图6.8中X是被处理的对象,B是结构元素。

不难知道,对于任意一个在阴影部分的点a,Ba包含于X,所以X被B腐蚀的结果就是那个阴影部分。

阴影部分在X的范围之内,且比X小,就象X被剥掉了一层似的,这就是为什么叫腐蚀的原因。

值得注意的是,上面的B是对称的,即B的对称集Bv=B,所以X被B腐蚀的结果和X被Bv腐蚀的结果是一样的。

如果B不是对称的,让我们看看图6.9,就会发现X被B腐蚀的结果和X被Bv腐蚀的结果不同。

y图6.9结构元素非对称时,腐蚀的结果不同图6.8和图6.9都是示意图,让我们来看看实际上是怎样进行腐蚀运算的。

在图6.10中,左边是被处理的图象X (二值图象,我们针对的是黑点),中间是结构元素B ,那个标有origin 的点是中心点,即当前处理元素的位置,我们在介绍模板操作时也有过类似的概念。

腐蚀的方法是,拿B 的中心点和X 上的点一个一个地对比,如果B 上的所有点都在X 的范围内,则该点保留,否则将该点去掉;右边是腐蚀后的结果。

可以看出,它仍在原来X 的范围内,且比X 包含的点要少,就象X 被腐蚀掉了一层。

o Q Q Q o & QO Qo Q o O oooo o o o o o 0- 0 O 0 o o •• • ■ Oo o oo o o 0 o o o o o 0 0 o o o ••o o o oo o o o ■ ■ o o 0 0 o o o ••o 0 0 oo o o 0 ■ • ♦ o QQ Q ■0 0 & o Q Q Q 0 0 * * 0 0 0 O 0 0 • ♦ ♦■ 0 Q Q ◎ 00o o ■ •0 0 o O ■ ■ ■ ■ *« O Q Qo o■ ■ ■ ■ Q Q c- O■ * ■ o GO O O O o o •o o ■ •• ■ o o o o O oO ■ ■ ■o 0o O O o O ♦<Q 0■••■ o a o o O o O o o 0 0 o 0oO o oooo\>o0 00o o o o 0 0 0'originFEX e 6图6.10腐蚀运算 图6.11为原图,图6.12为腐蚀后的结果图,能够很明显地看出腐蚀的效果。

形态学运算中腐蚀,膨胀,开运算和闭运算

形态学运算中腐蚀,膨胀,开运算和闭运算

我要跳槽
iOS攻城狮
更多职位尽在 CSDN JOB
我要跳槽
评论排行
十九楼网络股份有限公司
| 10-20K/月
十九楼网络股份有限公司
| 10-20K/月
vs 2008+opencv2.3配置
(7)
OpenCV实现傅里叶变换 (6)
钱包及支付发展部_支付系统核心架构师 我要跳槽
百码度+教在材线+网视络频技等术等(北京)有限公司
/freeboy1015/article/details/6895822
3/3
形态学运算中腐蚀,膨胀,开运算和闭运算
分类: 数字图像处理
2011-10-22 09:55 3373人阅读 评论(0) 收藏 举报
开运算和闭运算
(1)开运算
先腐蚀后膨胀的过程称为开运算。用来消除小物体、在纤细点处分离物
体、平滑较大物体的边界的同时并不明显改变其面积。
(2)闭运算
博客专栏
OpenCV图像处
理 文章:16篇 阅读:31587
闭运算,B1作用结果:去掉小刺,但未去掉小桥;B2作用结果:去掉小 刺,和小桥。
文章分类
OpenCV (27) C# (34) XML (3) C/C++ (125) Matlab (6) 数字图像处理 (31) linux/ubuntu (34) 其他 (15) 杂谈 (8) svn (2) CUDA (8) TBB (2) OpenMP (2) 算法/数据结构 (37)
| 20-40K/月
钱包及支付发展部_ C/C+30K/月
数字图像处理中的傅立叶变换 (4)
C#实现多国语言的界面切换 (3)

变电金具表面腐蚀膨胀点三维检测算法

变电金具表面腐蚀膨胀点三维检测算法

* + &A% *
!<,<(,-" F#
* + %A" *
!=,=(,-" F#
!$"
* + 'A$ *
!>,>(,-" F#
上 述公式中$!<(,-$=(,-$>(,-"为和父节点相对
应的点云数据外接立方体顶点最小坐标值&
将点云图像数据点在子立方体的空间索引数
值 !A%$A"$A$"变换为二进制形式后*>+$子立方 体 对 应的八叉树编码空间索引值表达式如下%
外接立方体被划分为八等份时$令" 表示其剖 分层数$以" 层八 叉 树 表 示 其 空 间 模 型$在 该 空 间
) &
A%
*
",%
!-@ a""/"@
"*%
",%
) %A" * !*-@'"+a""/"@ "*%
",%
) A$ * !*-@'!+a""/"@
'
"*%
!!"
上述公式中43;分别表示-@ 除 "后的余数和结果整数&寻找变电金具表面腐蚀 膨 胀 激 光 点 云 图 像 数 据 的 若 干 近 邻 时 $在 该 数 据 点
<.:=3015L*WL+5+,'-R,++,-.LL*SR5101'SS'L,'-0Y)5-L,'-)',-++2S00D6,(0-L,'-53,(5.0,-L)01+,'-'1+S00

python 膨胀 腐蚀 特征提取

python 膨胀 腐蚀 特征提取

python 膨胀腐蚀特征提取Python膨胀腐蚀特征提取是图像处理中的基础操作之一,是将图像进行形态学处理的重要工具。

本文将介绍Python膨胀腐蚀特征提取的基本概念、算法原理以及在实际应用中的使用方法。

一、Python膨胀腐蚀特征提取的基本概念Python膨胀腐蚀特征提取是图像形态学处理中的基本操作之一。

它是一种将二值图像进行形态学处理的方法,可以使图像中的物体更加连通或分离,同时还可以修复被噪声破坏的图像。

膨胀是将图像中的白色区域扩张,使它更加连通,而腐蚀则是将图像中的白色区域收缩,使其更加分离。

二、Python膨胀腐蚀特征提取的算法原理Python膨胀腐蚀特征提取的算法原理主要是基于图像的结构形态学理论。

膨胀操作是将图像中的白色区域扩张,具体实现过程是对于每个像素点,将其覆盖一个固定大小的方形区域,将该区域内的所有像素点都标记为白色。

而腐蚀操作则是将图像中的白色区域收缩,具体实现过程是对于每个像素点,检查其周围固定大小的方形区域,如果该区域内所有像素点都是白色,则该点也被标记为白色,否则标记为黑色。

三、Python膨胀腐蚀特征提取的使用方法Python膨胀腐蚀特征提取在实际应用中有广泛的使用。

首先,可以用它来去除图像中的噪声。

其次,可以利用膨胀操作来连接图像中的对象,使它们更加连通。

例如,在数字识别中,可以将数字图像进行膨胀处理,使数字之间的空隙更小,从而提高识别率。

此外,还可以使用腐蚀操作来分离图像中的对象,例如在手写数字分割中,可以使用腐蚀操作将数字分离开来,以便更好地进行识别。

综上所述,Python膨胀腐蚀特征提取是图像处理中的基础操作之一,具有广泛的应用。

通过对膨胀腐蚀算法原理的深入理解,并结合实际应用,可以更好地理解和应用这一技术。

腐蚀膨胀算法原理

腐蚀膨胀算法原理

腐蚀膨胀算法原理
腐蚀膨胀算法是数字图像处理中一种常用的算法,它能够有效处理图像的边界检测以及对象提取问题。

在本文中,将深入讨论腐蚀膨胀算法的原理、优点和应用。

一、腐蚀膨胀算法原理
腐蚀膨胀算法是一种基于细化算法的图像处理算法,主要的思想是利用腐蚀或膨胀的操作改变图像的像素点,从而达到对图像边界的检测或对象的提取。

首先,我们需要确定腐蚀或膨胀操作的半径,半径越大,腐蚀或膨胀操作越明显。

腐蚀操作是把一个特定半径内所有像素点的灰度值变为0,而且腐蚀的成度越大,说明这个特定半径内的所有像素点的灰度值越小。

膨胀操作则是把一个特定半径内所有像素点的灰度值变为最大值,它与腐蚀操作相反,半径越大,膨胀的成度越大,说明特定半径内的所有像素点的灰度值越大。

二、腐蚀膨胀算法的优点
腐蚀膨胀算法比较简单,易于理解和实现,它不需要比较复杂的数学模型,也不需要复杂的参数调整,是图像处理中一种简单有效的算法。

另外,它还具有较强的抗噪声性能,也就是说它能够比较准确的检测出信号强度相对较弱的边界。

三、腐蚀膨胀算法的应用
腐蚀膨胀算法常用于图像边界检测和对象提取等方面,它具有一定的实际应用,例如在机器视觉中,可以使用腐蚀膨胀算法实现对特
定物体的准确定位和识别。

另外,也可以使用它来实现图像的噪声消除,或者将较弱的信号边界转换为较强的信号边界,以便使得后续的图像处理任务变得更加容易。

综上所述,腐蚀膨胀算法是一种常用的图像处理算法,主要用于图像的边界检测和对象提取,具有一定实际应用。

此外,它还具有较强的抗噪声性能,可以比较准确的检测出信号强度较弱的边界。

因此,腐蚀膨胀算法在图像处理中具有重要的意义。

腐蚀膨胀算法详细解释

腐蚀膨胀算法详细解释

腐蚀膨胀算法详细解释腐蚀算法是指通过与给定的结构元素进行最小值运算以缩小图像的白色区域。

它在图像中寻找白色区域,对这些区域进行腐蚀操作,使它们变得更小。

这种算法主要用于图像去噪、形态学滤波等操作。

腐蚀算法的步骤如下:1.定义结构元素:结构元素是一个小的二值图像,通常是一个正方形或圆形。

它用于定义腐蚀操作的形状和大小。

2.将结构元素与原始图像进行最小值运算:以结构元素为基准,将其放置在原始图像上不同的位置,并计算结构元素与原始图像上对应像素位置的最小值。

将得到的最小值作为输出图像上对应位置的像素值。

这一过程即为腐蚀操作。

3.重复进行腐蚀操作:对于腐蚀后的输出图像,将其作为新的输入图像,再次进行腐蚀操作,直到达到预期的腐蚀效果为止。

膨胀算法与腐蚀算法相反,它通过与给定的结构元素进行最大值运算,来放大图像的白色区域。

膨胀算法主要用于图像的填充、轮廓增强等操作。

膨胀算法的步骤如下:1.定义结构元素:结构元素与腐蚀算法相同,用于定义膨胀操作的形状和大小。

2.将结构元素与原始图像进行最大值运算:以结构元素为基准,将其放置在原始图像上不同的位置,并计算结构元素与原始图像上对应像素位置的最大值。

将得到的最大值作为输出图像上对应位置的像素值。

这一过程即为膨胀操作。

3.重复进行膨胀操作:对于膨胀后的输出图像,将其作为新的输入图像,再次进行膨胀操作,直到达到预期的膨胀效果为止。

腐蚀和膨胀算法常常结合使用,形成一对形态学操作,用于提取图像特征,如边缘检测。

具体的实现方法有:1.图像初始化:将输入图像转为二值图像。

如原始图像是灰度图像,可以使用阈值分割将图像转为二值图像。

2.定义结构元素:根据具体应用需求,选择相应形状和大小的结构元素。

3.腐蚀操作:对于二值图像,将结构元素与图像进行最小值运算,得到腐蚀后的图像。

4.膨胀操作:对于腐蚀后的图像,将结构元素与图像进行最大值运算,得到膨胀后的图像。

5.形态学操作:将膨胀操作的结果减去腐蚀操作的结果,得到最终的形态学操作结果。

形态学处理 简述膨胀和腐蚀的运算原理和适用场合

形态学处理 简述膨胀和腐蚀的运算原理和适用场合

形态学处理简述膨胀和腐蚀的运算原理和适用场合下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。

文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!本店铺为大家提供各种类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you! In addition, this shop provides you with various types of practical materials, such as educational essays, diary appreciation, sentence excerpts, ancient poems, classic articles, topic composition, work summary, word parsing, copy excerpts, other materials and so on, want to know different data formats and writing methods, please pay attention!形态学处理:膨胀与腐蚀运算原理与适用场合1. 引言形态学处理是数字图像处理领域中的重要技术之一,其中膨胀与腐蚀是两种基础的形态学运算。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

形态学运算中腐蚀,膨胀,开运算和闭运算(针对二值图而言)
6.1 腐蚀
腐蚀是一种消除边界点,使边界向内部收缩的过程。

可以用来消除小且无意义的物体。

腐蚀的算法:
用3x3的结构元素,扫描图像的每一个像素
用结构元素与其覆盖的二值图像做“与”操作
如果都为1,结果图像的该像素为1。

否则为0。

结果:使二值图像减小一圈
把结构元素B平移a后得到Ba,若Ba包含于X,我们记下这个a点,所有满足上述条件的
a点组成的集合称做X被B腐蚀(Erosion)的结果。

用公式表示为:E(X)={a| Ba X}=X B,如图6.8所示。

图6.8 腐蚀的示意图
图6.8中X是被处理的对象,B是结构元素。

不难知道,对于任意一个在阴影部分的点a,Ba 包含于X,所以X被B腐蚀的结果就是那个阴影部分。

阴影部分在X的范围之内,且比X小,就象X被剥掉了一层似的,这就是为什么叫腐蚀的原因。

值得注意的是,上面的B是对称的,即B的对称集Bv=B,所以X被B腐蚀的结果和X被Bv腐蚀的结果是一样的。

如果B不是对称的,让我们看看图6.9,就会发现X被B腐蚀的结果和X被Bv腐蚀的结果不同。

图6.9 结构元素非对称时,腐蚀的结果不同
图6.8和图6.9都是示意图,让我们来看看实际上是怎样进行腐蚀运算的。

在图6.10中,左边是被处理的图象X(二值图象,我们针对的是黑点),中间是结构元素B,那个标有origin的点是中心点,即当前处理元素的位置,我们在介绍模板操作时也有过类似的概念。

腐蚀的方法是,拿B的中心点和X上的点一个一个地对比,如果B上的所有点都在X的范围内,则该点保留,否则将该点去掉;右边是腐蚀后的结果。

可以看出,它仍在原来X的范围内,且比X包含的点要少,就象X被腐蚀掉了一层。

图6.10 腐蚀运算
图6.11为原图,图6.12为腐蚀后的结果图,能够很明显地看出腐蚀的效果。

图6.11 原图
图6.12 腐蚀后的结果图
下面的这段程序,实现了上述的腐蚀运算,针对的都是黑色点。

参数中有一个BOOL变量,
为真时,表示在水平方向进行腐蚀运算,即结构元素B为;否则在垂直方向上
进行腐蚀运算,即结构元素B为。

6.2 膨胀
膨胀是将与物体接触的所有背景点合并到该物体中,使边界向外部扩张的过程。

可以用来填补物体中的空洞。

膨胀的算法:
用3x3的结构元素,扫描图像的每一个像素
用结构元素与其覆盖的二值图像做“或”操作
如果都为0,结果图像的该像素为0。

否则为1
结果:使二值图像扩大一圈
膨胀(dilation)可以看做是腐蚀的对偶运算,其定义是:把结构元素B平移a后得到Ba,若Ba击中X,我们记下这个a点。

所有满足上述条件的a点组成的集合称做X被B膨胀的
结果。

用公式表示为:D(X)={a | Ba↑X}=X B,如图6.13所示。

图6.13中X是被处理的对象,B是结构元素,不难知道,对于任意一个在阴影部分的点a,Ba击中X,所以X被B 膨胀的结果就是那个阴影部分。

阴影部分包括X的所有范围,就象X膨胀了一圈似的,这就是为什么叫膨胀的原因。

同样,如果B不是对称的,X被B膨胀的结果和X被Bv膨胀的结果不同。

让我们来看看实际上是怎样进行膨胀运算的。

在图6.14中,左边是被处理的图象X(二值图象,我们针对的是黑点),中间是结构元素B。

膨胀的方法是,拿B的中心点和X上的点及X周围的点一个一个地对,如果B上有一个点落在X的范围内,则该点就为黑;右边是膨胀后的结果。

可以看出,它包括X的所有范围,就象X膨胀了一圈似的。

图6.13 膨胀的示意图
图6.14 膨胀运算
图6.15为图6.11膨胀后的结果图,能够很明显的看出膨胀的效果。

图6.15 图6.11膨胀后的结果图
下面的这段程序,实现了上述的膨胀运算,针对的都是黑色点。

参数中有一个BOOL变
量,为真时,表示在水平方向进行膨胀运算,即结构元素B为;否则在垂直方
向上进行膨胀运算,即结构元素B为。

6.3 开运算
先腐蚀后膨胀的过程称为开运算。

用来消除小物体、在纤细点处分离物体、平滑较大物体的边界的同时并不明显改变其面积。

先腐蚀后膨胀称为开(open),即OPEN(X)=D(E(X))。

让我们来看一个开运算的例子(见图6.16):
图6.16开运算
在图16上面的两幅图中,左边是被处理的图象X(二值图象,我们针对的是黑点),右边是结构元素B,下面的两幅图中左边是腐蚀后的结果;右边是在此基础上膨胀的结果。

可以看到,原图经过开运算后,一些孤立的小点被去掉了。

一般来说,开运算能够去除孤立的小点,毛刺和小桥(即连通两块区域的小点),而总的位置和形状不变。

这就是开运算的作用。

要注意的是,如果B是非对称的,进行开运算时要用B的对称集Bv膨胀,否则,开运算的结果和原图相比要发生平移。

图6.17和图6.18能够说明这个问题。

图6.17 用B膨胀后,结果向左平移了
图6.18 用Bv膨胀后位置不变
图6.17是用B膨胀的,可以看到,OPEN(X)向左平移了。

图18是用Bv膨胀的,可以看到,总的位置和形状不变。

图6.19为图6.11经过开运算后的结果。

图6.19 图6.11经过开运算后的结果
开运算的源程序可以很容易的根据上面的腐蚀,膨胀程序得到,这里就不给出了。

6.4 闭运算
先膨胀后腐蚀称为闭(close),即CLOSE(X)=E(D(X))。

让我们来看一个闭运算的例子(见图6.20):
图6.20 闭运算
在图6.20上面的两幅图中,左边是被处理的图象X(二值图象,我们针对的是黑点),右边是结构元素B,下面的两幅图中左边是膨胀后的结果,右边是在此基础上腐蚀的结果可以看到,原图经过闭运算后,断裂的地方被弥合了。

一般来说,闭运算能够填平小湖(即小孔),弥合小裂缝,而总的位置和形状不变。

这就是闭运算的作用。

同样要注意的是,如果B是非对称的,进行闭运算时要用B的对称集Bv膨胀,否则,闭运算的结果和原图相比要发生平移。

图6.21 图.611经过闭运算后的结果
闭运算的源程序可以很容易的根据上面的膨胀,腐蚀程序得到,这里就不给出了。

你大概已经猜到了,开和闭也是对偶运算,的确如此。

用公式表示为(OPEN(X))c=CLOSE((Xc)),或者(CLOSE(X))c =OPEN((Xc))。

即X 开运算的补集等于X的补集的闭运算,或者X 闭运算的补集等于X的补集的开运算。

这句话可以这样来理解:在两个小岛之间有一座小桥,我们把岛和桥看做是处理对象X,则X的补集为大海。

如果涨潮时将小桥和岛的外围淹没(相当于用尺寸比桥宽大的结构元素对X进行开运算),那么两个岛的分隔,相当于小桥两边海域的连通(对Xc做闭运算)。

6.5 细化运算
细化(thinning)算法有很多,我们在这里介绍的是一种简单而且效果很好的算法,用它就能够实现从文本抽取骨架的功能。

我们的对象是白纸黑字的文本,但在程序中为了处理的方便,还是采用256级灰度图,不过只用到了调色板中0和255两项。

所谓细化,就是从原来的图中去掉一些点,但仍要保持原来的形状。

实际上,是保持原图的骨架。

所谓骨架,可以理解为图象的中轴,例如一个长方形的骨架是它的长方向上的中轴线;
正方形的骨架是它的中心点;圆的骨架是它的圆心,直线的骨架是它自身,孤立点的骨架也是自身。

文本的骨架嘛,前言中的例子显示的很明白。

那么怎样判断一个点是否能去掉呢?显然,要根据它的八个相邻点的情况来判断,我们给几个例子(如图6.22所示)。

图6.22 根据某点的八个相邻点的情况来判断该点是否能删除图6.23经过细化后,我们预期的结果是一条水平直线,且位于该黑色矩形的中心。

实际的结果确实是一条水平直线,但不是位于黑色矩形的中心,而是最下面的一条边。

为什么会这样,我们来分析一下:在从上到下,从左到右的扫描过程中,我们遇到的第一个黑点就是黑色矩形的左上角点,经查表,该点可以删。

下一个点是它右边的点,经查表,该点也可以删,如此下去,整个一行被删了。

每一行都是同样的情况,所以都被删除了。

到了最后一行时,黑色矩形已经变成了一条直线,最左边的黑点不能删,因为它是直线的端点,它右边的点也不能删,因为如果删除,直线就断了,如此下去,直到最右边的点,也不能删,因为它是直线的右端点。

所以最下面的一条边保住了,但这并不是我们希望的结果。

解决的办法是,在每一行水平扫描的过程中,先判断每一点的左右邻居,如果都是黑点,则该点不做处理。

另外,如果某个黑点被删除了,那么跳过它的右邻居,处理下一个点。

这样就避免了上述的问题。

相关文档
最新文档