Допустим есть несколько изображений. Нужно для них сгенерировать фон.
Для первой картинки очевидно что он должен быть оранжевым, для второго темно-серым, для третьего не понятно)
Как програмно узнать (желательно 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-пиксельная рамка соотв. цветов с исходными изображениями:
Комментариев нет:
Отправить комментарий