Я думаю о написании небольшой библиотеки, чтобы угадать название цвета (значение RGB) из заранее определенного списка кандидатов.
Моя первая попытка была основана исключительно на пифагоровом расстоянии в трехмерном цветовом пространстве RGB — это не было успешным, так как большинство именованных цветовых точек находились на краях пространства (например, синий на 0, 0, 255), поэтому , для большинства цветов в середине пространства названный цвет, к которому он был ближе всего, также был довольно произвольным.
Итак, я думаю о лучших подходах и придумал несколько кандидатов
Цилиндрическое расстояние в цветовом пространстве HSV, которое вполне может иметь проблемы, аналогичные описанным выше, однако HSV кажется более значимым в человеческом смысле, чем RGB, что может быть полезно.
Любой из вышеперечисленных, но с каждой названной цветовой точкой, взвешенной с произвольным значением, которое обозначает силу ее притяжения к точкам в окружающем пространстве. есть название такой модели? Я понимаю, что это немного расплывчато, но мне кажется, что это довольно интуитивная идея.
Байесовская сеть, которая исследует свойства цвета HSV и возвращает наиболее вероятное название цвета (я воображаю узлы, похожие, например, на P (черный | насыщенность ‹ 10), P (красный | оттенок = 0), однако это кажется меньше идеального — например, вероятность того, что данный цвет красный, пропорциональна тому, насколько его оттенок близок к 0, а не является дискретным значением. переменная проверяется?
Наконец, мне было интересно, есть ли какая-то классификация на основе машины опорных векторов в цветовом пространстве HSV или RGB, но, не будучи хорошо знаком с ними, я не уверен, даст ли это какое-то особое преимущество по сравнению с пифагорейским подходом, основанным на расстоянии. старался изначально, тем более что имею дело только с трехмерным пространством.
Поэтому мне было интересно, есть ли у кого-нибудь из вас опыт решения подобных проблем или какие-либо ресурсы, которые могли бы помочь мне выбрать подход? Если бы кто-нибудь мог указать мне правильное направление (будь то одно из вышеперечисленных или что-то совершенно другое), я был бы очень благодарен.
Ваше здоровье!
Тим