Полная версия страницы  English  

RGB и спектральный состав

Kostia, 07.10.2010 21:11
Дорогие коллеги,
Возникла вот какая проблема:
Имеются цветные изображения флуоресцирующих объектов (возбуждение 488 нм, флуоресценция в диапазоне 500 - 600 нм).
Требуется сравнить спектры изображений. Ожидается, что у одних изображений спектр смещен в синюю, а у других в красную область.
Вопрос: Возможно ли, несмотря на то, что изображение RGB, оценить каким-то образом спектральный состав?

Вопрос 2. В фотографии используется отношение интенсивностей R/B и R/G, с помощью этих отношений измеряют цветовую температуру, которая отражает спектральный состав света. Можно-ли с помощью какой-либо программы извлечь такие значения из изображения.

С надеждой,
Костя
guest: ммм , 08.10.2010 14:30
--Вопрос: Возможно ли, несмотря на то, что изображение RGB, оценить каким-то образом спектральный состав?

Нет. И дело не в RGB. Дело в спектральных характеристиках сенсора, фиксирующего изображение. Сенсор режет спектр грубо с шириной полосы нанометров по 50-100

--Вопрос 2. В фотографии используется отношение интенсивностей R/B и R/G, с помощью этих отношений измеряют цветовую температуру, которая отражает спектральный состав света. Можно-ли с помощью какой-либо программы извлечь такие значения из изображения.

Да! Можно imageJ, но вам это скорее всего не поможет, если сдвиг меньше чем 30нм
ksm, 08.10.2010 22:57
странно. если сенсор "режет спектр грубо...", то в таком случае на фотографии различимы будут лишь от 4 до 8 цветов, а это сомнительно.

если стоит вопрос измерения отношений интенсивностей rb, rg, то грубо данные величины можно легко узнать в фотошопе, используя среднее значение интенсивностей каждого канала в отдельности во вкладке "гистограмма"
guest: ммм , 09.10.2010 12:34
--странно. если сенсор "режет спектр грубо...", то в таком случае на фотографии различимы будут лишь от 4 до 8 цветов, а это сомнительно.

Нет, не 4-8 цветов, а гораздо больше. Цвет это не спектр. Цвет(в RGB) определяется сочетанием интенсивностей всего лишь трех(четырех CMYK) компонентов, а их сочетаний(интенсивностей может быть теоретически бесконечно много). Теоретически один и тот же цвет можно представить суперпозицией бесконечного числа спектров.Бывают проблемы с некоторыми цветами у цифровых камер. Некоторые красители для ткани могут иметь весьма узкий спектр отражения(на границе камерных фильтров) и камера его определяет практически, как один из трех или четырех цветов, а глаз в своем анализаторе, как смесь. В результате глаз видит сиреневое или фиолетовое, а камера голубое или морскую волну.
Kostia, 10.10.2010 15:17
(guest: ммм @ 08.10.2010 12:30)
Ссылка на исходное сообщение  --
Дело в спектральных характеристиках сенсора, фиксирующего изображение. Сенсор режет спектр грубо с шириной полосы нанометров по 50-100


Посылаю спектральную характеристику CCD матрицы ICX285AQ (Sony). Объясните мне, пожалуйста, на каком этапе передачи сигнала в сенсоре происходит "разрезание на полосы".

С уважением,
Костя


Картинки:
картинка: CCD_spectr.jpg
CCD_spectr.jpg — (72.3)   

Kostia, 10.10.2010 15:24
(guest: ммм @ 09.10.2010 10:34)
Ссылка на исходное сообщение  --странно. если сенсор "режет спектр грубо...", то в таком случае на фотографии различимы будут лишь от 4 до 8 цветов, а это сомнительно.

Нет, не 4-8 цветов, а гораздо больше. Цвет это не спектр. Цвет(в RGB) определяется сочетанием интенсивностей всего лишь трех(четырех CMYK) компонентов, а их сочетаний(интенсивностей может быть теоретически бесконечно много). Теоретически один и тот же цвет можно представить суперпозицией бесконечного числа спектров.Бывают проблемы с некоторыми цветами у цифровых камер. Некоторые красители для ткани могут иметь весьма узкий спектр отражения(на границе камерных фильтров) и камера его определяет практически, как один из трех или четырех цветов, а глаз в своем анализаторе, как смесь. В результате глаз видит сиреневое или фиолетовое, а камера голубое или морскую волну.


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

