imreducehaze

Уменьшайте атмосферный туман

Синтаксис

[J,T,L] = imreducehaze(I)
[___] = imreducehaze(I,amount)
[___] = imreducehaze(___,Name,Value)

Описание

пример

[J,T,L] = imreducehaze(I) уменьшает атмосферный туман в цветном или полутоновом изображении I. Функция возвращает изображение dehazed J, оценка T толщины тумана на уровне каждого пикселя и предполагаемый атмосферный световой сигнал L.

[___] = imreducehaze(I,amount) дополнительно задает сумму тумана, чтобы удалить.

пример

[___] = imreducehaze(___,Name,Value) изменяет поведение dehazing алгоритма с помощью пар "имя-значение".

Примеры

свернуть все

Считайте туманное изображение в рабочую область.

A = imread('foggysf1.jpg');

Уменьшайте туман и отобразите результат рядом с оригинальным изображением в монтаже.

B = imreducehaze(A);
montage({A,B})
title("Hazy Image (Left) vs. Reduced Haze Image (Right)")

Считайте туманное изображение в рабочую область.

A = imread('foggysf2.jpg');

Уменьшайте 90% тумана с помощью метода approxdcp.

B = imreducehaze(A,0.9,'method','approxdcp');

Отобразите в монтаже исходное туманное изображение и изображение с уменьшаемым туманом.

montage({A,B})

Считайте туманное изображение в рабочую область.

A = imread('foggyroad.jpg');

Уменьшайте туман в изображении с помощью значений параметров по умолчанию.

[~, T] = imreducehaze(A);

Отобразите результат вдоль стороны оригинальное изображение.

figure, imshowpair(A, T, 'montage')

Толщина тумана обеспечивает грубое приближение глубины сцены, заданной до неизвестного коэффициента умножения. Добавьте eps, чтобы избежать log(0).

D = -log(1-T+eps);

В целях отображения масштабируйте глубину так, чтобы это было в [0,1].

D = mat2gray(D);

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

figure
subplot(1,2,1)
imshow(A), title('Hazy image')
subplot(1,2,2)
imshow(D), title('Depth estimate')
colormap(gca, hot(256))

Входные параметры

свернуть все

Туманное изображение, заданное как RGB или полутоновое изображение.

Типы данных: single | double | uint8 | uint16

Сумма тумана, чтобы удалить, заданный как номер в области значений [0,1]. Когда значением является 1, imreducehaze уменьшает максимальную сумму тумана. Когда значением является 0, imreducehaze не уменьшает туман, и входное изображение неизменно. Большие значения могут вызвать более серьезное искажение цвета.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: B = imreducehaze(A,0.9,'method','approxdcp');

Метод раньше уменьшал туман, заданный как пара, разделенная запятой, состоящая из 'Method' и одно из этих значений:

  • 'simpledcp' — Простой темный предыдущий метод канала [2]. Этот метод использует темный канал на пиксель, чтобы оценить, что туман и разложение дерева квадрантов оценивают атмосферный свет.

  • 'approxdcp' — Аппроксимируйте темный предыдущий метод канала [1]. Этот метод использует и и пространственные блоки на пиксель при вычислении темного канала и не использует разложение дерева квадрантов.

Для получения дополнительной информации см. Алгоритмы.

Типы данных: char | string

Максимальное значение, которое будет обработано как туман, заданный как пара, разделенная запятой, состоящая из 'AtmosphericLight' и 1 3 числового вектора для изображений RGB или числового скаляра для полутоновых изображений. Значения должны быть в области значений [0, 1]. Атмосферные легкие значения, больше, чем 0,5, имеют тенденцию давать лучшие результаты.

Если вы не задаете AtmosphericLight, то функция imreduzehaze оценивает значение в зависимости от значения 'method'.

Типы данных: double

Контрастный метод улучшения, заданный как пара, разделенная запятой, состоящая из 'ContrastEnhancement' и 'global', 'boost' или 'none'.

Типы данных: char | string

Сумма усиления на пиксель, чтобы применяться как постобработка, заданная как пара, разделенная запятой, состоящая из 'BoostAmount' и номера в области значений [0, 1]. Этот аргумент только поддержан, если ContrastEnhancement задан как 'boost'.

Типы данных: double

Выходные аргументы

свернуть все

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

Толщина тумана оценивается на уровне каждого пикселя, возвращенного как числовой массив.

Предполагаемый атмосферный свет, возвращенный как числовой массив. L представляет значение самого яркого незеркального тумана.

Алгоритмы

Модель, чтобы описать туманное изображение I

I(x) = J(x)T(x) + L(1-T(x))
I является наблюдаемой интенсивностью, J является сиянием сцены, L является атмосферным светом, и T является картой передачи, описывающей фрагмент света, который достигает камеры.

Алгоритмы Dehazing восстанавливают сияние сцены (dehazed изображение) J от оценки карты передачи и атмосферного света согласно:

J(x) = (I(x)-A)/(max(t(x),t0)) + A

imreducehaze использует два различных dehazing алгоритма, simpledcp и approxdcp. Эти методы оба полагаются на dark channel prior, который основан на наблюдении, что нетуманные изображения наружных сцен обычно содержат некоторые пиксели, которые имеют низкий сигнал в одном или нескольких цветовых каналах. Методы отличаются по тому, как они оценивают темный канал предшествующий и атмосферный свет.

dehazing алгоритмы в imreducehaze выполняют пять шагов:

  1. Оцените атмосферный световой сигнал L с помощью темного предшествующего канала.

  2. Оцените, что передача сопоставляет T.

  3. Совершенствуйте предполагаемую карту передачи.

  4. Восстановите изображение.

  5. Выполните дополнительное контрастное улучшение.

Ссылки

[1] Он, Kaiming. "Одно удаление тумана изображений Используя темный предшествующий канал". Тезис, Китайский университет Гонконга. 2011.

[2] Dubok, и др. "Одно Изображение Dehazing с Точностью Энтропии и информации Изображений". ICIP. 2014, стр 4037–4041.

Введенный в R2017b