gpt4 book ai didi

python - python中3D numpy数组的体积计算?

转载 作者:太空宇宙 更新时间:2023-11-04 11:13:03 26 4
gpt4 key购买 nike

我有一个 3D 数组 aa 是一个形状为 (512, 512, 133)) 的 numpy 数组,它在某个区域包含非零值。

I would like to calculate the volume of non zero area in this 3D numpy array.

如果我知道像素间距(0.7609、0.7609、0.5132),如何在 python 中找到实际体积?

最佳答案

The volume of your 3D numpy array equals to the amount of non-zeroelements times the volume a pixels takes.

获取amount of non-zero elements在一个 numpy 数组中。

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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com