Как перевести длину волны в цвет RGB?

sidorskys

Подскажите, плз, как конвертировать нм в цвета RGB?
Точнее, хочу посмотреть, какие оттенки отвечают длинам волн 500, 505, 510, 515 нм.

sidorskys

Что, никто не знает?

zuzaka

Никак. Если хочешь, могу выслать тебе книжку по нейрофизиологии цветового зрения. Или сам скачай ее с хомлинукс.орг.

zuzaka

Дело в том, что цвет характеризуется не длиной волны.

angel_18

Ты имеешь в виду цвет, воспринимаемый глазом?

zuzaka

да. Кстати, цвет Rgb не имеет прямого соответствия с воспринимаемым цветом, а воспринимаемый цвет не имеет прямого соответствия с длиной волны. И это еще только сложности, связанные с апертурным цветом. В реальных объектах все еще неимоверно сложнее.

spiritmc

> Никак.
Это, конечно, не совсем правда, при некоторых допущениях так можно.
Где-то я видел прогу, которая пытается это делать,
но искать её целенаправленно не буду.
---
...Я работаю антинаучным аферистом...

artobus

разве свет определенной длины волны и определенной интенсивности не будет восприниматся определенным цветом? и разве нельзя из цвета, зная что он представляет собой свет одной длины волны, определить эту длину волны?

estochka

цвет определяеца частотой

spiritmc

Наглая ложь.
---
...Я работаю антинаучным аферистом...

spiritmc

Ты прочитал постановку вопроса?
---
"Студенту надо повторять всё три раза, Ганс. Три раза. Запомни, Ганс: три раза."

artobus

Ты прочитал постановку вопроса?
ну да, поэтому и спрашиваю в чем проблема-то? только в том чтоб найти прогу .

spiritmc

Тогда причём здесь это:
> зная что он представляет собой свет одной длины волны
---
"Vyroba umelych lidi, slecno, je tovarni tajemstvi."

natunchik

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

