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


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


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

用法:

scipy.ndimage.find_objects(input, max_label=0)#

在標記數組中查找對象。

參數

input 整數數組

包含由不同標簽定義的對象的數組。值為 0 的標簽將被忽略。

max_label 整數,可選

要在輸入中搜索的最大標簽。如果沒有給出max_label,則返回所有對象的位置。

返回

object_slices 元組列表

元組列表,每個元組包含 N 個切片(N 是輸入數組的維度)。切片對應於包含對象的最小平行六麵體。如果缺少數字,則返回 None 而不是切片。標簽l對應於返回列表中的索引l-1

注意

此函數對於隔離 3-D 陣列內的感興趣體積非常有用,它不能是“seen through”。

例子

>>> from scipy import ndimage
>>> import numpy as np
>>> a = np.zeros((6,6), dtype=int)
>>> a[2:4, 2:4] = 1
>>> a[4, 4] = 1
>>> a[:2, :3] = 2
>>> a[0, 5] = 3
>>> a
array([[2, 2, 2, 0, 0, 3],
       [2, 2, 2, 0, 0, 0],
       [0, 0, 1, 1, 0, 0],
       [0, 0, 1, 1, 0, 0],
       [0, 0, 0, 0, 1, 0],
       [0, 0, 0, 0, 0, 0]])
>>> ndimage.find_objects(a)
[(slice(2, 5, None), slice(2, 5, None)), (slice(0, 2, None), slice(0, 3, None)), (slice(0, 1, None), slice(5, 6, None))]
>>> ndimage.find_objects(a, max_label=2)
[(slice(2, 5, None), slice(2, 5, None)), (slice(0, 2, None), slice(0, 3, None))]
>>> ndimage.find_objects(a == 1, max_label=2)
[(slice(2, 5, None), slice(2, 5, None)), None]
>>> loc = ndimage.find_objects(a)[0]
>>> a[loc]
array([[1, 1, 0],
       [1, 1, 0],
       [0, 0, 1]])

相關用法


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