PIL获取图像调色板

Tra*_*cer 6 python python-3.x

我使用以下代码打开图像并将其转换为具有16色调色板的图像:

im = Image.open("SomeImage.png")
im = im.convert("P")
im = im.convert("P", palette = Image.ADAPTIVE, colors = 16)
Run Code Online (Sandbox Code Playgroud)

我可以使用以下方法获取像素数据:

im.getpixel((x,y))
Run Code Online (Sandbox Code Playgroud)

返回与调色板中颜色索引对应的整数.我如何将调色板本身作为颜色列表?

Ale*_*lli 4

im有一个im.palette可以使用的属性 - 但推荐的方法是调用im.convert(mode)(你可以省略mode参数让 PIL 以最佳方式选择它)让 PIL 代表你在内部进行调色板查找,比你可以快得多。