blendexposure

Создайте хорошо представленное изображение из изображений с различными воздействиями

Синтаксис

J = blendexposure(I1,I2,...,In)
J = blendexposure(I1,I2,...,In,Name,Value)

Описание

пример

J = blendexposure(I1,I2,...,In) шкала полутонов смешений или изображения RGB, которые имеют различные воздействия. blendexposure смешивает изображения на основе их контраста, насыщения, и хорошо-exposedness, и возвращает хорошо представленное изображение, J.

пример

J = blendexposure(I1,I2,...,In,Name,Value) изображения смешений, которые имеют различные воздействия, с помощью пар "имя-значение", чтобы настроить, как каждое входное изображение способствует смешанному изображению.

Примеры

свернуть все

Считайте серию изображений с различными воздействиями, которые были получены от фиксированной камеры без перемещения объектов в сцене.

I1 = imread('car_1.jpg');
I2 = imread('car_2.jpg');
I3 = imread('car_3.jpg');
I4 = imread('car_4.jpg');

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

montage({I1,I2,I3,I4})

Смешайте изображения с помощью сплава воздействия. По умолчанию функция blendexposure пытается подавить подсветки из источников яркого света. Для сравнения также смешайте изображения, не подавляя подсветки. Отобразите два результата.

E = blendexposure(I1,I2,I3,I4);
F = blendexposure(I1,I2,I3,I4,'ReduceStrongLight',false);
montage({E,F})
title('Exposure Fusion With (Left) and Without (Right) Strong Light Suppression')

В сплавленных изображениях яркие области и темные области сохраняют информативные детали. С подавлением яркого света форма фар идентифицируется, и насыщаемые пиксели не расширяют мимо контура фар. Без восприятия яркого света форма фар не идентифицируется, и существуют насыщаемые пиксели в отражении фар на земле и на некоторых частях других автомобилей.

Считайте серию изображений с различными воздействиями. Изображения были получены от фиксированной камеры, и в сцене нет никаких движущихся объектов.

I1 = imread('office_1.jpg');
I2 = imread('office_2.jpg');
I3 = imread('office_3.jpg');
I4 = imread('office_4.jpg');
I5 = imread('office_5.jpg');
I6 = imread('office_6.jpg');
montage({I1,I2,I3,I4,I5,I6})
title('Images with Different Exposures')

Смешайте зарегистрированные изображения с помощью сплава воздействия, опционально отличаясь вес контраста, насыщения и хорошо-exposedness в сплаве, и не уменьшая источники яркого света. Отобразите результат.

E = blendexposure(I1,I2,I3,I4,I5,I6,'contrast',0.8,...
    'saturation',0.8,'wellexposedness',0.8,'reduceStrongLight',false);
imshow(E)
title('Blended Image Using Exposure Fusion')

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

свернуть все

Шкала полутонов или изображения RGB, заданные как серия m-by-n числовые матрицы или m-by-n-by-3 числовые массивы. Все изображения должны иметь тот же размер и тип данных.

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

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

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: blendexposure(I1,I2,I3,'Contrast',0.5,'Saturation',0.9)

Относительный вес, данный контрасту во время смешивания, заданного как пара, разделенная запятой, состоящая из 'Contrast' и числового скаляра в области значений [0, 1].

Относительный вес, данный насыщению во время смешивания, заданного как пара, разделенная запятой, состоящая из 'Saturation' и числового скаляра в области значений [0, 1].

Относительный вес, данный качеству воздействия во время смешивания, заданного как пара, разделенная запятой, состоящая из 'Wellexposedness' и числового скаляра в области значений [0, 1]. Качество воздействия каждого изображения основано на расхождении интенсивностей пикселей из модели пикселей с хорошим воздействием.

Уменьшайте яркий свет, заданный как пара, разделенная запятой, состоящая из 'ReduceStrongLight' и true или false. Если 'ReduceStrongLight' является true, то blendexposure пытается подавить подсветки из источников яркого света в изображениях.

Примечание

Если входные изображения не имеют источников яркого света, и вы задаете ReduceStrongLight как true, то выходное изображение J имеет меньше контраста.

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

свернуть все

Сплавленное изображение, возвращенное как числовая матрица или массив, одного размера и тип данных как вход, отображает I1,I2,...,In.

Советы

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

Алгоритмы

Функция blendexposure вычисляет вес каждой качественной меры можно следующим образом:

  • Контрастные веса вычисляются с помощью Лапласовой фильтрации.

  • Веса насыщения вычисляются из стандартного отклонения каждого изображения.

  • Хорошо-exposedness определяется путем сравнения частей изображения к Распределению Гаусса со средним значением 0,5 и стандартным отклонением 0,2.

  • Веса сокращения яркого света вычисляются как смесь других трех весов, умноженных на Распределение Гаусса с фиксированным средним значением и отклонением.

Веса анализируются с помощью Гауссовых пирамид для бесшовного смешивания с Лапласовой пирамидой соответствующего изображения, которое помогает сохранить детали сцены.

Ссылки

[1] Mertens, T., Дж. Коц и Ф. В. Рит. "Fusion воздействия". Тихоокеанская Графика 2007: Продолжения Тихоокеанской Конференции по Компьютерной графике и Приложениям. Мауи, HI, 2007, стр 382–390.

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

| |

Введенный в R2018a