exponenta event banner

tonemapfarbman

Преобразование HDR-изображения в LDR с помощью многомасштабных декомпозиций с сохранением границ

Описание

пример

LDR = tonemapfarbman(HDR) преобразует изображение с высоким динамическим диапазоном (HDR) в изображение с низким динамическим диапазоном (LDR), пригодное для отображения, с использованием процесса, называемого декомпозицией с сохранением границ для многомасштабной обработки тонов и деталей.

LDR = tonemapfarbman(HDR,Name,Value) использует одну или несколько пар имя-значение для управления различными аспектами отображения тональных сигналов.

Примеры

свернуть все

Загрузите изображение с высоким динамическим диапазоном (HDR) в рабочую область.

HDR = hdrread('office.hdr');

Преобразование HDR-изображения в изображение с низким динамическим диапазоном (LDR) с помощью базовой функции отображения тонов tonemap. Просмотрите результат. Изображение LDR имеет приемлемый динамический диапазон, но цвета приглушены.

LDR = tonemap(HDR);
imshow(LDR)

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

Повторите преобразование с помощью tonemapfarbman со значениями аргументов по умолчанию. Просмотрите результат. Цвета выглядят более насыщенными, чем в изображении LDR, созданном с помощью tonemap функция. Однако изображение яркое и имеет плохую контрастность, например, в тени дерева. Яркость и плохой контраст указывают на то, что значение по умолчанию 'Exposure' слишком большой.

RGB = tonemapfarbman(HDR);
imshow(RGB)

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

Повторите преобразование с помощью tonemapfarbman функция с меньшим значением 'Exposure' чтобы затемнить изображение. Просмотрите результат. Контрастность изображения улучшается. Изображение также показывает уменьшение отсечения значений пикселей в ярких областях, таких как небо, дорога и монитор.

RGB2 = tonemapfarbman(HDR,'Exposure',1.5);
imshow(RGB2)

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

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

свернуть все

Изображение с высоким динамическим диапазоном, заданное как матрица m-by-n или массив m-by-n-by-3.

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

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

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: LDR = tonemapFarbman(HDR,'Saturation',2.1);

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

Насыщенность, заданная как разделенная запятыми пара, состоящая из 'Saturation' и неотрицательное число. Рекомендуемый диапазон для 'Saturation' равно [0, 5]. По мере увеличения значения насыщенности цвета становятся более насыщенными и интенсивными. По мере уменьшения значения насыщенности цвета исчезают до серого. 'Saturation' аргумент не влияет на градации серого HDR изображения.

Экспозиция, указанная как разделенная запятыми пара, состоящая из 'Exposure' и положительное число. Рекомендуемый диапазон для 'Exposure' является (0, 5]. По мере уменьшения этого значения длина экспозиции уменьшается, поэтому изображение темнеет. По мере увеличения этого значения длина экспозиции увеличивается, поэтому изображение становится ярким.

Число шкал, указанное как разделенная запятыми пара, состоящая из 'NumberOfScales' и положительное целое число. Рекомендуемый диапазон для 'NumberOfScales' равно [1, 5]. Число шкал по умолчанию: length(Weights) при указании 'Weights'. В противном случае число шкал по умолчанию равно 3.

Веса слоев детализации, указанные как разделенная запятыми пара, состоящая из 'Weights' и вектор n-элементов положительных чисел, где n - число шкал, заданное 'NumberOfScales'. Рекомендуемый диапазон каждого элемента в Weights является (0, 3]. Значение по умолчанию 'Weights' является n-элементным числовым вектором, для всех элементов которого установлено значение 1.5. Для Weights < 1, степень детализации выходного изображения уменьшается иWeights > 1, увеличивается степень детализации в выходном изображении.

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

свернуть все

Изображение с низким динамическим диапазоном, указанное как числовой массив того же размера, что и HDR.

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

Совет

  • Эта функция использует анизотропный диффузионный фильтр, imdiffusefilt, для аппроксимации взвешенного фильтра наименьших квадратов, как предложено Farbman et al. [1]

Ссылки

[1] Фарбман, З., Р. Фаттал, Д. Лищинский и Р. Сзелиски. «Декомпозиция с сохранением границ для многомасштабной обработки тонов и деталей». Транзакции ACM на графике. Том 27, номер 3, август 2008 г., стр. 1-10.

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