Как я могу определить два верхних цвета изображения в PHP?
например, у меня есть это изображение:
Эта функция / процесс вернет: 0000FF или синий и FFFF00 или ЖЕЛТЫЙ
Спасибо
Если вы можете вызвать внешнюю утилиту, Imagemagick может сгенерировать для вас гистограмму. Вероятно, это будет намного быстрее, чем реализация PHP.
По сути, эта команда дает вам список цветов, отсортированных по наиболее доминирующим первым:
convert 'http://i.stack.imgur.com/J2txV.png' -format %c histogram:info:-|sort -r
Возможно, вы захотите сначала сопоставить изображение с фиксированной палитрой («округлить» цвета). Вот что я использую:
convert 'http://i.stack.imgur.com/J2txV.png' -modulate 100,200,100 -remap 'http://i.stack.imgur.com/GvTqB.png' -format %c histogram:info:-|sort -r