C уважением,
Костя
ksm, 10.10.2010 15:35
технически - на этапе детекции - спектр как раз и режется на три компоненты. видно, что они вполне хорошо перекрываются и незначительных потерь информации о цвете (исходном спектре) можно ожидать лишь в сине-зеленой (500 нм) и в желтой (570 нм) областях спектра.
в ходе обработки цвета вновь восстанавливаются близко к оригинальным, при этом также информация о спектрах отражения фотографируемого объекта никуда не девается и вполне соответствует тому, что вы видите глазами (при корректной цветопередаче мониторов, фотопечати прочих этапах обработки). следовательно и интересующие вас цветовые сдвиги с приличной точностью можно оценить по фотографиям (при условии 24-битных ихображений)
Guest, 10.10.2010 23:39
Вот картинка при таком сдвиге в синей области спектра камера практически не заметит изменений.
guest: ммм , 10.10.2010 23:52
-Вот картинка при таком сдвиге в синей области спектра камера практически не заметит изменений.

user posted image
ksm, 11.10.2010 09:44
заметит. фотоны 1-го пика будут попадать преимущественно на фотодиоды "B"; второго - на "В" и "G". следовательно цвета на вид могут не сильно различаться, но цифровые их значения разойдутся
Nastja, 11.10.2010 11:26
ksm, я думаю что гость хотел сказать, что соотношения В и G практически не будут отличаться. Да, значения будут разные, но это будет разная яркость, а не разный цвет.
ksm, 11.10.2010 11:35
я в принципе ставлю под сомнение корректность изображения спектров отражения, излучения или чего бы там ни было на графиках спектральной характеристики матрицы; а пример гостя неудачен, поскольку различия будут. но, есть ощущение, что излучение, характеризующееся такими спектрами, как изобразил гость в принципе очень слабо по интенсивности и не отражает ситуации, когда изучается флуоресценция окрашенных тканей
ksm, 11.10.2010 11:37
в области 500-600 нм, о которой шла речь в начале проблем с разрешением цветов скорее всего не возникнет
guest: ммм , 11.10.2010 11:53
Критерий истины практика, вы попробуйте, а потом рассуждайте.
Я между прочим не отговаривал человека пользоваться. Я просто предупредил: "скорее всего ничего не получится". Просто чтоб человек не парился и не думал что он такой тупой, а у всех остальных все хорошо. Здесь проблема в ограничениях самого инструмента. Если не получится, то вовсе не из-за кривых рук.

По поводу интенсивности в приведенном примере плевать какая интенсивностьесли она будет выше различия заметить будет еще сложнее. Вы не забывайте о том что сигнал со всей полосы обрезаемой кривой Blue превращается в одну интегральную цифру от 0 до 2Е256.
guest: ммм , 11.10.2010 12:00
Тьфу черт по путал от 0 до 256 или от 0 до 65500 в зависимости от АЦП и формата записи имиджа.
Guest, 11.10.2010 12:07
да я не против, что практика! просто плохо, когда вместо нормального объяснения человек, задавший вопрос получает ответ не строго обоснованный, а основанный на всяких "интегральных цифрах", существующих лишь в сознании отвечающего, который данными цифрами пытается придать научности своему ответу
Guest, 11.10.2010 12:07
ksm
guest: ммм , 11.10.2010 13:03
-- ответ не строго обоснованный, а основанный на всяких "интегральных цифрах", существующих лишь в сознании отвечающего, который данными цифрами пытается придать научности своему ответу

Вы меня не понимаете. Вы представляете как работает матрица или нет?
Матрица состоит из абсолютно идентичных сенсорных ячеек. Спектральная характеристика у каждой ячейки появляется за счет цветного фильтра стоящего пред ячейкой. Спектральные характеристики пропускания этого фильтра вы и видите на спектральной характеристике сенсора. А это означает, что любой пик в области ограниченной кривой Blue ,будет поглощен с неким КПД(см характеристику, фактически это будет интеграл от пика умноженный на КПД, вот что имелось ввиду под словами интегральный сигнал) и преобразуются в некий электронный сигнал и воспроизведен он будет на картинке неким уровнем свечения синего источника и записан он будет ОДНОЙ цифрой - это как раз важно. Это ОДНА цифра как вы понимаете(или не понимаете) может быть получена бесконечным числом пиков разной формы(как одну и ту же площадь можно описать бесконечным числом контуров) с разными максимумами внутри колокола кривой Blue. Отсюда вывод по этой цифре практически невозможно отличить один спектр от другого. Вы можете найти подынтегральную функцию, зная первообразную, но никогда не сможете найти подинтегральную функцию, имея в своем распоряжении лишь ОДНО численное значение интеграла на промежутке.

Что касается вашего замечания то я вам замечу что оно хорошо работало бы в идеальных условиях. А именно 1) пики представляют из себя функцию Дирака, 2)при работе АЦП сохраняется вся информация.

На самом деле это не так как вы видите даже на моем убогом примере зеленый сигнал будет получен от обоих пиков при чем разный(вопрос насколько) и синий тоже по идее разный(опять насколько). Но при преобразовании в АЦП эта разность может быть сожрана ступеньками преобразования, те эта разность может оказаться недостаточно большой, что бы попасть с одной ступеньки цифрового преобразования на другую (При чем это еще очень сильно зависеть от уровня сигнала - слишком слабые и слишком сильные будут разрешаться плохо, а те которые будут попадать в середину характеристической кривой - лучше всего.

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

Таким образом то, что я сказал в самом начале и основано на этих соображениях: "скорее всего не поможет, если сдвиг меньше чем 30нм"
Guest, 11.10.2010 13:31
вы отошли от темы. и забыли, что каждой светящейся точке приписывается не 1 Blue-значение, а 3: red, green и blue. каждое от 0 до 255. таким образом можно получить 256^3 цветовых оттенков и их цифровых аналогов. интенсивность по каждой компоненте выравнивается в соответствии с цветовым профилем, содержащем информацию о соотношении истинного сигнала и его цифрового значения.
все это позволяет решить задачу об отношениях, указанных в первом топике с достаточной точностью.
рассуждения о функциях Дирака возможно и верны, но избыточны. сигналы будут поступать не на одну "ячейку", а на их множество, следовательно, будут усредняться в достаточной степени, приближаясь к истинным их значениям, при хорошем уровне флуоресценции.
Guest, 11.10.2010 13:32
ksm
guest: ммм , 11.10.2010 13:44
--вы отошли от темы. и забыли, что каждой светящейся точке приписывается не 1 Blue-значение, а 3: red, green и blue. каждое от 0 до 255. таким образом можно получить 256^3 цветовых оттенков и их цифровых аналогов.

Не-а я отлично это помню и никогда не забываю.

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

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

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

Для того что бы вам было понятно. Задам вам вопрос!
1)Зачем используют интерференционные фильтры.
2)И почему не используют фильтры для снятия спектров, а используют монохроматоры. Ведь по вашим представлениям, что бы получить спектр достаточно считать три сигнала: сигнал через красный, синий и зеленый фильтр.
Guest, 11.10.2010 14:40
а я и не предлагал снимать спектры по фотографиям, это раз.
два: тем не менее это можно сделать, если учесть, что спектр (например отражения) есть функция распределения фотонов разных энергий (цветов). пусть их в природе бесконечное множество, а на фотографии всего лишь порядка миллиона, но, мне эта цифра кажется вполне достаточной для того, чтобы можно было оценивать спектральный состав.
и на мой взгляд можно вполне оценить сдвиг спектра (однотипного, как сдвиг флуоресценции) на величину вплоть до 10-20 нм.

касательно вопросов:
1) интерференционный фильтр в отличие от обычного пропускает лишь те фотоны, длина волны которых пропорциональна определенной величине, что позволяет сузить полосу пропускания до нескольких нм. для чего использовать такой фильтр - решайте сами.
2) потому что проще построить систему из призмы или интерференционной решетки, но, я вас уверяю, если вы мне дадите интерференционные фильтры, перекрывающие весть видимый спектр, я с помощью них специально для вас сниму любой спектр по вашему желанию в видимом диапазоне. также можно будет обнаружить спектральный сдвиг с точность до нескольких нм.
guest: ммм , 11.10.2010 16:39
--если вы мне дадите интерференционные фильтры, перекрывающие весть видимый спектр, я с помощью них специально для вас сниму любой спектр по вашему желанию в видимом диапазоне. также можно будет обнаружить спектральный сдвиг с точность до нескольких нм.

Интерференционными и я сниму меня даже в этом уверять не надо. Речь идет о широкополосных фильтрах таких как на матрице (см. картинку выше).

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

Это я к тому, зачем городить огород если вы так уверенно разрешаете спектры с помощью трех фильтров. Наверное тому есть причины? И интерференционный узкополосный фильтр наверное нужен для того что бы надежна разделять близко отстоящие пики так ведь. А почему бы не использовать ваш метод цветной фильтр в разы дешевле интерференционного.
Guest, 11.10.2010 17:01
вы согласны, что каждому спектральному нм можно приписать свое соотношение RGB?
guest: ммм , 11.10.2010 18:24
--вы согласны, что каждому спектральному нм можно приписать свое соотношение RGB?
Нет конечно не согласен.
ЭЭЭ мне лень рисовать спектры, которые, например, будут в жизни давать два пика(спектр 1) и один пик(спектр 2), а RGB у них будет совершенно идентичен. Но если вы подумаете, я думаю вы поймете, что это совершенно возможная вещь.
guest: ммм , 11.10.2010 18:29
Еще раз повторяю картинок с идентичной RGB может быть бесконечно много при этом их вид может быть разительно отличен. И это следует из простых геометрических соображений о равновеликих фигурах.
ksm, 11.10.2010 19:29
"Нет конечно не согласен."

