到目前为止我还没有应用到凸壳,但是凸壳算法倒是接触过几个,这里简单写写形态学凸壳。
凸壳的公式如下:
X
k
i
=
(
X
k
−
1
⊗
B
i
)
∪
A
i
=
1
,
2
,
3
,
4
k
=
1
,
2
,
3...
X_k^i=(X_{k-1}\otimes B^i)\cup A \quad i=1,2,3,4 \quad k=1,2,3...
Xki=(Xk−1⊗Bi)∪Ai=1,2,3,4k=1,2,3...
其中
X
0
i
=
A
X_0^i=A
X0i=A。当该过程收敛时(即当
X
k
i
=
X
k
−
1
i
X_k^i=X_{k-1}^i
Xki=Xk−1i时),我们另
D
i
=
X
k
i
D^i=X_k^i
Di=Xki,则A的凸壳为:
C
(
A
)
=
∪
i
−
1
4
D
i
C(A)=\cup^4_{i-1}D^i
C(A)=∪i−14Di
说实话,我刚看到这个公式的时候是懵逼的,但是结合下面的图就很简单理解了。
注:用 B i B_i Bi做击中击不中变换的结果是我们值得注意的,这四个结构元的远点均在其中心处,“×”项表示“不考虑”的条件,即当A中的一个33区域的中心为0时,而在阴影模板元素下的三个像素为1时,就出现了一个模板匹配。出现模板匹配时,这个33区域的0中心将会被选中,这样就填补了本来是0的孔洞区域,然后与A求并,就将A的范围变大了。当这四个模板不能够更新出新的像素时,那么凸包就形成了。
缺点:上述过程的一个明显缺点是凸壳可能超出确保凸性所需的最小尺寸。减少这种影响的一种简单方法是限制生长,以便凸壳不会超过初始点集在水平和垂直方向的尺寸。
因篇幅问题不能全部显示,请点此查看更多更全内容