这是我的问题:
import Image
im = Image.open("1.png")
im.show()
print im.mode
im.convert("RGBA").save("2.png")
通过我的图像,你可以看到不同之处。
我的问题是:如何正确地转换它?
图片:
结果:
注意:原始图像有一个半透明的发光,结果有一个纯绿色的“发光”。
发布于 2012-09-18 02:35:43
此处报告了此问题:
https://bitbucket.org/effbot/pil-2009-raclette/issue/8/corrupting-images-in-palette-mode
2012年3月,一条评论说它现在已经在PIL的开发版本中得到了修复。最新发布的版本是1.1.7,因此在1.2发布之前,修复程序将不可用。PIL更新的速度非常慢,所以不要指望它很快就会出来。
发布于 2012-09-18 02:01:07
不幸的是,您的PNG图像是一种PIL不能很好处理的类型-带有alpha通道的调色板图像。当你打开图像时,alpha被丢弃了,并且没有办法找回它。
这与通常的调色板透明度不同,通常使用调色板的一个索引来表示完全透明的像素。
发布于 2017-04-08 04:07:46
您可以使用scipy.misc.imread
img = scipy.misc.imread(filename, mode='RGBA')
img = Image.fromarray(img)
https://stackoverflow.com/questions/12462548
复制相似问题