2013-11-18 2 views
2

Я пишу программу, чтобы получить название цвета. Я могу получить значение rgb пикселя, но не смог узнать, как получить его имя. Есть ли какая-либо библиотека C++, которая может получить имя цвета из его значения rgb? Или найдите ближайший совпадающий цвет?Как получить названия цветов из его значения rgb

+1

У вас есть список имен, которые вы планируете использовать? Или вы идете по некоторым стандартам? Цвета не имеют внутренних имен. – tychon

+0

У вас будет диапазон шестнадцатеричных значений, соответствующих 1 имени. Определение гранулярности диапазона полностью зависит от вас. Вы можете иметь 10 цветов или 10000. Если у вас ограниченное использование, вы можете жестко закодировать имена (при условии, что это управляемое число). –

+0

У меня нет имен, и я не уверен, какой цвет я получу. Основная идея, которую я имею, - получить имена из определенных HTML цветов. – user1964417

ответ

3

Помимо HTML color tables, есть также RAL standard, известная система, используемая в промышленности.

Что нужно, это в основном таблица кодов с именами и значениями RGB. Можно легко найти ближайший матч для соответствующего имени цвета, до тех пор, как разрешение стола и спектр достаточно:

Простой CSV reader, чтобы загрузка таблиц цветов может быть решением.

+1

При поиске в этих таблицах я бы рекомендовал найти ближайший цвет в пространстве HSV, а не в пространстве RGB. Вероятно, вы получите лучшие совпадения, т. Е. Матчи ближе к тому, что выбрал бы человек. – HeywoodFloyd

+0

Звучит разумно. Как бы вы сравнили векторы HSV? Что-то вроде этого: http://en.wikipedia.org/wiki/Color_difference? Я склонен использовать скалярное произведение векторов RGB, возможно, только с учетом яркости. Или переход в ЮВ http://stackoverflow.com/a/5392276/1175253 – Sam

+1

Тот, кто написал статью в Википедии, дал ей гораздо больше мысли, чем я. Я не знаю, будет ли сравнение YUV или HSV ближе к тому, что будет выбирать человек. Чувство моего кишечника - это HSV, так как я думаю, что люди ставят светло-красный и темно-красный вместе перед красным и зеленым цветом той же яркости. – HeywoodFloyd

Смежные вопросы