我正在尝试编写一个python函数,它将图像ndarray作为参数,并使用广播返回该图像的灰度版本的ndarray。
我现在的主要问题是我生成的图像与原始图像的形状不同(800,400,3)。
编辑:事实证明我忘记将结果数组转换为np.uint8
你的第一个convert_bw
函数没有任何问题,我认为问题是你如何看到结果图像(你使用的库不能很好地向你展示结果)。例如,您可以通过以下代码查看结果:
import matplotlib.pyplot as plt
bw = convert_bw(img)
plt.imshow(bw.astype(np.uint8))
它对我有用。