【发布时间】:2020-10-28 07:13:24
【问题描述】:
我正在尝试将 RGB 图像转换为灰度图像,然后使用以下代码 sn-p 转换为 numpy 数组:
img = Image.open("image1.png")
img = img.convert('L')
img = np.array(img, dtype='f')
print(img.shape)
结果是一个形状为 (128, 128) 的 numpy 数组。无论如何,我可以将灰度图像转换为 numpy 数组,以便它也具有颜色通道,即形状为 (128, 128, 1)?
【问题讨论】:
-
您可以通过
img = img[..., np.newaxis]获得该形状,但我不知道它如何为您提供颜色。 -
为了扩展 Mark 的评论,这是一个有点令人困惑的问题,因为
(128, 128)数组的值是这里的“颜色”。有时您需要有一个单例维度,但这通常是因为您使用的是 numpy 广播或类似的东西。添加单一维度不会改变基础数据。所以你现在从@crazycoder 得到了一个很好的答案,但我不确定你是否有解决实际问题的方法。
标签: python numpy python-imaging-library