Matlab 文档出处 Soille, P. 形态图像分析:原理和应用。 Springer-Verlag, 1999 用于大部分图像形态学资料。尝试翻译这些函数时,这是一本非常好的读物。
imextendedmax():
imextendedmin()得到H-极小值变换的区域极小值,其中H-极小值变换就是以(image + H)为标记对图像进行侵蚀的形态重建。 Scikit-image 具有执行此操作所需的所有形态学工具:
import skimage.morphology as morph
def extendedmin(img, H):
mask = img.copy()
marker = mask + h
hmin = morph.reconstruction(marker, mask, method='erosion')
return morph.local_minima(hmin)
Matlab 结果:
imextendedmin() on "glass.png"
这个函数的结果:
python version
imimposemin()
imimposemin() 使用带有 1 的二进制映射对图像进行最小值施加,您要在其中施加最小值。我在下面详细介绍的函数适用于由 0 到无穷大的整数组成的图像。为了用形态学做到这一点,我们需要将二进制图转换为一个标记,在最小值处为 0,在其他位置处可能的图像值最大。接下来,我们通过获取 (image+1) 和标记 (image + 1 允许您在图像已经为 0 的地方施加最小值) 的元素最小值来创建掩码。最终结果是通过对标记的掩码进行侵蚀来重建的。
import numpy as np
import skimage.morphology as morph
def imposemin(img, map):
marker = np.full(img.shape, np.inf)
marker[minima == 1] = 0
mask = np.minimum((img + 1), marker)
return morph.reconstruction(marker, mask, method='erosion')
Matlab 结果:
imimposemin() on "glass.png" (left image has the marker superimposed)
这个函数的结果:
python version