tonemapfarbman

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

Описание

пример

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

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

Примеры

свернуть все

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

HDR = hdrread('office.hdr');
LDR = tonemap(HDR);
imshow(LDR)

Изображение LDR отображено с приемлемым динамическим диапазоном, но цвета отключены звук.

Преобразуйте изображение HDR в изображение LDR с помощью сохраняющих ребро многошкальных разложений. Отобразите результат.

RGB = tonemapfarbman(HDR);
imshow(RGB)

Цвета кажутся более влажными, но изображение ярко и имеет плохой контраст. Эта яркость и контраст указывают что значение по умолчанию 'Exposure' является слишком большим. Плохой контраст особенно очевиден в тени дерева.

Повторите преобразование с нижним значением 'Exposure' затемнять изображение. Отобразите результат.

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

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

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

свернуть все

Изображение расширенного динамического диапазона в виде 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]. Количество по умолчанию шкал является длиной (Weights) когда вы задаете 'Weights'. В противном случае количеством по умолчанию шкал является 3.

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

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

свернуть все

Низкое изображение динамического диапазона в виде числового массива одного размера с HDR.

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

Советы

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

Ссылки

[1] Фарбмен, Z., Р. Фэттэл, Д. Лищинский и Р. Сзелиский. "Сохраняющие ребро Разложения для Многошкальной Манипуляции с Тонами и Деталями". Транзакции ACM на Графике. Издание 27, Номер 3, август 2008, стр 1–10.

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

| | | | |

Введенный в R2018b