powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Реализация сравнения двух цветов
21 сообщений из 21, страница 1 из 1
Реализация сравнения двух цветов
    #37845159
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте, уважаемые форумчане

В одной простой графической задаче я сравнивал "близость цветов" по формуле:
ColorDelta = dR + dG + dB

Мне говорят, что такое сравнение не корректное
Что чувствительность глаза к компонентам цвета разная. И правильная формула
ColorDelta = sqrt(dR*dR*0.2126 + dG*dG*0.7152 + dB*dB*0.0722)

Однако в одном месте я встретил вариант
ColorDelta = sqrt(dR*dR*0.2126*0.2126 + dG*dG*0.7152*0.7152 + dB*dB*0.0722*0.0722)


Хочу точно знать, какой вариант правильный !
...
Рейтинг: 0 / 0
Реализация сравнения двух цветов
    #37845176
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возьми кучу цветов. Отсортируй их используя разные формулы. Получишь несколько массивов с цветами.
Теперь нарисуй на основе этих массивов радуги и полюбуйся на них. Сам увидишь какая из радуг более плавная.
...
Рейтинг: 0 / 0
Реализация сравнения двух цветов
    #37845200
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOU,

Delta E гуглить

http://en.wikipedia.org/wiki/Color_difference
...
Рейтинг: 0 / 0
Реализация сравнения двух цветов
    #37845648
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Изопропил

Да, я тоже умею вбивать слова в поисковик гугла и копипастить ссылки на разные форумы.

Вопрос звучал так. Какой из 3х вариантов правильный ?

Коэффициенты по составляющим цвета уже рассчитаны. Встречал их во многих местах. Осталось - точно определить, каким образом с их помощью определить разницу
...
Рейтинг: 0 / 0
Реализация сравнения двух цветов
    #37846041
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOUЗдравствуйте, уважаемые форумчане

В одной простой графической задаче я сравнивал "близость цветов" по формуле:
ColorDelta = dR + dG + dB

Мне говорят, что такое сравнение не корректное
Что чувствительность глаза к компонентам цвета разная. И правильная формула
ColorDelta = sqrt(dR*dR*0.2126 + dG*dG*0.7152 + dB*dB*0.0722)

Однако в одном месте я встретил вариант
ColorDelta = sqrt(dR*dR*0.2126*0.2126 + dG*dG*0.7152*0.7152 + dB*dB*0.0722*0.0722)


Хочу точно знать, какой вариант правильный !
Все три формулы вобщем-то будут работать. Большую погрешность ты получишь на численных
методах расчёта палитр или кластеризации цветов (если таковые будешь использовать).

Первый метод - похож на расстояние Хэмминга.

Второй - судя по всему правильный. Взвешенное средне-квадратическое. В идеале ColorDelta
должно быть в диапазоне [0..1]. Оно-же похоже на декартово расстояние в пространсвте
цвета.

Третий - возводит в квадрат и весовые коэффициенты. Зачем это надо - непонятно.

Вобщем с точки зрения конечного продукта - все эти формулы хороши. С точки зрения
математики мне тоже не к чему придраться т.к. нет вывода или доказательства формул.
Они эвристичны и брались "поплевав в потолок".

Они имеют смысл только по результатам тестирования субъективной оценки человеком.
Возьми подопытных. Дай им образцы цветов и пусть сличают какие цвета похожи.
Где будет больше совпадений с формулой - там и будет правильно.
...
Рейтинг: 0 / 0
Реализация сравнения двух цветов
    #37846082
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот этот мужик говорит что приведённые мной цифры - это новый стандарт определения яркости

Вот в чём вопрос...
Есть алгоритм компрессии изображения с потерями
Нужно определить, насколько исходный цвет отличается от оригинала
(при компрессии сравниваются несколько вариантов кодирования, выбирается - с меньшей ошибкой)

Но мне встретились несколько вариантов рассчёта разницы
Но нужно выбрать один максимально правильный
...
Рейтинг: 0 / 0
Реализация сравнения двух цветов
    #37846094
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOUЕсть алгоритм компрессии изображения с потерями
Нужно определить, насколько исходный цвет отличается от оригинала
(при компрессии сравниваются несколько вариантов кодирования, выбирается - с меньшей ошибкой)

Пахнет классической ошибкой. Тебе ведь надо сравнить не 1=1 пиксел а сравнить два изображения.
Как будешь сравнивать? Как будешь подытоживать результат X*Y сравнений?
...
Рейтинг: 0 / 0
Реализация сравнения двух цветов
    #37846141
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всё изображение делится на компрессируемые блоки

Для каждого блока предполагается несколько вариантов. Каждый вариант имеет "отклонение" от исходного блока
Выбирается вариант с наименьшим отклонением

Отклонение исходного блока = сумма отклонений по каждому пикселю

