Как определить оптимальные фильтры коррекции цвета для сенсора?


9

Первоначально этот вопрос назывался: Как определить родную цветовую температуру сенсора?

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

Я предположил, что это где-то близко к дневному свету, но этот нескорректированный снимок, на котором @Karel продемонстрировал, что UniWB, кажется, снимается при дневном свете и имеет сильное доминирование в зеленых и синих каналах:

UniWB

Моя камера (как и многие другие) не имеет UniWB, поэтому я бы предпочел решение, которое не использует настройки UniWB.

ОБНОВИТЬ

Подумав немного больше, на самом деле важна не цветовая температура. Меня интересует конечный результат: как выбрать фильтр для достижения сбалансированного сигнала во всех цветовых каналах ? Возможно, мне даже не нужно знать цветовую температуру, я просто привык видеть спецификации фильтров со ссылкой на преобразования цветовой температуры.

Я вижу ответ будет зависеть от

  • характеристики датчика
  • текущее освещение

Датчик тот же, пока я не переключаю тела. Освещение будет разным в разных ситуациях, но есть общие сценарии - дневной свет / вспышка, облачно, вольфрам.

Итак, как мне выбрать фильтры для моего датчика в этих распространенных сценариях? Я надеюсь, что есть лучший способ, чем просто купить кучу и попробовать их все.

Ответы:


4

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

С цифровой точки зрения «баланса белого» я ​​не совсем уверен, что есть какой-то способ точно определить базовый выходной сигнал датчика. Это может варьироваться между производителями, это может быть обработано просто путем усиления сигнала от каждого пиксельного канала, или это может быть выполнено полностью логикой обработки изображения после считывания и усиления. Я думаю, что хорошей базовой линией для работы будет использование веса 1,0 для каждого пиксельного канала и настройки дневного света (5200-5500k). Это должно нормализовать камеру вокруг настолько чистого "белого" света, сколько может получить свет.

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

Я бы немного скептически отнесся к тому, что это действительно улучшит все. Если бы было так, чтобы обработка света таким образом, прежде чем он попал на датчик, была идеальной, производители цифровых камер уже учли бы это с дополнительной фильтрацией в стеке фильтров предварительного датчика, который есть у большинства цифровых камер в наши дни. Я думаю, что решение использовать в два раза больше зеленых пикселей, чем красного и синего, принято, потому что в этот цветовой диапазон попадает больше длин волн света, чем для красного и синего. Наличие большей чувствительности в этом более продуктивном диапазоне световых частот является в целом ПРЕИМУЩЕСТВЕННЫМ, а не вредным, отношением сигнала. При использовании невзвешенного / отфильтрованного подхода ... вы уменьшаете общий свет не менее чем на 1/4, требуя усиления окончательного сигнала по всей плате, а не только в красном и синем каналах.


Я согласен, что нет смысла делить зеленый свет пополам (у меня вдвое больше сенсоров, нуждающихся в нем), но Карел также сообщил, что значения красного и синего каналов значительно отличаются (162 против 197) для белого на этом изображении, поэтому я действительно сомневаюсь в дневном свете быть оптимальным ВБ.
Imre

@Imre: В реальном образце изображения Карела UniWB вес канала составляет 1,0 для всех трех каналов. Технически говоря, UniWB - это настройка баланса белого, в которой нет регулировки выходного сигнала, применяемой к каждому из каналов пикселей ... так что я думаю, что на самом деле нет 5200k + UniWB ... на самом деле есть только UniWB. Таким образом, в конце концов, для ваших целей, это настройка «баланса белого» 1,0 веса на всех трех каналах плюс оптический фильтр.
rista

2

Одно предложение по ссылке ( http://www.guillermoluijk.com/tutorial/uniwb/index_en.htm ), приведенное в моем первоначальном ответе:

Шаги будут:

  1. Снимите несколько ярких источников света на пару секунд, чтобы все три канала были видны во всех пикселях.
  2. Используйте полученный файл RAW, который будет находиться в памяти камеры, чтобы установить пользовательский баланс белого
  3. Точность достигнутого UniWB можно проверить, сняв все что угодно с новым балансом белого и посмотрев на множители, отображаемые DCRAW при разработке результирующего RAW с балансом белого камеры: dcraw -v -w

Быстрый метод работает не для всех камер. Например, Nikons отбрасывает любой пиксель, на который влияет насыщенность, для расчета баланса белого. Ни один Canon 5D, кажется, не допускает данные от взорванного RAW. Sony Alpha 100 с другой стороны, и даже если камера предупреждает о возможной неправильной настройке баланса белого, позволяет использовать ее, обеспечивая идеальные множители (1,000000). Быстрый метод идеально подходит для Canon 7D.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.