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


Python SciPy ndimage.binary_fill_holes用法及代碼示例


本文簡要介紹 python 語言中 scipy.ndimage.binary_fill_holes 的用法。

用法:

scipy.ndimage.binary_fill_holes(input, structure=None, output=None, origin=0)#

填充二進製對象中的孔。

參數

input array_like

N-D 需要填充孔的二進製數組

structure 數組,可選

計算中使用的結構元素; large-size 元素使計算速度更快,但可能會遺漏被薄區域與背景隔開的孔。默認元素(方形連通性等於 1)產生直觀的結果,其中輸入中的所有孔都已被填充。

output ndarray,可選

與輸入形狀相同的數組,其中放置輸出。默認情況下,會創建一個新數組。

origin int,整數元組,可選

結構元素的位置。

返回

out ndarray

已填充孔洞的初始圖像輸入的轉換。

注意

此函數中使用的算法包括使用二進製膨脹從圖像的外邊界侵入輸入中形狀的互補性。孔不與邊界相連,因此不會被侵入。結果是入侵區域的互補子集。

參考

例子

>>> from scipy import ndimage
>>> import numpy as np
>>> a = np.zeros((5, 5), dtype=int)
>>> a[1:4, 1:4] = 1
>>> a[2,2] = 0
>>> a
array([[0, 0, 0, 0, 0],
       [0, 1, 1, 1, 0],
       [0, 1, 0, 1, 0],
       [0, 1, 1, 1, 0],
       [0, 0, 0, 0, 0]])
>>> ndimage.binary_fill_holes(a).astype(int)
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]])
>>> # Too big structuring element
>>> ndimage.binary_fill_holes(a, structure=np.ones((5,5))).astype(int)
array([[0, 0, 0, 0, 0],
       [0, 1, 1, 1, 0],
       [0, 1, 0, 1, 0],
       [0, 1, 1, 1, 0],
       [0, 0, 0, 0, 0]])

相關用法


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