Телескопы покупают здесь


Голосование

Интересно ли вам точное отображение на мониторе длин волн?

Да, очень интересно.
Интересно, но пока практического применения не вижу.
Нет, но пусть тема будет для тех, кому это интересно
Не интересно.  И я против того, чтобы другие здесь на эту тему общались.

A A A A Автор Тема: Табличка RGB(λ).  (Прочитано 10712 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

Оффлайн athАвтор темы

  • *****
  • Сообщений: 1 212
  • Благодарностей: 11
  • Любитель компьютеров, иногда смотрю в телескоп
    • Сообщения от ath
Re: Табличка RGB(λ).
« Ответ #80 : 23 Окт 2009 [14:38:16] »
Как я понял, имелось  ввиду, что сумма коэффициентов должна быть одинаковой, например 255.

Не совсем так.  Яркость точек одинакова, когда одинаковы суммы их линейных цветовых компонент r+g+b.

sRGB, для большего цветового охвата, кодирует цветовые компоненты нелинейно, с помощью гамма-функции: R=255*γ(r), G=255*γ(g), B=255*γ(b).  Вот это тайное определение гамма-функции sRGB (цифры приведены по стандарту IEC):

γ(x) = 1.055*x1/2.4-0.055, при x≥0.0031308
γ(x) = 12.92*x, при x≤0.0031308

Так что для сравнения яркости пикселей надо сравнивать значения γ-1(R/255)+γ-1(G/255)+γ-1(B/255), где γ-1(x) это функция, обратная γ(x).  В табличке на первой странице яркости цветов не равны.  Напротив, для каждого цвета указана его максимальная яркость, которую только способен дать монитор.
« Последнее редактирование: 23 Окт 2009 [14:47:43] от ath »
HEQ5 Pro; EOS 60Da; бинокли Canon 15×50 IS, Celestron 7×50

Оффлайн Mihail Sedyh

  • *****
  • Сообщений: 5 974
  • Благодарностей: 34
    • Сообщения от Mihail Sedyh
Re: Табличка RGB(λ).
« Ответ #81 : 23 Окт 2009 [14:50:49] »
Если честно, мне хотелось бы оставить эту тему для решения узкой технической задачи преобразования чистых спектральных цветов в RGB. 
Конечно. Извиняюсь, что влез.
"Алькор", Бинокль 10х50, Coronado PST, доб 235/1157, МТ-3С

tlgleonid

  • Гость
Re: Табличка RGB(λ).
« Ответ #82 : 23 Окт 2009 [22:01:56] »
Это не так — скажет вам и школьник, и профессор.  У звёзд, как и у любого источника света с любым спектром, есть цвет.  Он поддаётся вычислению, измерению и математически выражается координатами x, y в цветовой системе CIE.
Имея цветовые координаты (x y) баланса белого (точнее, сведения о цветовом пространстве ЦЗК) можно вычислить цвет звезды (x y).
Который является таким же её объективным параметром, как координаты или звёздная величина, завися напрямую от её спектра.
Звезда имеет цвет в бытовом значении этого смысла, но в большинстве своем звезды спектральных классов от О до G имеют фактически белій цвет с легким оттенком (То есть у самых голбых звезд типа S Единорога будет что-то типа (140, 200, 245)), а вот красные звезды почти не светят в голбом диапазоне.
В научном смысле говорят о показателе цвета, то есть разнице в звездной величине между яркостью в голубых и зеленых лучах. В настоящее время накопилось множество разных фотометрических стандартов и в каждом каждая конкретная звезда имеет свои значения звездных величин и показатели цвета. И самое грустное, что корреляция между этими стандартами невысокая. Фактически зная величины цвета звезды в одной системе нельзя достоверно предсказать его в другой системе и, тем более, восстановить спектр. Подробнее об этом можно узнать из чебников по фотометрии.

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

Оффлайн athАвтор темы

  • *****
  • Сообщений: 1 212
  • Благодарностей: 11
  • Любитель компьютеров, иногда смотрю в телескоп
    • Сообщения от ath
Re: Табличка RGB(λ).
« Ответ #83 : 23 Окт 2009 [23:12:49] »
Я бы всё же не смешивал фотометрию и колориметрию.  Максимум, что даст фотометрия, это унылые показатели навроде B-V или U-V в каталоге Куликовского.  На основании которых установить RGB-цвет звезды (или хотя бы её CIE x,y) я бы не рискнул.  Разве что какое-то приближение «на глаз».

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

Вообще, если тема RGB(λ) уже вопросов не вызывает и народ хочет звёзд, можно завести отдельную тему для этих храбрых поползновений.  ;)
HEQ5 Pro; EOS 60Da; бинокли Canon 15×50 IS, Celestron 7×50

