PIL:将模式为“I”的图像转换为“RGB”会产生完全白色的图像

时间:2013-11-10 17:44:33

标签: png python-imaging-library zlib

这个问题末尾的图像是一个带有模式I的PNG,它代表索引,据我所知。

我正在尝试创建一个缩略图,并将其保存为带有PIL的JPG。

但是,如果我单独离开mode,PIL将不会让我调整错误unable to generate thumbnail: cannot write mode I as JPEG.

如果我将其转换为RGB,则结果将为全白图像。

有没有办法解决这个问题?

https://www.dropbox.com/s/2d1edk2iu4ixk25/NGC281.png

1 个答案:

答案 0 :(得分:1)

输入图像是16位灰度PNG,看起来PIL有问题。在进一步处理之前手动将其转换为8位图像使其再次工作。

问题可能来自PIL本身。 PyPNG主页断言

  

.. PIL仅具有1位和8位通道值的内部表示(PIL模式)。这让我想知道PIL是否可以读取位深2或4(灰度或调色板)的PNG文件,以及位深16(PNG支持灰度和RGB图像)。

然后,该页面是从2009年开始的。可能值得追踪PIL的维护位置,并将其报告为错误(?或者可能是功能请求?)。