Python在标记的多维数组上应用函数

2024-09-30 10:42:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个numpy数组,它使用scipy连接的组件标签进行标记。在

import numpy
from scipy import ndimage

a = numpy.zeros((8,8), dtype=numpy.int)
a[1,1] = a[1,2] = a[2,1] = a[2,2] = a[3,1] = a[3,2] = 1
a[5,5] = a[5,6] = a[6,5] = a[6,6] = a[7,5] = a[7,6] = 1 
lbl, numpatches = ndimage.label(a)

我想对标签数组中的所有标签应用自定义函数(计算特定值)。 类似于ndimage代数函数:

^{pr2}$

(在本例中,它返回每个标签[6,6]的值的数目。)在

有办法吗?在


Tags: 函数from标记importnumpyzeros组件scipy
1条回答
网友
1楼 · 发布于 2024-09-30 10:42:12

您可以将任意函数传递给ndimage.labeled_comprehension,它大致相当于

[func(a[lbl == i]) for i in index]

以下是labeled_comprehension-等价于ndimage.sum(a,lbl,range(1,numpatches+1))

^{pr2}$

相关问题 更多 >

    热门问题