Оффлайн Дмитрий Маколкин

  • *****
  • Сообщений: 14 933
  • Благодарностей: 1311
  • всяко разно
    • Skype - dmitrymakolkin
    • DeepSkyHosting: dvmak
  • Награды Призер конкурса астрофото
    • Сообщения от Дмитрий Маколкин
    • Панорамы Луны
Re: Табличка RGB(λ).
« Ответ #84 : 24 Окт 2009 [14:15:34] »
Если честно, мне хотелось бы оставить эту тему для решения узкой технической задачи преобразования чистых спектральных цветов в RGB. 

Попробуйте поставить простейший эксперимент.
С помощью обычного штампованного CD получите на белом экране радугу. Пусть в качестве источника света будет Солнце. Сейчас погода не ахти, но просветы вполне могут быть. Снимите радугу фотоаппаратом. Посмотрите фото на экране. Попробуйте сравнить с оригиналом. Расскажите нам о своем впечатлении.

Собственно, к чему это я всё. Снимал неоднократно спектр с помощью дифракционной решетки и видел, сколь гигантская разница между оригиналом и фото.
Панорамы Луны в моей галерее:
http://www.makolkin.ru/Gallery/gallery.html
Мои дипы: https://deepskyhosting.com/dvmak

Оффлайн athАвтор темы

  • *****
  • Сообщений: 1 212
  • Благодарностей: 11
  • Любитель компьютеров, иногда смотрю в телескоп
    • Сообщения от ath
Re: Табличка RGB(λ).
« Ответ #85 : 24 Окт 2009 [15:19:15] »
Эксперимент полезен, хотя лучше использовать призму и вычитать из снимка цвет самой бумаги при том же освещении (скажем, установив на неё ББ).

Разница понятна.  Она даже из математики следует.  В sRGB точные цвета спектра выразить невозможно.  Мы лишь рассчитываем наилучшие приближения, с точностью ±½ в каждом канале.
HEQ5 Pro; EOS 60Da; бинокли Canon 15×50 IS, Celestron 7×50

Оффлайн Дмитрий Маколкин

  • *****
  • Сообщений: 14 933
  • Благодарностей: 1311
  • всяко разно
    • Skype - dmitrymakolkin
    • DeepSkyHosting: dvmak
  • Награды Призер конкурса астрофото
    • Сообщения от Дмитрий Маколкин
    • Панорамы Луны
Re: Табличка RGB(λ).
« Ответ #86 : 24 Окт 2009 [15:37:19] »
Эксперимент полезен, хотя лучше использовать призму и вычитать из снимка цвет самой бумаги при том же освещении (скажем, установив на неё ББ).
Разница понятна.  Она даже из математики следует.  В sRGB точные цвета спектра выразить невозможно. 
Можно и призму, если есть. Тогда можно поставить её на объектив и снимать щелевой источник.
Мы лишь рассчитываем наилучшие приближения, с точностью ±½ в каждом канале.

С точностью ±½ от величины чего?
Панорамы Луны в моей галерее:
http://www.makolkin.ru/Gallery/gallery.html
Мои дипы: https://deepskyhosting.com/dvmak

Оффлайн athАвтор темы

  • *****
  • Сообщений: 1 212
  • Благодарностей: 11
  • Любитель компьютеров, иногда смотрю в телескоп
    • Сообщения от ath
