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


Python skimage.morphology.diameter_closing用法及代碼示例

用法:

skimage.morphology.diameter_closing(image, diameter_threshold=8, connectivity=1, parent=None, tree_traverser=None)

執行圖像的直徑閉合。

直徑閉合會移除最大擴展小於 diameter_threshold 的圖像的所有暗結構。最大擴展定義為邊界框的最大擴展。該運算符也稱為邊界框關閉。在實踐中,結果類似於形態閉合,但不會去除細長結構。

從技術上講,此運算符基於圖像的max-tree 表示。

參數

imagendarray

要計算diameter_closing 的輸入圖像。此圖像可以是任何類型。

diameter_threshold無符號int

最大擴展參數(像素數)。默認值為 8。

connectivity無符號 int 可選

鄰裏連通性。整數表示到達鄰居的最大正交步數。在 2D 中,4 鄰域為 1,8 鄰域為 2。默認值為 1。

parentndarray,int64,可選

表示倒置圖像的最大樹的預計算父圖像。如果提供了預先計算的父級和tree_traverser,則此函數很快。有關詳細信息,請參閱注釋。

tree_traverser一維數組,int64,可選

預先計算的遍曆器,其中像素被排序,使得每個像素都在其父級之前(除了沒有父級的根)。如果提供了預先計算的父級和tree_traverser,則此函數很快。有關詳細信息,請參閱注釋。

返回

outputndarray

與輸入圖像具有相同形狀和類型的輸出圖像。

注意

如果給函數一個max-tree表示(parent和tree_traverser),它們必須從這個函數的倒置圖像中計算出來,即:>>> P, S = max_tree(invert(f)) > >> 關閉 = diameter_closing(f, 3, parent=P, tree_traverser=S)

參考

1

Walter, T., & Klein, J.-C. (2002). Automatic Detection of Microaneurysms in Color Fundus Images of the Human Retina by Means of the Bounding Box Closing. In A. Colosimo, P. Sirabella, A. Giuliani (Eds.), Medical Data Analysis. Lecture Notes in Computer Science, vol 2526, pp. 210-220. Springer Berlin Heidelberg. DOI:10.1007/3-540-36104-9_23

2

Carlinet, E., & Geraud, T. (2014). A Comparative Review of Component Tree Computation Algorithms. IEEE Transactions on Image Processing, 23(9), 3885-3895. DOI:10.1109/TIP.2014.2336551

例子

我們創建一個圖像(二次函數,中心有一個最小值,另外還有 4 個局部最小值。

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

我們可以計算直徑閉合:

>>> closed = diameter_closing(f, 3, connectivity=1)

所有最大擴展為 2 或更少的小最小值都被刪除。剩餘的最小值都具有至少 3 的最大擴展。

相關用法


注:本文由純淨天空篩選整理自scikit-image.org大神的英文原創作品 skimage.morphology.diameter_closing。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。