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


Python cucim.skimage.measure.label用法及代碼示例

用法:

cucim.skimage.measure.label(input, background=None, return_num=False, connectivity=None)

標記整數數組的連接區域。

當兩個像素是相鄰的並且具有相同的值時,它們是連接的。在 2D 中,它們可以是 1 或 2 連接意義上的鄰居。該值是指將像素/體素視為鄰居的最大正交跳數:

1-connectivity     2-connectivity     diagonal connection close-up

     [ ]           [ ]  [ ]  [ ]             [ ]
      |               \  |  /                 |  <- hop 2
[ ]--[x]--[ ]      [ ]--[x]--[ ]        [x]--[ ]
      |               /  |  \             hop 1
     [ ]           [ ]  [ ]  [ ]

參數

inputdtype int的ndarray

要標記的圖像。

background整數,可選

將具有此值的所有像素視為背景像素,並將它們標記為 0。默認情況下,將 0 值像素視為背景像素。

return_num布爾型,可選

是否返回分配標簽的數量。

connectivity整數,可選

將像素/體素視為鄰居的最大正交跳數。接受的值範圍從 1 到 input.ndim。如果 None ,則使用 input.ndim 的完整連接。

返回

labelsdtype int的ndarray

標記數組,其中所有連接區域都分配有相同的整數值。

num整數,可選

標簽數,等於最大標簽索引,僅在 return_num 為 True 時返回。

注意

目前,此函數的 cucim 實現始終使用 32 位整數作為標簽數組。這樣做是為了性能。未來可能還會添加 64 位整數支持,以實現更好的 skimage 兼容性。

參考

1

Christophe Fiorio and Jens Gustedt, “Two linear time Union-Find strategies for image processing”, Theoretical Computer Science 154 (1996), pp. 165-181.

2

Kensheng Wu, Ekow Otoo and Arie Shoshani, “Optimizing connected component labeling algorithms”, Paper LBNL-56864, 2005, Lawrence Berkeley National Laboratory (University of California), http://repositories.cdlib.org/lbnl/LBNL-56864

例子

>>> import cupy as cp
>>> x = cp.eye(3).astype(int)
>>> print(x)
[[1 0 0]
 [0 1 0]
 [0 0 1]]
>>> print(label(x, connectivity=1))
[[1 0 0]
 [0 2 0]
 [0 0 3]]
>>> print(label(x, connectivity=2))
[[1 0 0]
 [0 1 0]
 [0 0 1]]
>>> print(label(x, background=-1))
[[1 2 2]
 [2 1 2]
 [2 2 1]]
>>> x = cp.asarray([[1, 0, 0],
...                 [1, 1, 5],
...                 [0, 0, 0]])
>>> print(label(x))
[[1 0 0]
 [1 1 2]
 [0 0 0]]

相關用法


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