tonemapfarbman

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

Синтаксис

LDR = tonemapfarbman(HDR)
LDR = tonemapfarbman(HDR,Name,Value)

Описание

пример

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 должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: 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, для приближения фильтра метода взвешенных наименьших квадратов, как предложено Фарбменом и др. [1]

Ссылки

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

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

| | | | |

Введенный в R2018b