В качестве примера, сервис поиска картинок в яндексе или гугле - выбираешь цвет, тебе показывают соответствующие картинки.
Прикладная задача: есть фотки обоев и тканей, необходимо автоматом выделять основные и второстепенные цвета и приводить к опорным. Что есть опорные цвета: админ может задать перечень в админке: белый, розовый, оранжевый и т.д. Естественно, коды этих цветов (RGB) указываются.
Проблема в том, что оттенков масса. И надо определить к какому опорному цвету ближе оттенок.
Был испробован сдедующий способ: RGB=XYZ. Каждый опорный цвет, это точка внутри куба с гранью длиной 256. Цвет пикселя изображения также точка внутри этого куба. Вычесляется расстояние пикселя до всех опорных цветов, наименьшее расстояние и есть искомый опорный цвет.
Эта штука работает. Но, она работает слишком хорошо. Например, грязно-зеленый цвет, типа хаки, она совершенно правильно относит к желтому. Но визуально он зеленый. Это не математика, а особенность восприятия человека.
Попытки ввести корректировки, например сдвинуть желтый за пределы куба, особого улучшения не дали.