Re: Табличка RGB(λ).
« Ответ #87 : 24 Окт 2009 [23:49:46] »
Мы лишь рассчитываем наилучшие приближения, с точностью ±½ в каждом канале.
С точностью ±½ от величины чего?

От единицы кодирования канала в стандарте sRGB, конечно.
Нельзя же кодировать, например, Hβ в 24 битах, как (0 221,5 255).  Надо сделать осмысленный выбор между (0 221 255) или (0 222 255).  Причём, в отличии от физических величин, кодирование цвета в sRGB нелинейно.  См. выше формулу для гаммы.

Когда перейдём на DeepColor, требования к точности расчётов станут ещё жёстче.  При этом рассчитывается, разумеется, не точный цвет волны λ, а наиболее адекватное её приближение.
HEQ5 Pro; EOS 60Da; бинокли Canon 15×50 IS, Celestron 7×50

tlgleonid

  • Гость
Re: Табличка RGB(λ).
« Ответ #88 : 26 Окт 2009 [13:15:15] »
Если смотреть на Вашу узкую задачу, то делать это имеет смысл следующим образом.
1. Определяется с приемником. Для разных видов приемников результат будет различным. Возьмем к примеру человеческий глаз.
2. Измеряем чуствительность каждого типа колбочек к разным длиннам волн. Для глаза картинка внизу поста. Для цветных ПЗС нужно искать по справочникам.
3. Теперь для каждой длинны волны найдем два числа, определяющие соотношения Кс/Кз и Кк/Кз. Кс - чуствительность к синим лучам, Кз - чуствительность к зеленым и Кк - чуствительность к красным лучам.
Например, для нашего случая Кс=0.2, Кз=0.5, Кк=0.3. По этим интенсивностям находим соответсвие значений яркости для каждого цвета

Однако есть одно но. Восстановить цвет по этим значениям в общем случае не получится. Причина кроется в следующем:
Когда мы пытаемся отобразить цвет на монтире, он отображется тремя типами пикселов. Но оказывается, что если в прострастве наших двух констант построить область всех возможных цветов, то он примет форму наклоненной влево луковицы.
По нижней части луковицы идут чистые спектральные цвета. Множество всех возможных цветов, образованных пикселами на монтире (или на фото) будут отображаться треугольником, вписанным в луковицу. Получается, что самый идеальный монтиро не сможет отобразить всех цветов, которые видит человеческий глаз.
Иными словами спект снять мы можем, а вот отобразить его на фото - нет.
Очень подробно этот вопрос изложен в книге "Феймановские лекции по физике, том ОПтика."

Оффлайн athАвтор темы

  • *****
  • Сообщений: 1 212
  • Благодарностей: 11
  • Любитель компьютеров, иногда смотрю в телескоп
    • Сообщения от ath
Re: Табличка RGB(λ).
« Ответ #89 : 27 Окт 2009 [02:31:56] »
Если смотреть на Вашу узкую задачу, то делать это имеет смысл следующим образом.

Вы описали, с некоторой степени точности, мою программу на Паскале.
Ссылку на неё я выше давал.  Как и ссылку на иностранные прототипы, на разных языках от Фортрана до Хаскелля (или как там его буде).

1. Определяется с приемником. Для разных видов приемников результат будет различным. Возьмем к примеру человеческий глаз.

Да, цвет (по определению) это именно то, что подаёт глаз в мозг.

2. Измеряем чуствительность каждого типа колбочек к разным длиннам волн. Для глаза картинка внизу поста.

Эти измерения уже произведены опытными специалистами.  Измеренные кривые, использующиеся всей индустрией, стандартизированы CIE и опубликованы в виде ряда таблиц с дискретностью 1нм, 5нм и 10нм.

Фактически здесь дело обстоит так, как с секундой.  Стандарт пару раз обновлялся.  И, думаю, в течении века кривые будут заменяться всё более и более точными, вплоть до прямого измерения чувствительности колбочек специальными вольтметрами или математического моделирования поведения клеток, их составляющих.  :)

Для цветных ПЗС нужно искать по справочникам.

Обычно у ПЗС и КМОП сенсоров есть обвязка.  Которая, в конечном итоге, с помощью нелинейных преобразований приводит кривые чувствительности к стандарту.  Скажем, к sRGB или Adobe Wide Gamut.  Эти кривые для ПЗС уже учтены RAW-конверторами и играют роль лишь в том случае, если мы хотим измерять не RGB в TIFF'е, а возиться с ч/б данными из RAW, ещё до дебайеризации.

Сверка цветов звёзд с теоретическими, кстати, поможет выбрать те ЦЗК и ПЗС, у которых RAW-конверторы более точные.  Ещё можно проверять зеркалки (точнее различные RAW-коверторы) на монохроматических источниках цвета (лазерах?), длина волны которых заранее известна.

3. Теперь для каждой длинны волны найдем два числа, определяющие соотношения Кс/Кз и Кк/Кз. Кс - чуствительность к синим лучам, Кз - чуствительность к зеленым и Кк - чуствительность к красным лучам.
Например, для нашего случая Кс=0.2, Кз=0.5, Кк=0.3. По этим интенсивностям находим соответсвие значений яркости для каждого цвета
Где-то так.  Только обычно используются спектральные характеристики сигнала, помноженные на кривые чувствительности CIE для каждого типа колбочек.  И от этого произведения берётся интеграл по всему диапазону волн, от нуля до плюс бесконечности.

Однако есть одно но. Восстановить цвет по этим значениям в общем случае не получится.

Цвет получится в результате, т.к. это и есть то, что видит глаз.  Кодируется цвет в CIE XYZ или sRGB, это всё равно цвет.  Хотя вы правы в том, что sRGB покрывает меньше цвета, чем более «физиологическое» цветовое пространство CIE XYZ.

Вот спектр по цвету восстановить действительно не получится.  С другой стороны, глазу плевать на спектр.  Ему цвет подавай!

По нижней части луковицы идут чистые спектральные цвета.

Вроде, чистые спектральные цвета идут по верхней внешней стороне.  А низ замыкают пурпурные оттенки, которых в спектре нет.   Конечно, если вы под луковицей имеете в виду gamut.

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

Ошибка будет ещё на этапе цифровки в sRGB.

Снятые sRGB-цвета не будут точными характеристиками спектральных цветов.  Поэтому все цифры, приведённые в первом сообщении, это лишь наилучшие приближения для чистых электромагнитных синусоид.

Очень подробно этот вопрос изложен в книге "Феймановские лекции по физике, том ОПтика."

ФЛФ у меня есть, посмотрю.  Хотя вряд ли Фейнман писал про кривые CIE, слишком уж давно он эти свои лекции читал.  Да и наблюдаю у физиков я этакую презрительность к точным цветам.  Дескать, всё это физиология и лягушачьи лапы.  Будто звук это не физиология!
HEQ5 Pro; EOS 60Da; бинокли Canon 15×50 IS, Celestron 7×50

Оффлайн athАвтор темы

  • *****
  • Сообщений: 1 212
  • Благодарностей: 11
  • Любитель компьютеров, иногда смотрю в телескоп
    • Сообщения от ath
Re: Табличка RGB(λ).
« Ответ #90 : 27 Окт 2009 [02:45:39] »
Во время расчёта RGB(λ) цвет в пространстве CIE XYZ(λ) получается точным.  Доктор не отличит.  :)

Приближение требуется на этапе, когда я перевожу XYZ в RGB.  Если приёмник (зеркалка, CCD) выдаёт результат сразу в RGB, то этот результат заведомо неточен.  Ведь sRGB не включает чистые спектральные цвета.  Только «замутнённые» белым.

Скажем, спектр в тёмной комнате на RGB-снимке будет приближённым.  Тот же спектр, снятый на ярком солнцепёке, уже ляжет в RGB.  Потому, в частности, так и важен баланс белого.  Каким цветом спектр «разбавлять», чтобы не окрасить.

