Как программное обеспечение повышает экспозицию при постобработке?

Кто-нибудь знает какие-нибудь алгоритмы или может математически объяснить, как выполняется яркость (EV) при постобработке? Регулирует ли он уровень яркости/RBG/контрастности для каждого пикселя? Имеет ли это отношение к гистограмме?

Каковы технические особенности компенсации экспозиции для недоэкспонированного изображения при постобработке?

РЕДАКТИРОВАТЬ: В этом вопросе здесь была размещена ссылка. У него есть примеры изменения EV и он движется влево/вправо. В ответе Мэтта Грумма он заявляет, что каждый пиксель «умножается» (что, на мой взгляд, указывает на то, что гистограмма перемещается вверх/вниз).

Кто-нибудь может объяснить, почему это так? (Этот EV меняется слева направо)

Вы хотите ограничить этот вопрос конкретными продуктами Adobe или вас интересуют корректировки экспозиции при постобработке в целом?
Я прочитал это дважды, и я все еще нахожу это довольно запутанным вопросом. Не могли бы вы изменить формулировку, чтобы убрать некоторые из наиболее дискурсивных частей и четко сфокусироваться на вашем основном вопросе?
@mattdm Да, в общем. Итай Кинда не совсем. :) Марк Уитакер Подойдет. (Мне сказали, что я не могу более одного человека)
@Mark Whitaker Я уже прояснил?
@BBking Два последних абзаца необходимы? Они все еще сбивают меня с толку (по крайней мере, при первом чтении). Я думаю, что они спекулируют насчет ответа, но немного не в том направлении.
@Unapiedra Да, принято. Я вынул это. Это основано на «ISO уменьшает шум, а не увеличивает», но это было основано на PP. Но мне все равно интересно, как это сделано в ПП.
Я отредактировал заголовок, чтобы отразить отредактированный вопрос. Но я не уверен, что это действительно правильный подход - я думаю, было бы лучше вернуть все как было, принять ответ Стэна и задать перефразированный вопрос отдельно как новый вопрос (ссылаясь на этот где это имеет смысл).

Ответы (5)

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

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

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

С другой стороны, в камере вы получаете возможность усилить (или ослабить) аналоговый сигнал перед квантованием. Это совсем не помогает с шумом в аналоговой области, но уменьшает шум квантования при заданном уровне яркости .

Допустим, у вас есть аналоговое значение 4,4 whatchamacallits. Если вы снимаете с ISO 100, наша гипотетическая «цифровая» камера преобразует его в цифровое значение ровно 4. Если вы решите увеличить видимую экспозицию в постобработке, вы застрянете, работая с 4, которое усечено. Если вы увеличите ISO в камере (менее чем на полную остановку), это 4,4 будет усилено аналоговой схемой, прежде чем оно будет преобразовано в цифровое, и может привести к цифровому значению на 1 выше, чем вычисление полностью цифровой обработки. Разница в один бит может показаться не такой уж большой, но когда вы начинаете накапливать все ошибки по пути обработки, данный пиксель может быть довольно далек от значений, которые он должен иметь. Вот что такое шум.

(Существует также тот факт, что камера «знает» свои собственные характеристики отклика и может учитывать их при обработке. Lightroom, например, не выполняет вычитание шума сенсора на основе ISO для конкретной камеры. все делают .)

Спасибо, Стэн. Да, на фотографическом изображении есть все виды шума. Поэтому, если вы отрегулируете EV в PP, вы также усилите этот шум. Так же, как ISO усиливает любой шум.
Повышение ISO и EV усиливает шум, но я думаю, что Стэн говорит о том, что увеличение значения ISO в камере лучше, чем увеличение экспозиции при постобработке (поскольку вы, по сути, усиливаете сигнал до того, как шум квантования появится в A/ шаг Д).

Это та формула, которую вы ищете?

RGB[c] = max( RGB[c] * pow(2,EV), RGBmax )

Это в основном означает, что для каждого канала (каждого пикселя) данных RGB умножьте его на 2 ^ EV, а затем обрежьте его до любого максимального значения для ваших данных. Для 8-битного цвета RGBmax будет 255, для 16-битного цвета — 65535 и т. д.

EV здесь является относительным EV, поэтому EV+2.0 умножит (осветлит) каждый пиксель в четыре раза, а EV-2.0 разделит (затемнит) каждый пиксель в четыре раза.

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

