无法使用 ImageOps 反转 RGB 8 位/通道 PNG

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

我正在尝试反转图像。

对于每通道 8 位的 RGB PNG 文件(因此没有 Alpha),它会失败。有什么想法吗? (它适用于我扔给它的所有其他图像,除了这五个 PNG 图像,这是我能找到的与它们唯一的共同点。

注意:我尝试的几乎所有其他图像都是 JPG,所以我猜测这与 PNG 有关,但我无法找出是什么。

代码:

from PIL import Image
import PIL.ImageOps
im = Image.open(image_file)
inverted_image = ImageOps.invert(im)

我收到此错误消息:

<class 'OSError'>, File: None, Line: 58, Function: _lut <class 'AttributeError'>, File: unknown, Line: unknown, Function: unknown
python image python-imaging-library rgb
1个回答
0
投票

这是一个 RGBA 图像,所以我不好(同样,如果答案很简单,我不知道如何删除这些东西)。

使用这样的图像,您可以首先测试(使用 .mode),如果是 RGBA,那么您可以编写代码来分割然后合并结果(在另一个线程中记录,其中有人想要处理 RGBA 图像并反转它们)。

真正的“答案”是你必须通过模式进行测试,因为在其他地方查看它(我在 Photoshop 中查看,它没有在那里显示 Alpha 通道)是不够的。

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