2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 RGB -> длина волны
Сообщение28.11.2014, 19:13 
Подскажите, как перевести RGB-формат в длины волн. Никак не получается перевести композицию красного, зеленого и синего в желтую длину волны. Спектр нужен, а камера цифровая. Кто сталкивался? Как судьбу обманывал?

 
 
 
 Re: RGB -> длина волны
Сообщение28.11.2014, 19:24 
romka_pomka в сообщении #937500 писал(а):
Подскажите, как перевести RGB-формат в длины волн. Никак не получается перевести композицию красного, зеленого и синего в желтую длину волны. Спектр нужен, а камера цифровая. Кто сталкивался? Как судьбу обманывал?
Вообще говоря, это невозможно. А в частности... Вы уверены, что Вам нужно именно монохроматическое излучение? Или все же что-то другое?

 
 
 
 Re: RGB -> длина волны
Сообщение28.11.2014, 19:30 
Эмм. А почему нельзя? Имеется в виду, что не каждой тройке чисел rgb соответствует монохроматическая волна?

 
 
 
 Re: RGB -> длина волны
Сообщение28.11.2014, 19:38 
Pphantom в сообщении #937505 писал(а):
Вы уверены, что Вам нужно именно монохроматическое излучение? Или все же что-то другое?
спектр нужен, да. Тот, что от холестерика отражается... В реальном времени... с разноцветной площадки...
12d3 в сообщении #937512 писал(а):
Эмм. А почему нельзя? Имеется в виду, что не каждой тройке чисел rgb соответствует монохроматическая волна?
ну да, многозначно всё. В глазу химия в колбочках убогая, легко обмануть.

 
 
 
 Re: RGB -> длина волны
Сообщение28.11.2014, 19:45 
Аватара пользователя
12d3 в сообщении #937512 писал(а):
Имеется в виду, что не каждой тройке чисел rgb соответствует монохроматическая волна?
Среди цветов, различаемых глазом и имеющих вполне определенную RGB-кодировку, есть неспектральные цвета (пурпурные). Естественно, никакой монохроматической волне они не соответствуют. Да вот, посмотрите:
Изображение.
Монохроматические цвета - только на криволинейной части контура фигуры. Все остальные - смеси.

 
 
 
 Re: RGB -> длина волны
Сообщение28.11.2014, 19:48 
Ну да, логично. У rgb три степени свободы, а у монохроматической волны две.

 
 
 
 Re: RGB -> длина волны
Сообщение28.11.2014, 19:55 
zvm, да пусть бы смеси были - это не страшно. Страшно, что спектра нету, т.е. много их, комбинации не однозначные.

 
 
 
 Re: RGB -> длина волны
Сообщение28.11.2014, 20:06 
Аватара пользователя
romka_pomka в сообщении #937528 писал(а):
Страшно, что спектра нету, т.е. много их, комбинации не однозначные.
Чего же здесь страшного? Цветоощущение желтого цвета можно вызвать солнечным лучом, пропущенным через призму, а можно смесью красного и зеленого лучей. Это же счастье. Если бы не это, шиш бы у нас было цветное телевидение.

 
 
 
 Re: RGB -> длина волны
Сообщение28.11.2014, 20:12 
zvm в сообщении #937533 писал(а):
Это же счастье.
у всех счастье, а мне оборудование покупать придется.

 
 
 
 Re: RGB -> длина волны
Сообщение28.11.2014, 20:15 
romka_pomka в сообщении #937528 писал(а):
Страшно, что спектра нету, т.е. много их, комбинации не однозначные.
Именно. И рецепта тут никакого нет, если только нужные спектры не какого-то определённого вида…

А если светофильтры расставить над интересующим местом рядами? (Или там спектр от точки к точки меняется?) Или упомянутую только что zvm призму… Ей можно будет сохранить разрешение по одной из пространственных осей.

(Оффтоп)

12d3 в сообщении #937524 писал(а):
Ну да, логично. У rgb три степени свободы, а у монохроматической волны две.
От монохроматического света же воспринимается одна только частота — почему степени свободы две? Наоборот, у света континуум степеней свободы, а у цвета только три, откуда и метамерия.

 
 
 
 Re: RGB -> длина волны
Сообщение28.11.2014, 20:23 
arseniiv в сообщении #937540 писал(а):
Или там спектр от точки к точки меняется?

угу, :-( ... распределён по поверхности. Но действительно: сделаю-ка я узенькую полоску. Спасибо за подсказку.

 
 
 
 Re: RGB -> длина волны
Сообщение28.11.2014, 20:39 
Аватара пользователя
С практической точки зрения, если нет возможности использовать спектрометр:
  • Добыть icc-профиль используемой камеры (бывает на диске, идущем с камерой, или в интернетах); лучше всего сделать самому для конкретной камеры, инструкции опять же в интернетах.
  • С его использованием перевести снятую картинку из RGB в "линейные" координаты — в XYZ (на картинке тут выше) или LCh. Это умеют делать "продвинутые" графические редакторы.
  • По этим координатам как-нибудь определять длину волны. На картинке, приведённой тут выше, на границе фигуры уже проставлены длинны волн. Остаётся вопрос, что делать, если цвет оказался не на границе — наверное, проектировать его как-то на границу.

 
 
 [ Сообщений: 12 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group