Я считаю, что значения RGB уже представляют воспринимаемую яркость, поэтому ваша формула неверна. Это было бы правильно для значений, измеренных датчиком (что близко к линейному, см. ответ Мэтта), но не для уже преобразованных значений RGB. (Попробуйте, что произойдет, если вы примените свою формулу.)
@Szabolcs, я думал, что ОП просил алгоритм для компенсации EV при постобработке, не так ли? Признаюсь, вопрос мне не совсем ясен, но просят математику.
Спасибо за Ваш ответ! У вас есть ссылка на эту формулу, чтобы я мог изучить ее поближе?
@Octopus Да, но я хотел сказать, что ваша формула неверна, если применяется к значениям RBG . Значения RGB вычисляются из необработанных данных датчика путем логарифмирования необработанного значения (наше восприятие приблизительно логарифмично) и последующего линейного масштабирования результата (что соответствует установке точки черного и точки белого). (Плюс некоторые другие вещи, о которых упомянул Мэтт.) Таким образом, ваша формула верна при применении к необработанным значениям пикселей, но неверна для значений RGB. Если вы на самом деле попытаетесь выполнить преобразование изображения на практике, вы поймете, что я имею в виду.
Возьмите необработанный файл, извлеките данные dcrawс помощью -4переключателя, чтобы убедиться, что он не будет выполнять само преобразование журнала, затем попробуйте выполнить базовое необработанное преобразование самостоятельно и примените компенсацию экспозиции во время процесса.
@szabolcs, ты не забыл рассчитать каждый канал отдельно?
@Octopus В данных датчика RAW нет отдельных каналов. То, что вы получаете от сенсора, выглядит как 2-я картинка здесь . В конвертере RAW компенсация экспозиции будет применяться перед демозаикой по формуле, аналогичной вашей. Как я уже сказал, ваша формула просто неверна, если вы применяете ее к значениям RGB. Это правильно только для (линейных) необработанных данных, поступающих от датчика.
@Szabolcs и Octopus: я пришел сюда, чтобы найти способ стандартизировать изображения, сделанные с разной экспозицией и числом f. Согласно тому, что я могу прочитать из ваших комментариев, я должен: 1. Рассчитать EV для каждого изображения (EV=log2(N^2/t) 2. Используя RAW и плавающую арифметику, применить DNstd = DN1*pow(2,EV1/EVref) , где DN1 и EV1 — это DN и EV данного изображения, а EVref — EV конкретного изображения, выбранного в качестве эталона. Верно ли это?

NB вопрос был отредактирован, так как ответ Стэна на это касается того, что фактически является другим вопросом:

Кто-нибудь знает какие-нибудь алгоритмы или может математически объяснить, как выполняется яркость (EV) при постобработке? Регулирует ли он уровень яркости/RBG/контрастности для каждого пикселя? Имеет ли это отношение к гистограмме?

Каковы технические особенности компенсации экспозиции для недоэкспонированного изображения при постобработке?

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

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

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

Ситуация еще более сложная, так как некоторые конвертеры RAW* используют «скрученные» цветовые профили, из-за которых оттенок/насыщенность преобразуются в разные значения в зависимости от интенсивности. Это делается для получения более приятных цветов за счет точности и может повлиять на результаты компенсации экспозиции.

Некоторые преобразователи RAW также предлагают инструменты для восстановления светлых участков и усиления теней. Они вносят локальные корректировки (т. е. учитывают гораздо больше, чем отдельные значения пикселей). Если вы хотите узнать подробности об этих алгоритмах, вам, вероятно, придется подождать и надеяться, что здесь появится разработчик Lightroom.

* когда я говорю «некоторые RAW-конвертеры», я в основном имею в виду Lightroom/ACR, так как я изучал только их, другие продвинутые RAW-конвертеры, вероятно, делают то же самое.

Из того, что вы знаете, можете ли вы продемонстрировать, как умножение значения RGB приводит к увеличению яркости? Например, имеет ли пиксельная структура значения для цвета и яркости? Насколько я знаю, вы можете умножить значение пикселя, чтобы изменить его цвет. Мне нравится S-образная кривая. Я знаю, что спрашиваю конкретно об отдельном пикселе, но я больше понимаю, что касается изображения в целом. Я так понимаю интерполяция тоже присутствует.
Файлы @BBking RAW содержат только значения интенсивности (яркости), каждый пиксель имеет цветовой фильтр, поэтому у вас есть чередующиеся интенсивности красного, зеленого и синего. Поскольку датчики камеры являются линейными устройствами, масштабирование записанных значений дает практически тот же результат, что и более длительное экспонирование датчика. После демозаики изображения можно сохранять в нескольких цветовых форматах, наиболее распространенным из которых является RGB, где для каждого пикселя записывается количество красного, зеленого и синего света. Умножение каждого из этих значений на один и тот же коэффициент увеличивает яркость, а умножение каждого значения на разную величину изменяет цвет.
«Поскольку датчики камеры являются линейными устройствами»… Чтобы быть педантичным, датчики камеры «почти линейны», как ([вы уже указали]) ( photo.stackexchange.com/a/33986/6294 ). (Я подумал, что это стоит упомянуть, так как ОП также интересуется математической формулировкой проблемы). Хороший алгоритм теоретически может учитывать типичный отклик сенсора, даже если он работает только со значениями RGB.
@ Альберто Альберто, да, это хороший момент, я должен был сказать «приблизительно линейно», но поскольку мой комментарий уже состоял из 598 символов, это заняло бы более 600 и потребовало бы разделения на два комментария;)

Математически на яркость матрицы (изображения) в целом влияет воздействие на значение функции CIE L* оттенка пикселя. Это арифметическая зависимость. Складывать, вычитать, умножать и делить.

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

Хорошая экспозиция и плохая экспозиция являются произвольными терминами, если диапазон освещенности объекта находится в пределах полезного диапазона сенсора камеры. Диапазон тем может быть широким или узким до крайности.

Примечание. Гистограмма — это наглядное пособие, представляющее относительное распределение освещенности на изображении. Это линейно. Это не имеет ничего общего с экспозицией, взаимной зависимостью интенсивности и времени, которая всегда представлена ​​логарифмически.

Каковы технические особенности компенсации экспозиции для недоэкспонированного изображения при постобработке?

Простое увеличение всех значений в изображении увеличит все значения на одинаковую величину. Этот «линейный» отклик характерен для цифровых изображений.

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

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

Компенсация разницы между нашим пропорциональным человеческим визуальным откликом и линейным цифровым откликом предлагает различные средства для эстетической гармонизации разницы.

Должен быть эффективный способ обеспечить пропорциональную компенсацию разницы. Это техническая сторона.