当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python skimage.morphology.h_minima用法及代码示例


用法:

skimage.morphology.h_minima(image, h, footprint=None)

确定深度 >= h 的图像的所有最小值。

局部最小值被定义为具有相等灰度级的连接像素集,该像素集严格小于该集直接邻域中所有像素的灰度级。

深度为 h 的局部最小值 M 是一个局部最小值,其中至少有一条路径将 M 与一个等于或更低的局部最小值相连接,其最大值为 f(M) + h(即沿路径的值不增加相对于最小值超过 h) 并且没有通往最大值较小的相等或更低局部最小值的路径。

该函数还可以找到图像的全局最小值。

参数

imagendarray

要计算最小值的输入图像。

h无符号整数

所有提取的最小值的最小深度。

footprintndarray,可选

邻域表示为 1 和 0 的 n-D 数组。默认是根据最大范数半径为 1 的球(即 2D 图像的 3x3 正方形,3D 图像的 3x3x3 立方体等)

返回

h_minndarray

深度 >= h 的局部最小值和全局最小值。生成的图像是二值图像,其中属于确定最小值的像素取值为 1,其他像素取值为 0。

其他参数

selemDEPRECATED

已弃用以支持足迹。

参考

1

Soille, P., “Morphological Image Analysis: Principles and Applications” (Chapter 6), 2nd edition (2003), ISBN 3540429883.

例子

>>> import numpy as np
>>> from skimage.morphology import extrema

我们创建一个图像(二次函数,中心有最小值和 4 个额外的常数最大值。最小值的深度是:1、21、41、61、81

>>> w = 10
>>> x, y = np.mgrid[0:w,0:w]
>>> f = 180 + 0.2*((x - w/2)**2 + (y-w/2)**2)
>>> f[2:4,2:4] = 160; f[2:4,7:9] = 140; f[7:9,2:4] = 120; f[7:9,7:9] = 100
>>> f = f.astype(int)

我们可以计算深度至少为 40 的所有最小值:

>>> minima = extrema.h_minima(f, 40)

生成的图像将包含 3 个局部最小值。

相关用法


注:本文由纯净天空筛选整理自scikit-image.org大神的英文原创作品 skimage.morphology.h_minima。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。