gpt4 book ai didi

python - 在 PIL 中,为什么不转换 ('L' ) 转换图像灰度?

转载 作者:太空宇宙 更新时间:2023-11-04 10:24:12 27 4
gpt4 key购买 nike

对于我正在编写的程序,我需要将 RGB 图像转换为灰度图像并使用 PIL 将其作为 NumPy 数组读取。

但是当我运行以下代码时,它不会将图像转换为灰度,而是转换为奇怪的颜色失真,有点像热像仪的输出,如图所示。

知道问题出在哪里吗?

谢谢!

http://www.loadthegame.com/wp-content/uploads/2014/09/thermal-camera.png

from PIL import Image
from numpy import *
from pylab import *

im = array(Image.open('happygoat.jpg').convert("L"))

inverted = Image.fromarray(im)

imshow(inverted)
show()

最佳答案

matplotlib 的 imshow 旨在科学地表示数据 - 而不仅仅是图像数据。默认情况下,它被配置为使用高对比度调色板。

您可以通过传递以下选项强制它使用灰度显示数据:

import matplotlib.cm
imshow(inverted, cmap=matplotlib.cm.Greys_r)

关于python - 在 PIL 中,为什么不转换 ('L' ) 转换图像灰度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30419722/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com