In the diagram above, the wavelengths of the three types of cones (red, green and blue) are shown. The peak absorbancy of blue-sensitive pigment is 445 nanometers, for green-sensitive pigment it is 535 nanometers, and for red-sensitive pigment it is 570 nanometers.
Соответственно, если математически описать эти функции, а потом подставить в них длину волны, то получишь некие довольно абстрактные величины - возбуждение каждого типа рецепторов.
Далее, можно поставить обратную задачу - определить интенсивность трёх элементов r, g, b, которые будут создавать в глазу среднестатистического человека то же впечатление, что и некое монохроматическое излучение - то есть решить численно систему уравнений
R(mu) = r*R(wr) + g*R(wg) + b*R(wb)
G(mu) = r*G(wr) + g*G(wg) + b*G(wb)
B(mu) = r*B(wr) + g*B(wg) + b*B(wb)
(где mu - нужная длина волны; R G B - функции "возбуждения" от длины волны; r, g, b - интенсивности излучения элементов; wr, wg, wb - длины волн монохроматических излучающих элементов).
(Вместо R(mu G(mu B(mu) в принципе можно подставлять что угодно - если, например, идёт речь о чём-нибудь другом, например, о смеси излучений
Решения может не существовать.
Кстати, ещё можно решать не относительно r, g, b, а относительно mu.
А ещё, наверное, могут проявляться забавные эффекты нелинейности, но на свете средней яркости вряд ли их нужно учитывать.
Ещё ты можешь найти где-нибудь красивую радужную полоску (типа той, что внизу картинки на которой будет точная разметка по длинам волн. С точностью до цветопередающих качеств твоего монитора (учитывая так же то, что некоторые цвета он физически отобразить не в состоянии - решения уравнения относительно r, g, b не существует).
(подправил формулы - я там фигню написал

natunchik

Лох чтоле? Частота и длина волны в данном материале (глазной жидкости) эквивалентны.

estochka

чо, хочешь сказать неправельна ?

natunchik

Задумалсо.
Кстати да!
Это не ты лох, а Контра!
Цвет определяется частотой!
=)

spiritmc

Поймай химика-второкурсника или третьекурсника
и попроси его показать оптический спектр поглощения.
Спектр солнечного света найдёшь самостоятельно.
---
"Vyroba umelych lidi, slecno, je tovarni tajemstvi."

natunchik

Хаха!
Мне прекрасно известно, что на них всех внизу написана длина волны.
Но если уж спорить, чем именно определяется "цвет", то это будет явно частота, потому что длина волны типа разная в типа разных средах, прикинь!

natunchik

и попроси его показать оптический спектр поглощения.
Грамотно сказал, уважаю.
Давай тогда ты найдёшь физика и попросишь его показать тебе длину и вес. Скорость найдёшь самостоятельно.

spiritmc

> Мне прекрасно известно, что на них всех внизу написана длина волны.
И что?
> Но если уж спорить, чем именно определяется "цвет",
> то это будет явно частота,
Ты видел хотя бы _один_ оптический спектр поглощения?
> потому что длина волны типа разная в типа разных средах, прикинь
Указываемая длина волны относится к вакууму и близким по оптическим свойствам средам.
---
"Математик может говорить, что ему хочется,
но физик должен, хотя бы в какой-то мере, быть в здравом рассудке."

estochka

Указываемая длина волны относится к вакууму и близким по оптическим свойствам средам.
вот. вся фишка в этом

braginsky

вот области с названиями принятые международной комиссией по освещению.

strelok69

хочу посмотреть, какие оттенки отвечают длинам волн 500, 505, 510, 515 нм
и кстати если монитор у тебя не откалиброван правильно вряд ли получится вообще

sidorskys

А что, их на заводе не калибруют?

natunchik

не настолько, чтобы уверенно различить 500, 505, 510, 515 нм
И асиль всё-таки то, что я написал.

strelok69

судя по тому что изображение на откалиброваном заметно отличается, видимо калибруют абы как (почти всегда завышен уровень зелёного)
да ещё всё зависит от загружаемого цветового профиля

demiurg

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

natunchik

>> а больше всего - зеленых
Неверно. Посмотри на графики в моём посте. Как раз зелёный там оказывается в полном ноле. И есть подозрение, что это немножко другой "фиолетовый", хотя поскольку мозг в обоих случаях старательно пытается скомпенсировать тотальное отстутствие зелёного, эти цвета кажутся "близкими".

Vikuschechka9

интересно! не потому ли на зелёный самая большая чувствительность сетчатки?

natunchik

не потому ли
Не понял, "не почему ли" =)
Самая высокая чувствительность к зелёному цвету наверное связана с цветом хлорофила.

demiurg

Ну да, наверное так. Но все равно странно получается, что "возбуждено много синих и миого краснах и 0 зеленых" воспринимется так же, как "мало синих и 0 зеленых".

zuzaka

Там сложная фигня. Пока даже не определились, какая именно. Три типа колбочек и один тип палочек (у приматов) дают, грубо говоря, несколько каналов:
1) светлый/темный;
2) красный/зеленый;
3) синий/несиний (желтый).
Из них образуются хитрые схемы.
Что касается поглощения фотонов определенной длины волны, на самом деле, рецептор реагирует на поглощенный фотон любой волны одинаково. Но вероятность поглощения у разных типов рецепторов разна для разных длин волн.

natunchik

Хм.
Ну видишь ли, монохроматический фиолетовый цвет глаз вообще очень с трудом воспринимает =) Так что мозгу остаётся очень большое поле для домысливания.

TashaV

рядом еще солнечный максимум (в оптике) - все это взаимосвязано

zuzaka

> Но если уж спорить, чем именно определяется "цвет", то это будет явно частота, потому что длина волны типа разная в типа разных средах, прикинь!
Среда у всех в глазу одинаковая.

natunchik

Частота тоже.
Однако именно частота сохраняется в любом случае. Так что если уж вопрос - что лучше характеризует электромагнитное излучение, частота или длина волны - поставлен, то ответ должен быть "частота". Интересно, на самом деле, почему действительно как правило на графиках используют именно длину волны?

