exponenta event banner

imreducehaze

Уменьшение атмосферной дымки

Описание

пример

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

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

пример

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

Примеры

свернуть все

Прочтите туманное изображение в рабочее пространство.

A = imread('foggysf1.jpg');

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

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

Figure contains an axes. The axes 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. The axes contains an object of type image.

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

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

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

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

[~,T] = imreducehaze(A);

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

imshow(T)
title('Haze Thickness')

Figure contains an axes. The axes 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. The axes 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 должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как 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

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

свернуть все

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

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

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

Алгоритмы

Модель для описания туманного изображения I является

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

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

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

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

Алгоритмы дегазирования в imreducehaze выполните пять шагов:

  1. Оценка атмосферного света L с использованием темного канала.

  2. Оценка карты передачи T.

  3. Уточните предполагаемую карту передачи.

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

  5. Выполнение дополнительного повышения контрастности.

Ссылки

[1] Он, Каймин. «Удаление помутнения одиночного изображения с использованием Dark Channel Previous». Дипломная работа, Китайский университет Гонконга. 2011.

[2] Дубок и др. «Смешение одного изображения с помощью энтропии изображения и точности информации». ICIP. 2014, стр 4037–4041.

Представлен в R2017b