主要参考:(美)拉斐尔·C.冈萨雷斯. 数字图像处理 第3版[M]. 阮秋琦,译. 北京:电子工业出版社, 2017: 633.
形态学重建
形态学重建涉及两幅图像和一个结构元:
- Marker 图像:包含变换的起点,将被连续膨胀,直至收敛
- Mask 图像:用来约束膨胀结果,即 Mask >= Marker
- 结构单元(Structuring Element,SE):定义连通性
数学迭代式:
M a r k e r = ( M a r k e r ⊕ S E ) ∩ M a s k Marker = (Marker \oplus SE) \cap Mask Marker=(Marker⊕SE)∩Mask
代码示例:
def imreconstruct(marker, mask, SE=np.ones([3,3])):
"""
描述:以mask为约束,连续膨胀marker,实现形态学重建,其中mask >= marker
参数:
- marker 标记图像,单通道/三通道图像
- mask 模板图像,与marker同型
- conn 联通性重建结构元,参照matlab::imreconstruct::conn参数,默认为8联通
"""
while True:
marker_pre = marker
dilation = cv.dilate(marker, kernel=SE)
marker = np.min((dilation, mask), axis=0)
if

本文介绍形态学重建与孔洞填充的原理及应用。通过数学迭代公式实现Marker图像的连续膨胀,并利用形态学重建方法填充图像中的孔洞。文章提供Python代码示例,展示了不同结构单元尺寸对孔洞填充效果的影响。
最低0.47元/天 解锁文章
5278

被折叠的 条评论
为什么被折叠?