spiritmc

> ответ должен быть "частота".
Тебе уже сказали, что длину волны относят к вакууму,
поэтому один чёрт --- частота или длина волны.
> как правило
Длину волны используют только для оптических спектров,
которые, к тому же, далеко не самые распространённые.
В ИК спектрах используют обратную величину.
---
...Я работаю антинаучным аферистом...

natunchik

цвет определяеца частотой
kohtpa: Наглая ложь.
fj: бла бла бла, но вообще они эквивалентны, бла бла бла
fj: бла бла бла, но если уж выбирать между длиной и частотой, то выбирать нужно частоту.
kohtpa: Ах да, как я мог забыть, они эквивалентны.
Клёвый ты чувак, чувак.

zuzaka

не хочу перечитывать тред, но с подборкой в твоем посте ты неправ. Ну не определяется цвет частотой. Каждая частота (в грубом приближении) определяет цвет, но очень далеко не каждый цвет определяется частотой.

spiritmc

Не перевирай.
При выборе между длиной волны и частотой надо выбирать то, что удобно.
В оптическом диапазоне это длина волны и никак не частота.
---
"Математик может говорить, что ему хочется,
но физик должен, хотя бы в какой-то мере, быть в здравом рассудке."

slsf

Коллеги, хороший и интересный тред получился из довольно простого вопроса.
Осталось резюмировать, почему именно частота инвариантна, а не длинна волны?...

gala05

сиреневый цвет не представляется в виде RGB

spiritmc

Установившийся режим вынужденных колебаний.
---
...Я работаю антинаучным аферистом...

slsf

Логично, это первое что приходит на ум.
А как быть с отдельно взятым фотоном ?

spiritmc

А отдельно взятый фотон не существует.
Какие возникли трудности?
Фотон распространяется без изменения частоты.
---
...Я работаю антинаучным аферистом...

natunchik

Энергия отдельно взятого фотона равна hw, где h - постоянная планка, w - частота.
Я не могу с уверенностью сказать, что энергия фотона (то есть частота) в принципе не может изменяться, но, сдаётся мне, в нормальных условиях таки не может.
2Контра: по-моему, ты перепутал отдельно взятый фотон с ложкой.

spiritmc

> сдаётся мне, в нормальных условиях таки не может.
Огласи, что у тебя названо "нормальными условиями."
Попутно оцени плотность оптических фотонов при нормальной температуре.
---
...Я работаю антинаучным аферистом...

stat2814955

С какой стати?

natunchik

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

sidorskys

вот области с названиями принятые международной комиссией по освещению.
А кстати, где-нибудь можно скачать картинку побольше?

krusich

гы-гы, в мониторе (ЭЛТ) три вида люминофоров, которые определяют палитру цветов(RGB). то есть любой цвет не попадающий в максимум спектра излучения одного из люминофоров будет смесью как минимум двух (на самом деле как минимум трёх) цветов. Поэтому твоя задача на ЭЛТ не решаеццо никак. На ЖК и подавно.

spiritmc

Ты читать не умеешь?
Вся задача именно в том и состоит, чтобы подобрать соотношение такое, чтобы поточнее передавало.
---
"Vyroba umelych lidi, slecno, je tovarni tajemstvi."

krusich

хотя, в принципе, можно взять спектры излучения люминофоров и посчитать самому как они складываюццо так, что максимум результирующего спектра приходился на нужную тебе длину волны. Затем отфотометрировать конкретный ЭЛТ монитор и есчо раз посчитать. Но всё равно получишь субьективные результаты, поскольку надо учитывать разницу в оптических плотностях пигментов трёх разных видов зрительных клеток, и надо сказать, что придёццо учесть ещё и оптические плотности большого числа экранирующих пигментов.

krusich

если тебе интересно, то спектры люминофоров у меня есть
Оставить комментарий
Имя или ник:
Комментарий: