MacroClub.Ru
https://macroclub.ru:443/club/

Снижение контрастов в тенях
https://macroclub.ru:443/club/viewtopic.php?f=4&t=3972
Страница 1 из 2

Автор:  Dima DD [ Чт май 20, 2010 6:34 pm ]
Заголовок сообщения:  Снижение контрастов в тенях

Такая, м.б. несколько странная тема...

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

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

Автор:  Sergei [ Чт май 20, 2010 6:49 pm ]
Заголовок сообщения:  Re: Снижение контрастов в тенях

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

Автор:  Sergei [ Чт май 20, 2010 6:50 pm ]
Заголовок сообщения:  Re: Снижение контрастов в тенях

Ещё ухудшение контраста в тенях и светах может вызвать усиление контраста в средних тонах за счет применения S-образной кривой при конвертировании сырых данных в файл изображения.

Автор:  Dima DD [ Чт май 20, 2010 8:09 pm ]
Заголовок сообщения:  Re: Снижение контрастов в тенях

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

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

Или гамма-функция тут "из другой оперы"?

Про влияние рассеянного света в оптической системе тоже думал, но... Почему, тогда, этот паразитный свет не виден, не засвечивает изображения совсем тёмных участков, которые реально чёрными получаются? И ореолов никаких вокруг светлых объектов... :roll: Ну и, что важно - падение контраста конформно, соответствует форме тени.

Автор:  alar73 [ Чт май 20, 2010 8:40 pm ]
Заголовок сообщения:  Re: Снижение контрастов в тенях

Если в комнате зашторенной выключить свет, то контрастность деталей вообще будет =0.

Контрастность это вроде диапазон яркостей.

Автор:  Ковалевич А. [ Чт май 20, 2010 9:34 pm ]
Заголовок сообщения:  Re: Снижение контрастов в тенях

Всё дело в абсолютном значении яркостей объектов!
Возьмём ту же шахматную доску. Допустим, что белые клетки отражают 80% света, а чёрные - 10%. При освещённости в 10000 люкс белые отразят 8000, а чёрные - 1000 т.е. разница в их освещённости 7000 люкс. В тени при освещённости 1000 люкс белые отразят 800, а чёрные - 100. Разница - 700 люкс. Теперь догадайтесь в каком случае объект будет выглядеть контрастнее :roll: . Особенно если эти оба варианта присутствуют в одном кадре!
Если попробовать пересчитать этот пример в единицы динамического диапазона, думаю, что эта разница станет огромной. В первом случае она будет на пределе возможностей светорегистратора (матрицы), а во втором окажется ближе к возможности хоть как-то различить эти тона.
P.S. Намудрил много хоть и ничерта в этом не смыслю :oops: . Просто я так думаю, а ошибки в цифрах и терминах уж простите.

Автор:  Dima DD [ Чт май 20, 2010 9:59 pm ]
Заголовок сообщения:  Re: Снижение контрастов в тенях

Ковалевич А. писал(а):
Всё дело в абсолютном значении яркостей объектов!
Возьмём ту же шахматную доску. Допустим, что белые клетки отражают 80% света, а чёрные - 10%. При освещённости в 10000 люкс белые отразят 8000, а чёрные - 1000 т.е. разница в их освещённости 7000 люкс. В тени при освещённости 1000 люкс белые отразят 800, а чёрные - 100. Разница - 700 люкс. Теперь догадайтесь в каком случае объект будет выглядеть контрастнее :roll: .
Да, Саша, и точно - надо таким вот простым образом считать, тогда всё встаёт на свои законные места (т.е. что контраст должен линейно зависеть от освещённости). Спасибо! :)

Автор:  Sergei [ Чт май 20, 2010 11:43 pm ]
Заголовок сообщения:  Re: Снижение контрастов в тенях

Ну, так просто не получится, потому что наше зрение тоже нелинейно всё воспринимает. Точный закон не помню, кажется, у Шадрина где-то это описано. Но если не лезть в предельно слабые и предельно большие яркости, то отклик нашего глаза примерно логарифмический. То есть разность яркостей (воспринимаемая) зависит от того, во сколько раз отличаются яркости, а не на сколько люкс.
Если представить, что регистрирующая система идеальна (нет рассеяния в оптике, у сенсора нет темнового тока, регистрация линейная,...), то он всё это так и зарегистрирует: на освещенной ярче части шахматной доски отношение яркостей белых и черных клеток будет такое же, как и на менее освещенной. Но это только сырые данные. Чтобы получить из якости RGB значения для пространства AdobeRGB, нужно вычислить что-то типа R=255*(I/Imax)^(1/2.2)
В sRGB - сложнее, там из 2х кусков кривая. При этом информация о контрасте сохраняется, просто надо правильно считать, с учетом той нелинейности.
Если речь идет о конвертерах сырых данных фотокамер, то они помимо этого добавляют еще S-образную кривую, которая увеличивает контраст в средних тонах за счет его падения в светах и тенях. На эту кривую стандартов нет, поэтому после неё уже не померяешь яркость. Отменять эту кривую я умею только в Capture One, там есть такая опция.
Как оно там в электронных микроскопах - не знаю. Какую-то нелинейную кривую они применять должны по-любому, иначе изображения будут плохо восприниматься. В радиолокационных изображениях обычно сигнал преобразуется в децибелы (логарифмическая шкала), а затем диапазон от X дБ до Y дБ равномерно масштабируется на интервал от 0 до 255. Хотя я для тех же целей несколько раз использовал кривую а-ля AdobeRGB - в некоторых случаях мне так больше нравится.
Опять же, возможно, у микроскопов есть какие-то свои специфические особенности, которые снижают контраст в тенях, например, у нас в РЛС-изображениях это боковые лепестки от ярких отражателей или шум приёмника.
В фотоаппаратах такими фактороми являются темновой ток и шумы.

Автор:  Dima DD [ Пт май 21, 2010 3:41 am ]
Заголовок сообщения:  Re: Снижение контрастов в тенях

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

Автор:  Sergei [ Пт май 21, 2010 12:59 pm ]
Заголовок сообщения:  Re: Снижение контрастов в тенях

Dima DD писал(а):
В итоге, ежели мне надо скомпенсировать какую-то неправильную размытую тень на "пятнастой" поверхности вроде шахматной доски, то надо к яркостям затенённых светлых и тёмных участков прибавлять разные величины - а именно такие, чтобы сохранялось отношение между их яркостями.

По сути, для компенсации тени нужно все затенённые значения домножать на одно и то же число. При условии, конечно, что это линейные значения, чего на практике почти не бывает. :)

Автор:  Dima DD [ Пт май 21, 2010 8:50 pm ]
Заголовок сообщения:  Re: Снижение контрастов в тенях

Sergei писал(а):
Dima DD писал(а):
В итоге, ежели мне надо скомпенсировать какую-то неправильную размытую тень на "пятнастой" поверхности вроде шахматной доски, то надо к яркостям затенённых светлых и тёмных участков прибавлять разные величины - а именно такие, чтобы сохранялось отношение между их яркостями.

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

Автор:  Dima DD [ Чт окт 13, 2011 2:41 am ]
Заголовок сообщения:  Re: Снижение контрастов в тенях

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

Автор:  Edwardguz [ Чт окт 13, 2011 12:20 pm ]
Заголовок сообщения:  Re: Снижение контрастов в тенях

Раз уж тут так часто вспоминают шахматную доску...
Вы забываете еще и о таком вот факторе, как восприятие:
Вложение:
Иллюзия.jpg
Это достаточно известный пример иллюзии: квадраты А и В имеют одинаковый цвет (проверьте пипеткой RGB:120,120,120)
Так что не верь глазам своим!

Автор:  Дмитрий Павленков [ Чт окт 13, 2011 12:39 pm ]
Заголовок сообщения:  Re: Снижение контрастов в тенях

Edwardguz писал(а):
Раз уж тут так часто вспоминают шахматную доску...
Вы забываете еще и о таком вот факторе, как восприятие:
Вложение:
Иллюзия.jpg
Это достаточно известный пример иллюзии: квадраты А и В имеют одинаковый цвет (проверьте пипеткой RGB:120,120,120)
Так что не верь глазам своим!

Действительно! Фантастика! 8)

Автор:  Lucky Angel [ Чт окт 13, 2011 1:40 pm ]
Заголовок сообщения:  Re: Снижение контрастов в тенях

Dima DD писал(а):
Такая, м.б. несколько странная тема...
Вопрос состоит в том, какова природа этого падения контраста в тенях, почему так получается?А пытаясь разобраться самостоятельно, что-то совсем запутался (может, тут что-то очень простое, но как-то пока недокумекал).

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

Страница 1 из 2 Часовой пояс: UTC + 4 часа [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/