如何使用PIL减少调色板

时间:2009-06-30 20:43:33

标签: python image colors python-imaging-library palette

我不确定如何减少PIL图像的调色板。我想将图像的调色板缩小为该图像中的5种突出颜色。我的总体目标是做一些基本的颜色采样。

3 个答案:

答案 0 :(得分:27)

这很简单,只需使用未记录的颜色参数:

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

我正在使用Image.ADAPTIVE来避免抖动

答案 1 :(得分:3)

我认为你想做一些比posterize更复杂的事情。正如你所说,“采样”将采取一些技巧,因为图像中最常见的5种颜色可能彼此相似。也许看一下histogram中5个最分离的峰。

答案 2 :(得分:3)

简短的回答是使用Image.quantize方法。有关详细信息,请参阅:How do I convert any image to a 4-color paletted image using the Python Imaging Library ?