在膨胀操作的详细流程中,遍历图像的过程如下:
-
初始化:
-
设置一个起始位置(通常从图像的左上角开始)。
-
准备好结构元素(structuring element),它是一个小的矩阵,大小通常是奇数,并且有一个明确的中心点。
-
-
逐像素处理: 对于输入图像中的每一个像素,执行以下步骤:
a. 定位: 将结构元素移动到当前待处理像素的位置,使得结构元素的中心与该像素对齐。
b. 区域覆盖: 结构元素会覆盖图像上的一个局部邻域,这个邻域由结构元素的尺寸决定。
c. 条件检查: 检查结构元素覆盖区域内是否存在白色(前景)像素。对于二值图像来说,如果有任何一个被结构元素覆盖的像素是白色的,则继续下一步;否则,将中心像素保持原样(黑色或非目标物体像素不变)。
d. 膨胀决策: 如果在结构元素覆盖的范围内找到了至少一个白色像素,则无论原中心像素是什么颜色,都将输出图像中的该中心像素设置为白色(前景色)。这表示即使原中心像素可能是背景像素,但只要其周围有白色像素存在,就认为该位置也应属于前景区域。
e. 更新输出: 根据上述判断结果更新输出图像对应位置的像素值。
-
迭代移动: 结构元素沿着图像从左到右、从上到下逐行逐列地移动,重复上述过程,直到整个图像都被结构元素遍历过。
-
循环处理: 如果指定了多个迭代次数,那么在整个图像完成一次遍历后,再次从头开始进行同样的遍历和膨胀决策,直到达到指定的迭代次数。
通过这样的遍历方式,膨胀操作能够逐步扩大目标物体边界,连接断裂的前景部分,并填充内部空洞,使得物体轮廓更加明显且连续。
注意 此案例代表灰度图
总结:二值图膨胀后白色像素变多了