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

问题描述 投票:0回答:1

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

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

编辑:事实证明我忘记将结果数组转换为np.uint8

python numpy-ndarray numpy-broadcasting
1个回答
0
投票

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

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

它对我有用。

© www.soinside.com 2019 - 2024. All rights reserved.