я говорил не о спектрах, а о том, что каждой длине волны видимого света соответствует точка в пространстве RGB, причем одна! спектр есть функция распределения таких точек.
вон перед вами шкала. двигайтесь слева направо и записывайте значения каждой из линий для каждого нм. вы получите цветовой профиль матрицы, который устанавливает связь длины волны и точки в пространстве RGB (характеризуемым 3мя величинами, о чем, видимо, вы постоянно забываете) данного сенсора (слава богу, все это сделано за вас).

пусть стоит задача оценить сдвиг спектра "а" относительно спектра "б" (это те, которые вы накарябали). спектры накарябаны криво, но, считаем их примерно равными. сигнал от источника а будет попадать чаще на сенсор b (на r и g - редко); а сигнал источника b - на два сенсора: b, g (на b чаще, чем на g, на r - совсем редко). у нас есть таблица перехода от соотношений rgb к нанометрам. и т.д.
точность можно повысить, увеличив к-во измерений.

если вы обратитесь к началу темы, то поймете что требовалось решить именно такую задачу. можно не снимая самих спектров разрешить их максимумы.
guest: ммм , 11.10.2010 19:54
Круг пошел - я выхожу из круга.
Kostia, 11.10.2010 21:12
Дорогие коллеги,
В вашей дискуссии я так и не нашел ответа на вопрос где-же происходит "резка на полосы" по 50 - 100 нм. Как видно из характеристики матрицы, захватывается весь видимый диапазон.
Далее, мне непонятен совет по поводу 30 нм. откуда их взять и куда их приложить? Есть ведь конкретная модель камеры (48 бит).
И наконец, рекомендация посчитать в Фотошопе по RGB каналам "цветность" = pxiels*mean является действительно в каком-то смысле решением, но, что касается рекомендаций по получению спектра я не могу понять с помощью чего это можно сделать. Уточните, пожалуйста.
С уважением,
Костя
Nastja, 11.10.2010 21:14
ksm, то что на фотографии Вы не отличите оранжевый от смеси красного и желтого - это очевидно?
Про цветовой круг Вы слышали? Где в Вашей модели цвета существует яркость?

Kostia: в человеческом глазу у красного рецептора два пика, поэтому восприятие отличается от камеры (поэтому мы думаем, что фиолетовый это красный с синим).
ksm, 11.10.2010 22:27
оранжевый это и есть смесь красного и желтого
чёрный — (0,0,0), белый — (255,255,255). где промежуточные тоже понятно.
кстати цветовое пространство RGB легко трансформируется в пространства, содержащие компоненту яркости, например в Lab
guest: ммм , 12.10.2010 07:15
Константин,внимательно прочтите мое сообщение #18. Весь спектр для сенсора разбит на три отрезка тремя фильтрами red, gryn, blue- это и есть то что понималось под жаргонизмом "грубая резка спектра" полуширина каждого фильтра примерно 100нм.

А камнем преткновения стал вопрос достаточно ли такого фильтра для того чтобы разрешить(зафиксировать по изменению величин сигналов R,G,B) любой сдвиг спектра внутри полосы пропускания фильтра. Я считаю, что сдвиг для этого должен быть достаточно существенным - 20-30нм, а ksm считает, что зафиксировать можно любой сдвиг хоть 0.5нм, хоть 2нм, хоть 10.
ksm, 12.10.2010 09:02
на самом деле, порядка 5-10
Kostia, 12.10.2010 10:33
Дорогие коллеги,
спасибо за ответы, дискуссия была мне крайне полезна. Хотя, конечно, основной вопрос о программной реализации идей старательно обходили. Да это и понятно если бы существовали такие программы стала бы, например, фирма Leica снабжать свои конфокалы специальными устройствами для измерения спектров?
Еще раз спасибо за ответы,
С уважением,
Костя

PS Не хотел писать, но все-таки... уж извините... обращайте внимание на орфографию...
Nastja, 12.10.2010 11:51
Kostia, я бы для такой задачи написала скрипт в GIMP.
guest: ммм , 12.10.2010 13:06
Открытый софт по анализу изображений я вам назвал в первом же своем посте, к нему есть куча скриптов. Это софтина не самая удобная, но зато открытая, а главное куда лучше заточенная на анализ изображений чем фотожоп, который больше заточен на преобразование изображений. А самый простой анализ изменения спектральных характеристик это отслеживание значений R,G,B при спектральных изменениях. Тут будут проблемы с нормированием сигналов разной интенсивности. Но с этим можно поиграться.
Это — лёгкая версия форума. Чтобы попасть на полную, щелкните здесь.
Invision Power Board © 2001-2012 Invision Power Services, Inc.