我有一个 3D 数组 a
a 是一个形状为 (512, 512, 133)) 的 numpy 数组,它在某个区域包含非零值。
如果我知道像素间距 (0.7609, 0.7609, 0.5132),那么如何在 python 中找到实际体积?
最佳答案
在 numpy 数组中获取 amount of non-zero elements。
import numpy as np
units = np.count_nonzero([[[ 0., 0.],
[ 2., 0.],
[ 0., 3.]],
[[ 0., 0.],
[ 0., 5.],
[ 7., 0.]]])
# will output 4
如果您知道两个像素之间的间距 s,则像素的体积计算为正方形的体积(像素体积)乘以您之前确定的像素数量。volume = units * pow(s, 3)
更新:由于您的间距 (s1, s2, s3) 在您的 3 个维度中不是等距的,因此体积将变为
volume = units * s1 * s2 * s3
# volume = 4 * 0.7609 * 0.7609 * 0.5132
关于python - python中3D numpy数组的体积计算?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57723144/