2015-12-13 2 views
0

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

+1

Возможно, вас заинтересует [это] (http://people.csail.mit.edu/yichangshih/time_lapse/). – lightalchemist

ответ

0

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

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

Вы можете найти реализацию retinex в GIMP (источник тоже) и CLAHE в OpenCV.

Оба метода довольно быстры, и их можно даже комбинировать, чтобы достичь более сбалансированных результатов (retinex, кажется, чрезмерно усиливает шум иногда в областях без текстуры, CLAHE можно настроить таким образом, чтобы избежать этого, но, как правило, оказывает меньшее влияние на результат, чем retinex)

2

Проблема с темными, то есть недоэкспонированными изображениями, заключается в том, что они по сути являются шумными. Есть так мало фотонов, которые действительно попадают на датчик во время экспозиции, что приход даже одного, рассеянного фотона шума значительно влияет на записанную яркость, т. Е. Один фотон шума помешает чтению, когда он настолько темный, что ожидается только 2 фотона потому что это представляет собой 50% -ную ошибку в ожидаемом показании 2, когда приходит всего 3 фотона. Ситуация намного лучше на ярком конце гистограммы, где поступает много фотонов, и в процентном отношении дополнительный беспризорный, шумный фотон мало чем отличается.

Как шум, как правило, довольно случайный, усреднение изображения является законной техникой для его уменьшения и улучшения вашего SNR. В основном, вы усредняете пиксели из нескольких экспозиций в каждой позиции изображения, а результат усреднения двух экспозиций, например, ISO 800, в целом аналогичен изображению, экспонируемому при ISO 400. В целом, величина шума падает от квадратного корня от количества усредненных экспозиций, поэтому усреднение 4 экспозиций уменьшает величину шума на половину.

Существует отличная запись here с изображениями и теорией. Что касается этого в OpenCV, то это просто вопрос добавления изображений и деления на количество изображений.

Обратите внимание, что этот метод применим только к изображениям STILL, конечно.