Повышение качества изображения недостаточной освещенности

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

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

  • Шаг 1: Инвертируйте изображение недостаточной освещенности.

  • Шаг 2: Примените алгоритм удаления тумана к инвертированному изображению недостаточной освещенности.

  • Шаг 3: Инвертируйте улучшенное изображение.

Улучшите Изображение Недостаточной освещенности с помощью Алгоритма Dehazing

Импортируйте изображение RGB, полученное при слабом освещении.

A = imread('lowlight_11.jpg');
figure, imshow(A);

Инвертируйте изображение и заметьте, как области недостаточной освещенности в оригинальном изображении кажутся туманными.

AInv = imcomplement(A);
figure, imshow(AInv);

Уменьшайте туман с помощью функции imreducehaze.

BInv = imreducehaze(AInv);
figure, imshow(BInv);

Инвертируйте результаты получить улучшенное изображение.

B = imcomplement(BInv);

Отобразите оригинальное изображение и улучшенные изображения, бок о бок.

figure, montage({A, B});

Улучшите результаты далее Используя imreducehaze дополнительные параметры

Чтобы получить лучший результат, вызовите imreducehaze на перевернутом изображении снова, на этот раз задав некоторые дополнительные параметры.

BInv = imreducehaze(AInv, 'Method','approx','ContrastEnhancement','boost');
BImp = imcomplement(BInv);
figure, montage({A, BImp});

Другой пример улучшения плохо освещенного изображения

Импортируйте изображение RGB, полученное при слабом освещении.

A = imread('lowlight_21.jpg');

Инвертируйте изображение.

AInv = imcomplement(A);

Примените dehazing алгоритм.

BInv = imreducehaze(AInv, 'ContrastEnhancement', 'none');

Инвертируйте результаты.

B = imcomplement(BInv);

Отобразите оригинальное изображение и улучшенные изображения, бок о бок.

figure, montage({A, B});

Уменьшайте Искажение цвета при помощи Различного Цветового пространства

Преобразуйте входное изображение от цветового пространства RGB до L*a*b* цветовое пространство.

Lab = rgb2lab(A);

Инвертируйте L*a*b* изображение.

LInv = imcomplement(Lab(:,:,1) ./ 100);

Dehaze перевернутое изображение с помощью функции imreducehaze.

LEnh = imcomplement(imreducehaze(LInv,'ContrastEnhancement','none'));

Увеличьте насыщение.

LabEnh(:,:,1)   = LEnh .* 100;
LabEnh(:,:,2:3) = Lab(:,:,2:3) * 2; % Increase saturation

Преобразуйте изображение назад в RGB, отображают и отображают оригинал и улучшенное изображение, бок о бок.

AEnh = lab2rgb(LabEnh);
figure, montage({A, AEnh});

Улучшите Результаты с помощью Шумоподавления

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

Используйте функцию imguidedfilter, чтобы удалить шум из улучшенного изображения.

B = imguidedfilter(BImp);
figure, montage({BImp, B});

Оцените карту освещения

Импортируйте изображение RGB, полученное при слабом освещении.

A = imread('lowlight_21.jpg');

Инвертируйте изображение.

AInv = imcomplement(A);

Примените dehazing алгоритм к изображению.

[BInv, TInv] = imreducehaze(AInv, 'Method', 'approxdcp', 'ContrastEnhancement', 'none');

Инвертируйте улучшенное изображение.

T = imcomplement(TInv);

Отобразите оригинальное изображение рядом с предполагаемой картой освещения в фиктивном цвете.

figure,
subplot(1,2,1);
imshow(A), title('Lowlight Image');
subplot(1,2,2);
imshow(T), title('Illumination Map');
colormap(gca, hot(256));

Ограничения

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

Ссылки

Dong, Сюань, и др. "Быстро эффективный алгоритм для улучшения низкого видео подсветки". Мультимедиа и Экспо (ICME), 2 011 Международных конференций IEEE по вопросам. IEEE, 2011.

Ссылки

[1] Dong, X., Г. Ван, И. Пан, В. Ли, Дж. Вэнь, В. Мэн и И. Лу. "Быстро эффективный алгоритм для улучшения низкого видео подсветки". Продолжения Международной конференции IEEE® по вопросам Мультимедиа и Экспо (ICME). 2011, стр 1–6.

Смотрите также

| | | |