Ответ 1
Это просто, используйте аргумент недокументированных цветов:
result = image.convert('P', palette=Image.ADAPTIVE, colors=5)
Я использую Image.ADAPTIVE, чтобы избежать сглаживания
Я не уверен, как я собираюсь уменьшить цветовую палитру изображения PIL. Я хотел бы уменьшить палитру изображений до 5 ярких цветов, найденных на этом изображении. Моя общая цель - сделать базовую выборку цвета.
Это просто, используйте аргумент недокументированных цветов:
result = image.convert('P', palette=Image.ADAPTIVE, colors=5)
Я использую Image.ADAPTIVE, чтобы избежать сглаживания
Короткий ответ заключается в использовании метода Image.quantize
. Для получения дополнительной информации см.: Как преобразовать любое изображение в 4-цветное палитру изображения с помощью библиотеки изображений Python?
Я предполагаю, что вы хотите сделать что-то более сложное, чем posterize. "Отбор проб", как вы говорите, займет некоторую утонченность, так как 5 наиболее распространенных цветов на изображении, вероятно, будут похожи друг на друга. Возможно, взгляните на 5 наиболее разделенных пиков в histogram.