當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。