numpy 数组中维度的平均值

5 python arrays numpy

我的 numpy 数组(名称:数据)具有以下大小:(10L,3L,256L,256L). 它有 10 个图像,每个图像具有 3 个颜色通道 (RGB),每个图像大小为 256x256 像素。

我想计算所有 10 个图像的每个颜色通道的平均像素值。如果我使用 numpy 函数np.mean(data),我会收到所有像素值的平均值。Usingnp.mean(data, axis=1)返回一个大小为 numpy 的数组(10L, 256L, 256L)

Sim*_*ons 5

如果我正确理解您的问题,您需要一个数组,其中包含三个图像中每个图像的每个通道的平均值。(即形状数组(10,3))(如果这不正确,请在评论中告诉我,我可以编辑此答案)

如果您使用的 numpy 版本大于 1.7,则可以将多个轴np.mean作为元组传递给

mean_values = data.mean(axis=(2,3))
Run Code Online (Sandbox Code Playgroud)

否则,您必须先展平阵列以使其成为正确的形状。

mean_values = data.reshape((data.shape[0], data.shape[1], data.shape[2]*data.shape[3])).mean(axis=2)
Run Code Online (Sandbox Code Playgroud)