形态学之孔洞填充

说实话,我第一次看到这只是明白了它的原理,但是对它的作用并不是很了解,在做过一些图像处理后,终于明白了它的重要之处,这里重新将其作复习,并写在这里,方便自己以后复习(不用翻书,翻书真的很麻烦)
孔洞填充的公式:Xk=(Xk1B)Ack=1,2,3...X_k=(X_{k-1}\oplus B)\cap A^c \qquad k=1,2,3...
其中X0X_0是一副全黑的图像,但在孔洞的地方有一个白点(万花丛中一点红)。
乍看,确实很难理解这个公式,等我慢慢道来:
形态学之孔洞填充
我们要对A图进行孔洞填充,首先求出A的补集作为备用,然后所用到的element B如上图c所示。首先我们构建X0X_0一副全黑图像加上孔洞中的一点白作为初始图像,然后用B对X0X_0进行膨胀,结果膨胀的结果超过了孔洞的大小,于是我们用我们之前构造的AcA^c对其求交集将其结果限制在孔洞内(由于我们的element是一个四连通元素,每一次膨胀其边界不会超出一个像素点,而由于AcA^c的四周都是一个像素宽的沟壑,所以求交集刚好能限制膨胀过界的像素)。然后迭代,直到xk1x_{k-1}xkx_{k}相同没变化。最后得到X8X_8孔洞的填充图像,最后与原图像求并集刚好就把孔洞填充了。
使用例子如下:

形态学之孔洞填充

提问:为什么element 不用八连通?
如果用八连通,AcA^c将无法成功限制膨胀的溢出和越界。