如何单独计算4D阵列的平均值?

时间:2017-04-18 06:10:26

标签: python numpy

我有一个数组img,其形状为64x128x512x3,由三个图像64x128x512合并而成。我想分别计算每个图像的平均值,由数组img给出。因此,我按照风格执行了代码:

import numpy as np
img_means = np.mean(img, (0, 1, 2)))

这是对的吗?我的预期结果是img_means[0,:,:,:]是第一张图片的平均值,img_means[1,:,:,:]是第二张图片的平均值,img_means[2,:,:,:]是第三张图片。

2 个答案:

答案 0 :(得分:1)

是的,它是正确的,但请注意img_means只是一个包含三个数字的数组(每个数字都是相应数字的平均值)。

答案 1 :(得分:0)

你的代码在python 3.x中不起作用 像这样做: 首先生成数据

import numpy as np
img=np.arange(64*128*512*3).reshape(64,128,512,3)

这就是你想要的:

img_means=[img[:,:,:,i].mean() for i in range(img.shape[3]) ]