我对编程(Python)很陌生,所以我不明白这里发生了什么。我有一个图像 (35x64) 作为 3D 数组,并使用 np.mean(),我尝试提取一行的一个颜色通道的平均值:
print(np.mean(img[30][:][0]))
Run Code Online (Sandbox Code Playgroud)
为了进行比较,我还编写了一个 for 循环来在列表中附加完全相同的值并用其计算平均值:
for i in range(64):
img_list.append(img[30][i][0])
print(np.mean(img_list))
Run Code Online (Sandbox Code Playgroud)
现在,由于一个奇怪的原因,它给出了不同的值:
First output: 117.1
Second output: 65.7
Run Code Online (Sandbox Code Playgroud)
通过查看列表,我发现第二个是正确的。有更多经验的人可以向我解释为什么会发生这种情况以及如何解决这个问题吗?我不想在程序中使用第二个更长的代码块,但正在寻找能够提供正确值的单行解决方案。