imreducehaze

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

Описание

пример

[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)")

Figure contains an axes object. The axes object with title Hazy Image (Left) vs. Reduced Haze Image (Right) contains an object of type image.

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

A = imread('foggysf2.jpg');

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

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

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

montage({A,B})

Figure contains an axes object. The axes object contains an object of type image.

Считайте и отобразите туманное изображение.

A = imread('foggyroad.jpg');
imshow(A)
title('Hazy Image')

Figure contains an axes object. The axes object with title Hazy Image contains an object of type image.

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

[~,T] = imreducehaze(A);

Отобразите измерение толщины тумана.

imshow(T)
title('Haze Thickness')

Figure contains an axes object. The axes object with title Haze Thickness contains an object of type image.

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

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

Отобразите предполагаемую глубину в фиктивном цвете.

imshow(D,[])
title('Depth Estimate')
colormap hot

Figure contains an axes object. The axes object with title Depth Estimate contains an object of type image.

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

свернуть все

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

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

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

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

Аргументы name-value

Задайте дополнительные разделенные запятой пары Name,Value аргументы. 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