本文簡要介紹 python 語言中 scipy.ndimage.binary_dilation
的用法。
用法:
scipy.ndimage.binary_dilation(input, structure=None, iterations=1, mask=None, output=None, border_value=0, origin=0, brute_force=False)#
具有給定結構元素的多維二進製膨脹。
- input: array_like
二進製 數組 被擴張。非零 (True) 元素構成要擴張的子集。
- structure: 數組,可選
用於膨脹的結構元素。非零元素被認為是 True。如果沒有提供結構元素,則生成一個正方形連通性等於 1 的元素。
- iterations: 整數,可選
膨脹是重複迭代次數(默認情況下為一次)。如果迭代次數小於 1,則重複膨脹,直到結果不再變化。隻接受整數次迭代。
- mask: 數組,可選
如果給定掩碼,則每次迭代時僅修改在相應掩碼元素處具有 True 值的那些元素。
- output: ndarray,可選
與輸入形狀相同的數組,其中放置輸出。默認情況下,會創建一個新數組。
- border_value: int(強製轉換為 0 或 1),可選
輸出數組中邊界處的值。
- origin: int 或整數元組,可選
過濾器的位置,默認為 0。
- brute_force: 布爾值,可選
memory 條件:如果為False,則隻跟蹤上次迭代中值發生變化的像素作為當前迭代中要更新(擴張)的候選;如果為真,則所有像素都被視為膨脹的候選對象,而不管前一次迭代中發生了什麽。默認為假。
- binary_dilation: 布爾數組
結構元素對輸入的膨脹。
參數 ::
返回 ::
注意:
膨脹 [1] 是一種數學形態學運算 [2],它使用結構元素來擴展圖像中的形狀。當結構元素的中心位於圖像的非零點內時,結構元素對圖像的二進製膨脹是結構元素覆蓋的點的軌跡。
參考:
例子:
>>> from scipy import ndimage >>> import numpy as np >>> a = np.zeros((5, 5)) >>> a[2, 2] = 1 >>> a array([[ 0., 0., 0., 0., 0.], [ 0., 0., 0., 0., 0.], [ 0., 0., 1., 0., 0.], [ 0., 0., 0., 0., 0.], [ 0., 0., 0., 0., 0.]]) >>> ndimage.binary_dilation(a) array([[False, False, False, False, False], [False, False, True, False, False], [False, True, True, True, False], [False, False, True, False, False], [False, False, False, False, False]], dtype=bool) >>> ndimage.binary_dilation(a).astype(a.dtype) array([[ 0., 0., 0., 0., 0.], [ 0., 0., 1., 0., 0.], [ 0., 1., 1., 1., 0.], [ 0., 0., 1., 0., 0.], [ 0., 0., 0., 0., 0.]]) >>> # 3x3 structuring element with connectivity 1, used by default >>> struct1 = ndimage.generate_binary_structure(2, 1) >>> struct1 array([[False, True, False], [ True, True, True], [False, True, False]], dtype=bool) >>> # 3x3 structuring element with connectivity 2 >>> struct2 = ndimage.generate_binary_structure(2, 2) >>> struct2 array([[ True, True, True], [ True, True, True], [ True, True, True]], dtype=bool) >>> ndimage.binary_dilation(a, structure=struct1).astype(a.dtype) array([[ 0., 0., 0., 0., 0.], [ 0., 0., 1., 0., 0.], [ 0., 1., 1., 1., 0.], [ 0., 0., 1., 0., 0.], [ 0., 0., 0., 0., 0.]]) >>> ndimage.binary_dilation(a, structure=struct2).astype(a.dtype) array([[ 0., 0., 0., 0., 0.], [ 0., 1., 1., 1., 0.], [ 0., 1., 1., 1., 0.], [ 0., 1., 1., 1., 0.], [ 0., 0., 0., 0., 0.]]) >>> ndimage.binary_dilation(a, structure=struct1,\ ... iterations=2).astype(a.dtype) array([[ 0., 0., 1., 0., 0.], [ 0., 1., 1., 1., 0.], [ 1., 1., 1., 1., 1.], [ 0., 1., 1., 1., 0.], [ 0., 0., 1., 0., 0.]])
相關用法
- Python SciPy ndimage.binary_opening用法及代碼示例
- Python SciPy ndimage.binary_fill_holes用法及代碼示例
- Python SciPy ndimage.binary_closing用法及代碼示例
- Python SciPy ndimage.binary_hit_or_miss用法及代碼示例
- Python SciPy ndimage.binary_erosion用法及代碼示例
- Python SciPy ndimage.binary_propagation用法及代碼示例
- Python SciPy ndimage.black_tophat用法及代碼示例
- Python SciPy ndimage.correlate用法及代碼示例
- Python SciPy ndimage.morphological_gradient用法及代碼示例
- Python SciPy ndimage.variance用法及代碼示例
- Python SciPy ndimage.correlate1d用法及代碼示例
- Python SciPy ndimage.distance_transform_bf用法及代碼示例
- Python SciPy ndimage.find_objects用法及代碼示例
- Python SciPy ndimage.label用法及代碼示例
- Python SciPy ndimage.maximum_filter1d用法及代碼示例
- Python SciPy ndimage.iterate_structure用法及代碼示例
- Python SciPy ndimage.map_coordinates()用法及代碼示例
- Python SciPy ndimage.generic_laplace用法及代碼示例
- Python SciPy ndimage.generate_binary_structure用法及代碼示例
- Python SciPy ndimage.maximum_filter用法及代碼示例
- Python SciPy ndimage.minimum_position用法及代碼示例
- Python SciPy ndimage.labeled_comprehension用法及代碼示例
- Python SciPy ndimage.grey_erosion用法及代碼示例
- Python SciPy ndimage.spline_filter用法及代碼示例
- Python SciPy ndimage.shift用法及代碼示例
注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.ndimage.binary_dilation。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。