Монитор же способен отобразить все цвета, которые даны в 8-битном RGB (скажем, сняты зеркалкой).  Конечно, если этот монитор откалиброван под использованный стандарт (sRGB).  Вот напечатать этот RGB-снимок уже шаманство.  Конечно, если RAW-конвертор сразу пересчитает сырые данные сенсора в CMY (минуя промежуточный этап sRGB), проблемы уже будут не у принтера, а начнутся у монитора.

В идеале, конечно, экспериментальный цвет звезды нужно рассчитывать по RAW-файлу.  Но это требует интимного знания большого числа сенсоров.  На нашем этапе развития цвет CIE x,y восстанавливается по измеренному значению RGB и точному значению установленного ББ.  Если же поднапрячься, можно получить с RGB-снимка полные CIE XYZ и вычислять не только цвет, но и звёздную величину непересвеченных звёзд и фрагментов туманностей.  ;)

Думаю, что европейцы так и обрабатывали данные Hipparcos'а.
« Последнее редактирование: 27 Окт 2009 [02:58:51] от ath »
HEQ5 Pro; EOS 60Da; бинокли Canon 15×50 IS, Celestron 7×50

anovikov

  • Гость
Re: Табличка RGB(λ).
« Ответ #91 : 27 Окт 2009 [03:12:04] »
Вообще, вроде бы нет такой таблички. Субъективно это, зависит от восприятия человеческим глазом. Т.е. нет функции которая рисовала бы в RGB радугу "единственно правильным способом" (хотя хороших приближений много).

Оффлайн athАвтор темы

  • *****
  • Сообщений: 1 212
  • Благодарностей: 11
  • Любитель компьютеров, иногда смотрю в телескоп
    • Сообщения от ath
Re: Табличка RGB(λ).
« Ответ #92 : 27 Окт 2009 [06:39:43] »
Вообще, вроде бы нет такой таблички.
Она опубликована в первом сообщении темы.

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

Фотографируешь украинскую девушку, а каждый второй видит то негритянку, то китаянку, то краснокожую подругу индейца Острый Глаз.  :D  К счастью, сейчас цветность ограничивают возможности мониторов, а не разница в человеческом восприятии.  Проблемы лишь у дальтоников, но даже у них не из-за RGB-кодирования.

Цвет сейчас это довольно точная наука, хотя и мало где преподаваемая в России.

Т.е. нет функции которая рисовала бы в RGB радугу "единственно правильным способом" (хотя хороших приближений много).
Да, хороших приближений много.  Предлагаемые цвета радуги представляют из себя наилучшее известное приближение, на данном этапе развития технологий.  При переходе на DeepColor табличку придётся менять.

Правда, значения также зависят от баланса белого, выставленного на sRGB-мониторе.  Сейчас табличка рассчитана на ББ D65, рекомендованного стандартом sRGB.
HEQ5 Pro; EOS 60Da; бинокли Canon 15×50 IS, Celestron 7×50

tlgleonid

  • Гость
