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

Для просмотра документации необходимо авторизоваться на сайте