我有一个数组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,:,:,:]
是第三张图片。
答案 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]) ]