scipy.ndimage.

grey_closing#

scipy.ndimage.grey_closing(input, size=None, footprint=None, structure=None, output=None, mode='reflect', cval=0.0, origin=0, *, axes=None)[原始碼]#

多維灰度閉運算。

灰度閉運算包含依序進行灰度膨脹和灰度侵蝕。

參數:
input陣列型

要在其上計算灰度閉運算的陣列。

size整數元組

用於灰度閉運算的平面且完整結構元素的形狀。如果提供了 footprintstructure,則為選填。

footprint整數陣列,選填

用於灰度閉運算的平面結構元素中非無限元素的位置。

structure整數陣列,選填

用於灰度閉運算的結構元素。structure 可以是非平面結構元素。 structure 陣列將偏移量應用於鄰域中的像素(偏移量在膨脹期間是加法的,在侵蝕期間是減法的)

output陣列,選填

可以提供用於儲存閉運算輸出的陣列。

mode{‘reflect’, ‘constant’, ‘nearest’, ‘mirror’, ‘wrap’}, 選填

mode 參數決定如何處理陣列邊界,其中 cval 是當 mode 等於 ‘constant’ 時的值。預設值為 ‘reflect’

cval純量,選填

如果 mode 為 ‘constant’,則用於填充輸入邊緣外的值。預設值為 0.0。

origin純量,選填

origin 參數控制濾波器的位置。預設值為 0

axes整數元組或 None

要在其上應用濾波器的軸。如果為 None,則 input 會沿所有軸進行濾波。如果提供了 origin 元組,則其長度必須與軸的數量相符。

返回值:
grey_closingndarray

inputstructure 進行灰度閉運算的結果。

註解

使用平面結構元素的灰度閉運算的作用是平滑深局部最小值,而二值閉運算則填充小孔。

參考文獻

範例

>>> from scipy import ndimage
>>> import numpy as np
>>> a = np.arange(36).reshape((6,6))
>>> a[3,3] = 0
>>> a
array([[ 0,  1,  2,  3,  4,  5],
       [ 6,  7,  8,  9, 10, 11],
       [12, 13, 14, 15, 16, 17],
       [18, 19, 20,  0, 22, 23],
       [24, 25, 26, 27, 28, 29],
       [30, 31, 32, 33, 34, 35]])
>>> ndimage.grey_closing(a, size=(3,3))
array([[ 7,  7,  8,  9, 10, 11],
       [ 7,  7,  8,  9, 10, 11],
       [13, 13, 14, 15, 16, 17],
       [19, 19, 20, 20, 22, 23],
       [25, 25, 26, 27, 28, 29],
       [31, 31, 32, 33, 34, 35]])
>>> # Note that the local minimum a[3,3] has disappeared