【发布时间】:2020-04-17 13:04:02
【问题描述】:
我对编程很陌生(在 Python 中),所以我不明白这里发生了什么。我有一个图像 (35x64) 作为 3D 数组,并且使用 np.mean(),我试图提取一行的一个颜色通道的平均值:
print(np.mean(img[30][:][0]))
为了比较,我还编写了一个 for 循环来将完全相同的值附加到一个列表中并用它计算平均值:
for i in range(64):
img_list.append(img[30][i][0])
print(np.mean(img_list))
现在,出于一个奇怪的原因,它给出了不同的值:
First output: 117.1
Second output: 65.7
通过查看列表,我发现第二个是正确的。有更多经验的人可以向我解释为什么会发生这种情况以及如何解决这个问题吗?我不想在我的程序中使用第二个更长的代码块,但我正在寻找一个能够提供正确值的单行解决方案。
【问题讨论】:
-
你能确定你的
img.shape是(35, 64, _) -
@sshashank124 是的。
-
是的,我看到了下面的答案。很高兴解决了