Как оценить цветовую температуру осветителя по фотографии стандартной цветовой шкалы? - Фотопедия
7 голосов
/ 30 ноября 2010

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

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

Как я могу оценить цветовую температуру по этим данным цветовой диаграммы?

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

Ответы [ 3 ]

4 голосов
/ 19 декабря 2011

Для простоты используйте нейтрально-серую карту вместо цвета шашка. Или используйте только нейтральное пятно средства проверки цвета. Ты должен идентифицировать на изображении область, соответствующую патч / серая карта, затем усредняйте отдельно R, G и B raw пикселей на этой области. Убедитесь, что ни один из этих пикселей не насыщен, иначе начните снова с более низкой экспозиции.

В итоге вы получите (R, G, B) триплет, который является цветом вашего источник света в родном цветовом пространстве вашей камеры. Затем преобразовать в CIE стандартное цветовое пространство по формуле

⎛X⎞   ⎛            ⎞ ⎛R⎞
⎜Y⎟ = ⎜ 3×3 matrix ⎟ ⎜G⎟
⎝Z⎠   ⎝            ⎠ ⎝B⎠

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

2 голосов
/ 01 декабря 2010

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

Некоторые моменты, которые следует учитывать, и факторы, влияющие на вашу обработку:

  • Нет источника света в сцене
    • Например: солнце освещает сцену из-за фотографа
    • Другой пример: внешняя вспышка или другое освещение
    • Это, вероятно, самая большая проблема, и она делает практически невозможной коррекцию цвета на основе источника света
  • Несколько источников света
    • Возможно наличие нескольких источников света с одинаковой цветовой температурой
    • Более важным является несколько источников света с различной цветовой температурой
    • Ключевой вопрос: что вы хотите случиться, если сцена освещается несколькими источниками света разного цвета?
  • Источники рассеянного и точечного света
    • Пример: солнце, освещающее комнату через окно, с дополнительным освещением, освещающим затененные части
    • Ключевой вопрос: На каком источнике вы хотите баланс белого?
  • Источники света радикального цвета
    • Иногда у вас есть сцены, освещенные первичными источниками света радикальных цветов
    • Например: красный, зеленый, синий, фиолетовый, желтый и т. Д.
    • Синюю / Желтую / Красную плоскость можно рассматривать как крайности нормальной цветовой температуры
    • Зеленый / фиолетовый / пурпурный плоскости можно считать крайностями оттенка
    • Ни один насыщенный цвет, основной или дополнительный, не является хорошей целью для цветовой балансировки сцены, так как это, вероятно, приведет к выраженному цветовому оттенку в вашем изображении.
    • Ключевой вопрос: что вы делаете, когда ваша сцена не имеет общего окружающего или основного освещения и полностью или преимущественно освещена радикальными цветами?

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

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

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

Попытка определить цветовую температуру ваших сцен источников света, например, по простой фотографии с карты коррекции цвета, будет чрезвычайно трудной, если не выпуклой. Вы должны будете сделать слишком много предположений или заранее знать, какой свет освещает вашу сцену. Как правило, именно поэтому баланс белого / коррекция цвета обычно выполняются путем установки баланса белого в сценах на основе известного нейтрального цвета в сцене. Фотосъемка ландшафта дважды при одном и том же освещении, один раз с картой цветовой коррекции и однажды без нее, позволяет выбрать допустимый нейтральный или чистый белый цвет во время последующей обработки, что позволит установить правильный цветовой баланс. У меня есть паспорт X-Rite ColorChecker, который включает в себя два ряда образцов для коррекции цвета. Один ряд предназначен для пейзажей, а другой - для портретов, и они переходят от слегка прохладных к слегка теплым цветным пятнам. Я могу установить тот цветовой баланс, который мне нужен для моих сцен, который обычно теплее для пейзажной фотографии, и более нейтральный белый тон (5500k-6500k) для таких вещей, как живая природа или макро.

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

1 голос
/ 30 ноября 2010

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

Если это так, то, как представляется, есть некоторая полезная информация о статье о цветовой температуре в Википедии , в частности, разделе Расчет .

Это не то, чем я на самом деле занимался раньше, поэтому мои знания ограничены. Я должен думать, однако, что ключевой частью этого является знание того, из чего состоит изображение. Таким образом, съемка белой или нейтрально-серой карты при равномерном освещении была бы очевидным выбором. И ваш выбор стандартной цветовой диаграммы также хорош, если ваше программное обеспечение знает, на какой части карты основан какой-либо определенный набор пикселей, на котором вы собираетесь производить вычисления. Так что, если вы планируете делать несколько снимков этой карты в различных условиях освещения, вам нужно будет либо создать своего рода буровую установку, которая может держать карту в одном и том же месте относительно камеры для каждого снимка, либо определить положение карты (возможно, с помощью обнаружения края и / или аналогичных методов).

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

Конечно, эти устройства тоже должны как-то это делать, так что, может быть, простое изучение теории и математики поможет? :) Различные полезные (и я уверен, что некоторые менее полезные) предметы можно найти с помощью в поиске Google . Я полагаю, у вас впереди серьезное исследование, выходящее за рамки того, на что вы сможете получить сложные ответы. Надеюсь, это даст вам некоторые отправные точки.

...