FCam - фотографии при слабом освещении / HDR - PullRequest
0 голосов
/ 21 января 2011

Я использую FCam, чтобы делать снимки, и сейчас без изменений снимки соответствуют камере смартфона. FCam рекламирует HDR и производительность при слабом освещении, но я не вижу примеров того, как использовать это при съемке.

Как снимать HDR? Исходя из моего опыта работы с зеркальными фотокамерами, вы обычно делаете 3 снимка: 1 под, 1 над и 1 экспонируется правильно для сцены.

Поскольку я буду делать много снимков, как мне смешивать эти пиксели вместе? В среднем?

Walter

1 Ответ

2 голосов
/ 21 января 2011

Страница проекта FCam включает полное приложение камеры - FCamera, проверьте страницу загрузки FCam, последний элемент , который для «HDR видоискателя» просто усредняет изображение с длинной / короткой экспозицией вместе, а для «HDR» Захват »автоматически записывает серию подходящих снимков. См. src/CameraThread.cpp в источниках, я не уверен, насколько уместно цитировать это, но вы найдете обе части в CameraThread::run().

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

Короче говоря, "HDR бедняка" был бы просто средним. «Правильный HDR» никогда не будет 8-битным JPEG, потому что он отбрасывает «старший» бит в «высоком динамическом диапазоне» - по этой причине преобразование из HDR (которое будет иметь 16 бит / цвет или даже больше), например. JPEG обычно выполняется как шаг постобработки (вне камеры) из последовательности изображений HDR.

Примечание по HDR-видео

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

Вышеупомянутым программным обеспечением MPI является PFSTools , особенно библиотека операторов тонального отображения (PFStmo). Научные работы одного из авторов дают хорошую отправную точку; Что касается вашего вопроса о том, как выполнить постобработку, PFSTools - это утилиты командной строки, которые взаимодействуют / передают данные через каналы UNIX; на Maemo / N900 их использование не вызывает затруднений благодаря полной среде Linux; просто создайте сценарий оболочки через system().

...