python label参数_python scipy ndimage.label用法及代码示例

该博客介绍了Python中scipy.ndimage.label函数的用法,用于在数组中标识和标记元素。详细解释了参数input、structure和output,并提供了代码示例来说明如何使用默认结构元素以及自定义结构元素进行标记。示例展示了不同结构元素如何影响元素的连接和标记结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在数组中标注要素。

参数:

input:array_like一个要标记的array-like对象。输入中的任何非零值都计为要素,零值被视为背景。

structure:array_like, 可选参数定义要素连接的结构化元素。结构必须是中心对称的(请参见注释)。如果未提供结构元素,则将自动生成平方连通性等于1的结构元素。也就是说,对于二维输入数组,默认结构元素为:

[[0,1,0],

[1,1,1],

[0,1,0]]

output:(None, data-type, array_like), 可选参数如果输出是数据类型,则它指定结果标记的要素数组的类型。如果输出是array-like对象,则将使用此函数中标记的函数更新输出。通过传递output = input,此函数可以就地运行。请注意,输出必须能够存储最大的标签,否则此函数将引发Exception。

返回值:

label:ndarray或int整数ndarray,其中输入中的每个唯一函数在返回的数组中都有一个唯一的标签。

num_features:整型找到了多少个对象。

如果输出为None,则此函数返回元组(labeled_array,num_features)。

如果输出是ndarray,则它将使用labeled_array中的值更新,并且此函数将仅返回num_features。

注意:

中心对称矩阵是关于中心对称的矩阵。参考[1]想要查询更多的信息。

结构矩阵必须是中心对称的,以确保two-way连接。例如,如果结构矩阵不是中心对称的,则定义为:

[[0,1,0],

[1,1,0],

[0,0,0]]

输入为:

[[1,2],

[0,3]]

那么结构矩阵将指示输入中的条目2连接到1,但是1未连接到2。

参考文献:

James R. Weaver,“中心对称(cross-symmetric)矩阵,它们的基本属性,特征值和特征向量。”美国数学月刊92.10(1985):711-717。

例子:

创建具有某些函数的图像,然后使用默认(cross-shaped)结构元素将其标记为:

>>> from scipy.ndimage import label, generate_binary_structure

>>> a = np.array([[0,0,1,1,0,0],

... [0,0,0,1,0,0],

... [1,1,0,0,1,0],

... [0,0,0,1,0,0]])

>>> labeled_array, num_features = label(a)

这4个函数中的每一个都用不同的整数标记:

>>> num_features

4

>>> labeled_array

array([[0, 0, 1, 1, 0, 0],

[0, 0, 0, 1, 0, 0],

[2, 2, 0, 0, 3, 0],

[0, 0, 0, 4, 0, 0]])

生成一个结构化元素,即使它们沿对角线接触,它们也将考虑已连接的特征:

>>> s = generate_binary_structure(2,2)

或者,

>>> s = [[1,1,1],

... [1,1,1],

... [1,1,1]]

使用新的结构元素标记图像:

>>> labeled_array, num_features = label(a, structure=s)

显示2个标记的函数(请注意,上面的函数1、3和4现在被视为单个函数):

>>> num_features

2

>>> labeled_array

array([[0, 0, 1, 1, 0, 0],

[0, 0, 0, 1, 0, 0],

[2, 2, 0, 0, 1, 0],

[0, 0, 0, 1, 0, 0]])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值