Как уменьшить цветовую палитру с помощью PIL

Я не уверен, как я собираюсь уменьшить цветовую палитру изображения PIL. Я хотел бы уменьшить палитру изображений до 5 ярких цветов, найденных на этом изображении. Моя общая цель - сделать базовую выборку цвета.

Ответы

Ответ 1

Это просто, используйте аргумент недокументированных цветов:

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

Я использую Image.ADAPTIVE, чтобы избежать сглаживания

Ответ 3

Я предполагаю, что вы хотите сделать что-то более сложное, чем posterize. "Отбор проб", как вы говорите, займет некоторую утонченность, так как 5 наиболее распространенных цветов на изображении, вероятно, будут похожи друг на друга. Возможно, взгляните на 5 наиболее разделенных пиков в histogram.