Re: Табличка RGB(λ).
« Ответ #93 : 27 Окт 2009 [10:14:59] »
Обычно у ПЗС и КМОП сенсоров есть обвязка.  Которая, в конечном итоге, с помощью нелинейных преобразований приводит кривые чувствительности к стандарту.  Скажем, к sRGB или Adobe Wide Gamut.  Эти кривые для ПЗС уже учтены RAW-конверторами и играют роль лишь в том случае, если мы хотим измерять не RGB в TIFF'е, а возиться с ч/б данными из RAW, ещё до дебайеризации.
Вот на этом этапе и возникает неисправимая ошибка. По сути кривая чуствительности каждого канала является произведением чуствительности пиксела на кривую прпускания фильтра (красного, синего или зеленого). Однако говорить о получении соответсвия можно только в том случае, если эти кривые будут совпадать с таковыми для кривых чуствительности колбочек. В реальности это далеко не так. В общем случае не может существовать каких-либо универсальных преобразований, с помощью которых мы может преобразовать значения пикселов в соответсвующие для глаза. По этому обычно для решения этой задачи вводят дополнительное условие, что спектр излучения близок к спектру абсолютно черного тела. Даже для разных земных объектов это не всегда так. Когда же мы имеем дело со звездами, ситуация намного усложняется. У звезд действительно излучение близко к излучению АЧТ. Но спектр отягошен звездными атмосферами и во многих случаях имеет очень сложную кривую: например, такую:
http://otobs.sakura.ne.jp/FBO/ez_cma.gif
или такую
http://otobs.sakura.ne.jp/FBO/V771_Mon.gif
(Вообще, здесь уйма разных спектров: http://otobs.sakura.ne.jp/FBO/ )
И цвет звезды оказывается не то, что не восстановим, но даже на разных камерах будет совершенно разным.
Например, желтоватая и бело-голубая звезда на камере могут дать один и тот же цвет и наоборот, две оранжевых звезды для глаза окажутся красной и желтой для камеры.
По этому значительное число звезд можно отнести к какому-то спектральному классу только после исследования его спектра.

Оффлайн athАвтор темы

  • *****
  • Сообщений: 1 212
  • Благодарностей: 11
  • Любитель компьютеров, иногда смотрю в телескоп
    • Сообщения от ath
Re: Табличка RGB(λ).
« Ответ #94 : 28 Окт 2009 [00:07:04] »
По сути кривая чуствительности каждого канала является произведением чуствительности пиксела на кривую прпускания фильтра (красного, синего или зеленого).
Не пикселя, а сенселя — элемента сенсора.  До пискелей нам ещё идти и идти, их кривыми чувствительности занимается монитор.

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

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

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

Они существуют для всех цветов, входящих в цветовое пространство sRGB.  Если цвет CIE x,y попадает в гамут, точность цвета определяется исключительно дискретностью значения RGB-каналов, то есть пресловутыми 8 битами.

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

Это не так.  Вы видели цвета чёрного тела?  Это одномерная шкала, различные оттенки белого цвета.  Такой скудной гаммой ничего толком не закодируешь.  Ни шишки в траве, ни девушку с помадой, ни Луну в Плеядах.  Температура абсолютного чёрного тела используется исключительно для задания баланса белого!  Да и то стандарт рекомендует осветитель D65, спектр которого приближен к дневному свету, а не чёрному телу.

Этот D65, кстати, будет кодироваться в sRGB, как белый #FFFFFF.  Вот вам и пример цвета, который не соответствует абсолютно чёрному.  И таких «не чёрных» цветов в sRGB, кстати, большинство.  Программа spectrend.c исходно выводила на экран небольшое число RGB-значений, соответствующих разным температурам чёрного тела.

И цвет звезды оказывается не то, что не восстановим, но даже на разных камерах будет совершенно разным.

Если камеры удовлетворяют стандарту sRGB, то RGB-цвет на выходе должен быть одинаков.  Конечно, для одинаково установленного баланса белого.  Если он установлен в D65, то синяя кофта всегда будет синей кофтой.  А красный фонарь будет красным фонарём.  Причём цветовые оттенки фотоаппараты тоже передают довольно точно.  Иначе, скажем, сфотографированная картина Ильи Глазунова превращалась бы в угадайку.

Кривые чувствительности сенсоров, разумеется, у разных матриц разные.  Но это интимное дело RAW-конвертора, который должен на выходе давать стандартные значения в sRGB.  От этих кривых зависит разве что точность передачи цвета, но не сам цвет.

Сенсор фиксирует цвет и яркость падающего света, но не его спектр.  Дальше вся обработка производится с определённым цветом.  При этом о спектре источника никаких предположений не делается.  Ни RAW-конветор, ни монитор, не делают предположения о спектре отображаемого цвета.  Они всего лишь честно стараются соответствовать стандарту sRGB, выравнивая на необходимый цвет особенности своих сенселей и пикселей.

Одинаковый цвет имеют источники с разным спектром.  Но это никого не волнует.  Ни человеческий глаз, ни монитор, ни RAW-конвертор.  Всем важен лишь цвет и яркость, то есть координаты CIE XYZ.
HEQ5 Pro; EOS 60Da; бинокли Canon 15×50 IS, Celestron 7×50

Оффлайн athАвтор темы

  • *****
  • Сообщений: 1 212
  • Благодарностей: 11
  • Любитель компьютеров, иногда смотрю в телескоп
    • Сообщения от ath
Re: Табличка RGB(λ).
« Ответ #95 : 28 Окт 2009 [00:18:04] »
Кстати, цвета звёзд (не спектры!) оказываются довольно близки к цветам абсолютно чёрного тела.  Разброс по шкале CIE x y есть, но он на проценты, а не в разы.

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

Конечно, спектр от монитора будет иной, чем спектр звезды.  Но визуально колбочки глаза различий не заметят.
HEQ5 Pro; EOS 60Da; бинокли Canon 15×50 IS, Celestron 7×50

tlgleonid

  • Гость
Re: Табличка RGB(λ).
« Ответ #96 : 28 Окт 2009 [14:30:54] »
Вы меня не поняли. В общем случае никакой баланс белого положение не спасет. Проиллюстирую это простеньким примером.
Пусть у на есть глаз и ПЗС матрица. Примем, что у матрицы фильтры на синем и зеленом канале точь в точь, как и у глаза, а в красном канале - на длинноволновом концк сначала легкий ппровел по отношению кривой для глаза, а потом более пологий хвост, там где чуствительно глаза нудевая (красная кривая на верхнем графике).
Теперь пусть у нас есть два объекта "А" и "В". Спектр "А" состоит из одной линии, а спектр "В" из двух линий, одна из которых такая же, как и у "А", а вторая в 1000 раз выше, чем первая, но в длинноволновой области.
Теперь определим цвет для глаза двух объектов. Ясно, что он будет одинаков. (2, 120, 70).
А вот для камеры цвет первого объекта будет таким же, а для второго объекта он окажется (2, 120, 255)
Никаким преобразованием невозможно привести цвета, полученные глазом к цветам камеры. Справедливо и обратное.
Именно это справедливо для звезд, в атмосферах которых часто встречаются яркие эмиссионные линии и темные линии поглощения.
То, что фотография в быту кое-как справляется со совими задачами связана с плавностью спектров земных объектов. Конечно, и пленку и цифровые приемники пытаются привести в максимальное соответсвие по чуствительности к человеческому глазу, однако на лицо до сих пор сущесвующий разрыв.
Кстати, спектр дневного света также является спектром, близким к спектру абсолютно черного тела

Оффлайн Павел Бахтинов

  • *****
  • Сообщений: 2 499
  • Благодарностей: 110
    • Сообщения от Павел Бахтинов
    • Искусство астрофотографии
Re: Табличка RGB(λ).
« Ответ #97 : 28 Окт 2009 [18:23:09] »
Обычно у ПЗС и КМОП сенсоров есть обвязка.  Которая, в конечном итоге, с помощью нелинейных преобразований приводит кривые чувствительности к стандарту.  Скажем, к sRGB или Adobe Wide Gamut.  Эти кривые для ПЗС уже учтены RAW-конверторами и играют роль лишь в том случае, если мы хотим измерять не RGB в TIFF'е, а возиться с ч/б данными из RAW, ещё до дебайеризации.
RAW-конвертор (или обвязка сенселя) должен знать всё и о самом сенселе, и об используемом фильтре.  На выходе же RAW-конвертора получаются значения каналов с гамма-кривой стандарта sRGB.
Кривые чувствительности сенсоров, разумеется, у разных матриц разные.  Но это интимное дело RAW-конвертора, который должен на выходе давать стандартные значения в sRGB.

К сожалению (или к счастью ;) ) рассуждения о RAW-конверторах имеют для нас лишь познавательное, но не практическое значение.
В астрофотографии не используются "стандартные" RAW-конверторы, поскольку для предварительной обработки (калибровки) астроизображений требуются непременно линейные данные, для извлечения которых из RAW-файлов применяется исключительно специализированный астрософт (Максим, Ирис и т.п.). Калибровка делается, разумеется, до дебайеризации.

