Квантование уменьшения цвета PythonPython

Программы на Python
Ответить
Гость
 Квантование уменьшения цвета Python

Сообщение Гость »


Я ищу умный способ уменьшить количество цветов, сохранив при этом редкие оттенки.

Например, если вы возьмете изображение космонавта и добавите небольшой квадрат яркого и разного оттенка (в данном случае зеленого). Цвет теряется, если уменьшить количество цветов до определенного количества. Он присутствует в 256 цветах, но теряется в 32 цветах (см. древовидную схему).


Изображение



Изображение



Изображение


И в уменьшении слишком много очень похожих цветов и оттенков оранжевого и серого. (даже в 32 цвете, который мне не нужен).

Поэтому мне интересно, существует ли своего рода уменьшение цвета, сохраняющее оттенок, с взвешиванием разницы в оттенках. Я перепробовал много библиотек, но ни одна из них не справилась с этой задачей. Это Imagemagick.

Или мне придется реализовать это самому?

Может быть так:
[*]Уменьшите количество цветов до 256 (это подходит почти для всех изображений, меньший объем данных) [*]Просматривайте цвета, сравнивайте и сортируйте довольно похожие цвета с помощью CIEDE2000 DeltaE. [*]получить оставшиеся уникальные цвета из PIL [*]преобразовать в цветовую модель HSV [*]создать гистограмму с определенными интервалами (оттенок 0–10 для красного, 11–30 для оранжевого…) [*]снова прокрутите цвета и увеличьте принятое цветовое расстояние DeltaE на некоторую величину. [*]но сохранять цвет, если сравниваемые цвета выходят за границы интервала гистограммы.
Я не знаю, как проверить границы гистограммы.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»