Python 如何使用PIL减少调色板

Python 如何使用PIL减少调色板,python,image,colors,python-imaging-library,palette,Python,Image,Colors,Python Imaging Library,Palette,我不确定我将如何减少一个PIL图像的调色板。我想减少一个图像的调色板,以5个突出的颜色在该图像中找到。我的总体目标是做一些基本的颜色采样。我假设您想做比这更复杂的事情。正如您所说,“采样”需要一些技巧,因为图像中最常见的5种颜色可能彼此相似。也许可以看看a中5个最分离的峰。简单的答案是使用图像。量化方法。有关更多信息,请参见:这很简单,只需使用undocumented colors参数: result = image.convert('P', palette=Image.ADAPTIVE, co

我不确定我将如何减少一个PIL图像的调色板。我想减少一个图像的调色板,以5个突出的颜色在该图像中找到。我的总体目标是做一些基本的颜色采样。

我假设您想做比这更复杂的事情。正如您所说,“采样”需要一些技巧,因为图像中最常见的5种颜色可能彼此相似。也许可以看看a中5个最分离的峰。

简单的答案是使用
图像。量化方法。有关更多信息,请参见:

这很简单,只需使用undocumented colors参数:

result = image.convert('P', palette=Image.ADAPTIVE, colors=5)

我使用Image.ADAPTIVE来避免抖动

谢谢,太好了。我一直讨厌PIL文档。然后如何将其转换回?使用
image.convert(“RGB”,palete=image.ADAPTIVE,colors=5)
或其他方法?这一点现在记录在@unutbu下,
im.quantize
不推荐使用。