Я уже не говорю о том, что вряд ли хоть один стандартный RAW-конвертор что нибудь "знает" о замененных ИК-блокирующих фильтрах в фотоаппаратах астрофотографов ;D

Оффлайн athАвтор темы

  • *****
  • Сообщений: 1 212
  • Благодарностей: 11
  • Любитель компьютеров, иногда смотрю в телескоп
    • Сообщения от ath
Re: Табличка RGB(λ).
« Ответ #98 : 28 Окт 2009 [23:19:57] »
К сожалению (или к счастью ;) ) рассуждения о RAW-конверторах имеют для нас лишь познавательное, но не практическое значение.
В астрофотографии не используются "стандартные" RAW-конверторы, поскольку
Правильный RAW-конвертор (будь он на борту камеры или встроенный в Ирис/Максим) должен знать и учитывать гамма-кривые CR2 и sRGB.

Скорее всего, астрософт эти кривые знает и учитывает.  В крайнем случае можно скормить ему обычную фотку и посмотреть, превращаются ли RAW-девушки в RGB-негритянок, а лягушки в известное французское блюдо.  :)

для предварительной обработки (калибровки) астроизображений требуются непременно линейные данные, для извлечения которых из RAW-файлов применяется исключительно специализированный астрософт (Максим, Ирис и т.п.). Калибровка делается, разумеется, до дебайеризации.

