Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как узнать, насоклько один цвет отличается от другого (RGB) [D1, Win95/98]


Zilog ©   (2008-08-26 00:41:00) 

Как узнать, насоклько один цвет отличается от другого имя на руках оба в формате RGB.

Собественно интересует сам прицип.


Jeer   (2008-09-15 16:30:00) [1]


> как вы думаете, предложенные выше решения - то, что нужно?


Проверь на кошках, собаках, друзьях.. наконец.


Zilog   (2008-09-14 00:17:00) [2]


> Если формально в числах отличается - это одно, а вот для
> восприятия человеком совсем другое. Какие цвета отличаются
> сильнее: голубой и зеленый или фиолетовый и желтый?


предложеные выше решения ещё не проверял, руки не доходят.

когда я упоминал о схожести цветов - я прежде всего имел ввиду их схожесть для человека, а не их числовые значения.

как вы думаете, предложенные выше решения - то, что нужно?


DevilDevil   (2008-09-11 17:35:00) [3]

размерность = 0..30*255^2+59*255^2+11*255^2


DVM   (2008-09-05 21:59:00) [4]


> насоклько один цвет отличается от другого

Если формально в числах отличается - это одно, а вот для восприятия человеком совсем другое. Какие цвета отличаются сильнее: голубой и зеленый или фиолетовый и желтый?


Pavia   (2008-09-04 01:54:00) [5]

RGB не лучшее пространство. К примеру получше будет перевести в LAB и там сравнивать. Дело в том что цветовое пространство не линейно поэтому LAB лучше.
А метрику можно использовать любую. Вопрос только в целесобразности. Евклидова лучши отрожает суть если расматривать пространство RGB как куб. Размерность шкалы будет такаже какя у R, G, B . RGB - это сами по себе попугаи. Но в некотором(в очень грубом) приблежении ложаться на физические основы. Самое простое это домножить на весовые коэфициенты исходя из чувствительности глаза человека.


Zilog   (2008-09-03 12:00:00) [6]

Jeer, Mbo - спасибо. В попугаях - так в попугаях :)
Будем пробовать.


Jeer   (2008-09-03 09:30:00) [7]


> Zilog   (02.09.08 17:30) [3]
>
> Jeer,
>
> Delta - это что? Число, которое определяет степень схожести
> цветов? Если да, то какова размерность этой шкалы?


Разве в формуле что-то непонятно ?
Диапазоны R,G,B тебе известны, отсюда можно определить диапазон Delta.
А размерность - в попугаях, кроме того, не суть важно извлекать корень или нет.


MBo   (2008-09-02 18:11:00) [8]

>верно?
да


Zilog   (2008-09-02 17:30:00) [9]

Jeer,

Delta - это что? Число, которое определяет степень схожести цветов? Если да, то какова размерность этой шкалы?

МБо,

поясни, будь добр, что ты имеешь ввиду под "отклонением"?  Это разница между цветами (R1-R2)? Если так, то по твоим словам формула должна быть следующей:

a = sqrt((R1-R2)^2+(G1-G2)^2+(B1-B2)^2)

верно?


Jeer   (2008-08-26 10:16:00) [10]

Или с добавление весов, что компенсирует разную чувствительность глаза по R,G,B.

Delta = 30*(R1-R2)^2+59*(G1-G2)^2+11*(B1-B2)^2


MBo   (2008-08-26 05:14:00) [11]

например, евклидово расстояние в цветовом кубе rgb (корень из суммы квадратов отклонения цветовых составляющих)


Наверх

Титульная страница Поиск, карта сайта Написать письмо