Преамбула
Как часть проекта, над которым я работаю, я пытаюсь обеспечить удобный способ поиска изображений в нашей системе. В настоящее время мы осуществляем поиск по различным типам добавленных пользователем метаданных (например, название, описание, ключевые слова) и различные метаданные, которые мы извлекаем (например, EXIF, IPTC, XMP и т.д.). Я также хотел бы добавить "цветной поиск", аналогичный тому, что вы можете увидеть в поиске изображений в Google.
В проекте используется PHP, и мы можем использовать расширение Imagemagick для сегментации и квантования изображения и извлечения наиболее значимых цветов из изображения; Я не совсем уверен в результатах, которые я получаю здесь, но они кажутся достаточно точными и, конечно, лучше, чем ничего.
Проблема
Бит, с которым я сталкиваюсь, превращает эти значительные цвета в набор репрезентативных цветов, например. когда вы смотрите поиск изображений Google, там есть набор из 12 цветов. Я хотел бы математически "округлить" значение цвета до ближайшего репрезентативного цвета, чтобы я мог индексировать изображение с помощью цветов, которые я обнаружил, а затем фасет мои результаты поиска таким образом.
Любые предложения?