identify -verbose
Imagemagick предоставляет таблицу гистограммы палитры, но только если количество уникальных цветов ниже предела (1024 в проверенных версиях, v6.x до v6.8.3).
Вместо этого вы можете просто « convert
» ваше изображение в гистограмму, этот вывод не ограничен количеством уникальных цветов:
convert image.jpg -format %c -depth 8 histogram:info:histogram_image.txt
sort -n histogram_image.txt | tail -1
Сортировка выходных данных по первому столбцу сортировка по частоте цветов пикселей. (Частота определенных цветных пикселей, конечно, может не соответствовать восприятию человеком преобладающего цвета.)
Если вы уменьшаете цвета, вы, вероятно, можете просто довериться convert
чтобы сделать это для вас , выбрав дизеринг и / или постеризацию. Даже специально для веб-сейфа 216:
convert image.png +dither -remap netscape: image_websafe.png
Вы, вероятно, приблизитесь к воспринимаемому преобладающему цвету с помощью некоторого сочетания размытия, изменения размера и постеризации, это не простая задача для определения и решения:
См. Также следующую ссылку для dcolors
, сценария, который использует Imagemagick для определения набора преобладающих цветов в изображении и включает в себя координацию цветовой схемы вашего рабочего стола с выбранным изображением рабочего стола:http://javier.io/blog/en/2015/09/30/using-imagemagick-and-kmeans-to-find-dominant-colors-in-images.html