Страницы

Поиск по вопросам

вторник, 14 мая 2019 г.

Какого цвета больше на картинке.

Допустим есть несколько изображений. Нужно для них сгенерировать фон. Для первой картинки очевидно что он должен быть оранжевым, для второго темно-серым, для третьего не понятно)
Как програмно узнать (желательно imagemagick) какого цвета больше на картинке?


Ответ

Конвертнуть в indexed color формат, уменьшив число цветов до 256 или ещё меньше. imagemagick convert в histogram сосчитает кол-во упоминаний этих цветов, возьмите оттуда максимум.
Вот командная строка, которой я получил цвета для ваших примеров:
convert image.jpg -format %c -depth 8 histogram:info:histogram_image.txt && sort -n histogram_image.txt | tail -1
Для ваших трёх изображений (вырезал из примера), «победили» следующие цвета:

Вот так выглядит 10-пиксельная рамка соотв. цветов с исходными изображениями:

Комментариев нет:

Отправить комментарий