Согласен с тем, что для калибровки и сложения данные должны кодироваться линейно.  А это означает, что астрософт (UFRaw?) должен уметь преобразовывать RAW-данные в линейные.  Иначе это всё не наука и инженерия, а профанация и шаманство.

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

Я уже не говорю о том, что вряд ли хоть один стандартный RAW-конвертор что нибудь "знает" о замененных ИК-блокирующих фильтрах в фотоаппаратах астрофотографов ;D

Стандартные не знают, 100%.  Именно поэтому снятые ими сцены напоминают техасскую резню бензопилой.  Если RAW-конвертор будет знать кривую чувствительности сенселей, все цвета будут в стандартном sRGB и естественно отражаться монитором.

А вот программист астрософта про замену/выбрасывание ИК-фильтров знать должен.  И это точно также проверяемо, скармливанием земных RAW-ов.

Если есть подозрения, что RAW-конверторы написаны небрежно, для получения точных цветов звёзд надо использовать немодифицированную зеркалку и конвертор из DPP (или, для параноиков, вообще встроенные JPEG'и).
HEQ5 Pro; EOS 60Da; бинокли Canon 15×50 IS, Celestron 7×50

Оффлайн athАвтор темы

  • *****
  • Сообщений: 1 212
  • Благодарностей: 11
  • Любитель компьютеров, иногда смотрю в телескоп
    • Сообщения от ath
Re: Табличка RGB(λ).
« Ответ #99 : 28 Окт 2009 [23:26:59] »
Вы меня не поняли. В общем случае никакой баланс белого положение не спасет. Проиллюстирую это простеньким примером.
Пусть у на есть глаз и ПЗС матрица.

Действительно, не понял.  Я говорил про ЦЗК.  Они (1) специально сконструированы, чтобы передавать sRGB цвета, воспринимаемые глазом.  А также (2) для них не приходится самостоятельно выполнять конвертирование из RAW в sRGB.

Теперь определим цвет для глаза двух объектов. Ясно, что он будет одинаков. (2, 120, 70).
А вот для камеры цвет первого объекта будет таким же, а для второго объекта он окажется (2, 120, 255)
Никаким преобразованием невозможно привести цвета, полученные глазом к цветам камеры.

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

Зеркалки вполне проверены, чтобы на самых различных спектрах давать картинку, соответствующую тому, что видит глаз.  Фотографы ведь снимают не только отражённый свет, но и ёлочные гирлянды, ночной город, неоновую рекламу, кучу всего светящегося.
HEQ5 Pro; EOS 60Da; бинокли Canon 15×50 IS, Celestron 7×50