Раньше я считал dR + dG + dB
Но судя по всему такой вариант не совсем правильный. Лучше учитывать особенности восприятия глазом
...
Рейтинг: 0 / 0
Реализация сравнения двух цветов
    #37846188
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При чём здесь блоки, чувак? Глаз человека когда оценивает качество потерь
при сжатии реагирует на картинку в целом!

Более того я тебе могу искусственно cымитировать ситуацию когда
картинка станет покрыта бледной шахматной доской (ошибка кодирования
блока будет идти со знаком + - плюс-минус или нестыковка границ
соседних блоков ) и при этом общие показатели сжатия будут - просто
великолепны.
...
Рейтинг: 0 / 0
Реализация сравнения двух цветов
    #37846219
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
всё замечательно, круто

только алгоритм сейчас заточен на БЛОКИ
и сейчас нужно определиться по погрешности в рамках блока

даже не так. Погрешности в рамках каждого пикселя
...
Рейтинг: 0 / 0
Реализация сравнения двух цветов
    #37846221
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
SOFT FOR YOUЛучше учитывать особенности восприятия глазом и особенности отображения матрицей (цветовые профили).
...
Рейтинг: 0 / 0
Реализация сравнения двух цветов
    #37846294
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
лучше сравнивать цвет не в RGB модели, а в тех, где яркость отделена от цвета( L*a*b*, HSV ...)
...
Рейтинг: 0 / 0
Реализация сравнения двух цветов
    #37846304
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автори особенности отображения матрицей (цветовые профили).

Звучит как что-то алгоритмически сложное
Но интересно было бы почитать

авторлучше сравнивать цвет не в RGB модели, а в тех, где яркость отделена от цвета( L*a*b*, HSV ...)
:)
у меня есть RGB
значит формула должна исходить из RGB
...
Рейтинг: 0 / 0
Реализация сравнения двух цветов
    #37846316
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOUу меня есть RGB
значит формула должна исходить из RGB
RGB - это просто форма хранения. Упаковка. На самом деле глаз видит длинну волны из спектра
радуги, яркость (силу в люксах или люменах) и насыщенность (процентное присутствие в цвете
белого цвета). Белый является вобщем - то не цветом а равномерным линейным шумом радуги.
Или линейной смесью всех-всех цветов.

Поэтому что использовать для хранения - решай сам. Хоть чёрта лысого. Но обычно для самых
сложных цветовых фильтров и преобразований используют HSV(Hue-Saturation-Value) а в RGB
перегоняют для хранения в памяти видеоадаптера или в старых форматах растра (Bitmap).
...
Рейтинг: 0 / 0
Реализация сравнения двух цветов
    #37846329
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да я не против ))

Только у меня сейчас есть RGB
и разницу посчитать тоже в RGB )
...
Рейтинг: 0 / 0
Реализация сравнения двух цветов
    #37846334
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
maytonRGB - это просто форма хранения. rgb - это уровни яркости для излучающего устройства. в данном случае для монитора.
...
Рейтинг: 0 / 0
Реализация сравнения двух цветов
    #37846339
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Верно. Я же писал про память видеоадаптера.
...
Рейтинг: 0 / 0
Реализация сравнения двух цветов
    #37846453
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOUНужно определить, насколько исходный цвет отличается от оригинала
Это какой-то бессмысленный критерий. Рассмотрите для примера двухцветный рисунок и два варианта его искажения:

1. Оба цвета стали на 10% темнее (или там тусклее или ещё что-нибудь)
2. Один цвет стал на 10% темнее, другой на 10% светлее.

Ваше сравнение даст для них одинаковый результат, а человеческий глаз с ним ну совершенно не согласится.
...
Рейтинг: 0 / 0
Реализация сравнения двух цветов
    #37846497
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOUВопрос звучал так. Какой из 3х вариантов правильный ?
Все. И есть ещё куча правильных формул.
Спектральная чувствительность глаза каждого человека индивидуальна. Более того, даже правый и левый глаз могут иметь разную чувствительность. Это первое.
Второе - на экране и на распечатке цвета выглядят совершенно по-разному. Знакомо? А то, что больше половины народу считает результаты аппаратной калибровки экран-принтер полной туфтой - знаете? А ведь она очень даже точная - да только глаз опять-таки думает по-своему...
...
Рейтинг: 0 / 0
Реализация сравнения двух цветов
    #37846823
?
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
?
Гость
SOFT FOR YOUНо нужно выбрать один максимально правильный
Вот здесь http://www.easyrgb.com/index.php?X=MATH есть формулы для перевода из RGB в XYZ и затем из XYZ в CIE-Lab.
А вот здесь http://www.brucelindbloom.com/index.html?Eqn_DeltaE_CIE2000.html - для рассчета разницы цветов в Lab. Это будет максимально правильно :)
...
Рейтинг: 0 / 0
Реализация сравнения двух цветов
    #37846851
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо :)
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Реализация сравнения двух цветов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]