|
32 / 31 / 13
Регистрация: 20.05.2010
Сообщений: 705
|
||||||
Способы сравнить два почти идентичных цвета25.05.2015, 04:51. Показов 6620. Ответов 9
Метки нет (Все метки)
Есть два цвета:
Есть ли способ лучше чем сравнивать каждый байт цвета с учетом допуска?
0
|
||||||
| 25.05.2015, 04:51 | |
|
Ответы с готовыми решениями:
9
Два почти идентичных запроса mysql_query выдают разные результаты Как правильно сделать два почти идентичных ajax запроса без копирования дополнительного кода? Сравнить два цвета |
|
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
|
|
| 25.05.2015, 07:59 | |
|
Перевести в модель HSV https://ru.wikipedia.org/wiki/... B%D1%8C%29 и сравнивать тон
1
|
|
|
80 / 58 / 11
Регистрация: 16.12.2013
Сообщений: 175
|
||||||
| 25.05.2015, 14:42 | ||||||
|
Если надо меру сходства такую, чтобы различие в цифрах было пропорционально различию в восприятии, то ни RGB ни HSV не подходят. Надо перевести в хроматические координаты XYZ (perceptual uniform chromatic coordinates, гуглите, там много всего). Тогда различие будет
1
|
||||||
|
32 / 31 / 13
Регистрация: 20.05.2010
Сообщений: 705
|
|
| 26.05.2015, 03:03 [ТС] | |
|
Австрал, Похоже это то, что мне надо, мне как раз таки и надо сравнить не байты а как бы проверить, если цвет синий, синеватый, светло синий, темно синий или любого другого синеватого оттенка, то значит он синий.
Попробую Ваш код, отпишусь.
0
|
|
|
80 / 58 / 11
Регистрация: 16.12.2013
Сообщений: 175
|
|
| 26.05.2015, 07:50 | |
|
Хроматические координаты XYZ являются линейным приближением и это приближение считается не очень точным. Зато оно вычисляется умножением на матрицу перехода 3х3. Есть, якобы, более точные нелинейные приближения, вроде L*a*b*. Но я глазом разницу не вижу. Может быть, продвинутый дизайнер разницу видит. Пишите, если чего не ясно.
0
|
|
|
32 / 31 / 13
Регистрация: 20.05.2010
Сообщений: 705
|
|
| 27.05.2015, 07:10 [ТС] | |
|
Австрал, Во общем сейчас вот добрался до алгоритма своего сразу вопрос по Вашему коду. Как мне перевести мой RGB цвет в эти хроматические координаты в коде?
Добавлено через 13 минут Нашел вот кстати проэкт с этими всеми алгоритмами, но я в них на столько не понимаю что даже в GUI не могу ниего понять...
0
|
|
|
80 / 58 / 11
Регистрация: 16.12.2013
Сообщений: 175
|
||||||
| 27.05.2015, 08:50 | ||||||
0
|
||||||
|
32 / 31 / 13
Регистрация: 20.05.2010
Сообщений: 705
|
||||||||||||||||
| 27.05.2015, 20:10 [ТС] | ||||||||||||||||
|
Австрал, Так мне вот как раз таки и не понятно как мне эту самую точку создать из цвета. Давайте так, вот у меня на выходе моих методов получается два цвета для сравнения:
Добавлено через 1 час 49 минут Во общем нашел библиотеки для работы с цветами. Перевел свои цвета в Lab, и попробовал отприделить Delta-E между моими цветами, и че то как то не очень мне результат понравился, ибо он почти такой же как и результат с моего метода: Вот как может быть схожесть этих двух цветов равна `58,59767%` если один из них почти черный а второй красный: Цвета: #222211 | #CF0F0C А вот ваш алгоритм дал 27% совпадения, но должно быть еще меньше где то 7-12% ибо они ну ож очень разные с точки зрания восприятия человека...
Короче почитав документацию к одной из библиотек и посмотрев на ее код, и нашел в ней метод который сравнивает два RGB цвета, и этот алгоритм дал мне 11.9% совпадения для моих цветов, я думаю это то, что мне нужно, лучшего результата не дал ни один из алгоритмов... Библиотека тут: http://colormine.org/ Добавлено через 3 минуты З.Ы. сравнивал через `Cie1976`. Пробовал еще варианты через: Cie94б`, `CieDe2000`, `Cmc` - но они давали 22-59% совпадения на мои цвета...
0
|
||||||||||||||||
|
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
|
||
| 28.05.2015, 11:40 | ||
|
#222211 = hsl(60, 33%, 10%) #CF0F0C = hsl(0, 89%, 42%) разница в 60 градусов + Luminance если нужна еще и яркость
0
|
||
|
80 / 58 / 11
Регистрация: 16.12.2013
Сообщений: 175
|
||
| 02.06.2015, 08:29 | ||
|
siriusED, Вы что-то делаете неправильно. Дело в том, что L*a*b* - есть истина, а XYZ - линейное приближение истины. Эти хроматические координаты получены в результате исследования восприятия цвета десятками тысяч людей. Довольно давно, когда понадобилось, чтобы цветное кино и телевидение передавало цвета правильно. Вот в вашем же телевизоре цвета естественные? Это потому, что там при преобразованиях сигнала используется модель Lab.
Согласен, что XYZ немного врёт на краях хроматического пространства. Вблизи чисто чёрного или чисто красного, например. Но, именно немного. А Lab - не врёт и врать не может. Ну вот для примера, палитра от красного до чёрного с шагом 20%, сделана через XYZ координаты.
0
|
||
| 02.06.2015, 08:29 | |
|
Помогаю со студенческими работами здесь
10
Как сравнить два цвета? Два идентичных запроса SQL Два идентичных куска кода работают по-разному Два идентичных файла. В одном выдает ошибку, в другом - нет Два практически идентичных кода, но один почему-то работает медленней Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|