将ndarray图像转换为具有相同阵列形状的灰度图像

时间:2019-04-21 05:37:18

标签: python numpy-ndarray numpy-broadcasting

我正在尝试编写一个python函数,该函数将图像ndarray作为参数,并使用广播返回该图像的灰度版本的ndarray。

我现在的主要问题是,生成的图像与原始图像的形状(800、400、3)不同。

编辑:原来我只是忘了将结果数组转换为np.uint8

1 个答案:

答案 0 :(得分:0)

您的第一个convert_bw函数没有任何问题,我认为问题是您如何查看结果图像(您使用的库无法很好地显示结果)。例如,您可以通过以下代码查看结果:

import matplotlib.pyplot as plt
bw = convert_bw(img)
plt.imshow(bw.astype(np.uint8)) 

对我有用。