imfuse

Композит из двух изображений

Описание

пример

C = imfuse(A,B) создает составное изображение из двух изображений, A и B. Если A и B разные размеры, imfuse заполняет меньшие размерности нулями так, чтобы оба изображения имели одинаковый размер перед созданием композита. Выход, C, - числовая матрица, содержащая сросшуюся версию изображений A и B.

пример

[C RC] = imfuse(A,RA,B,RB) создает составное изображение из двух изображений, A и B, используя пространственную ссылочную информацию, представленную в RA и RB. Область выхода RC определяет пространственную ссылочную информацию для выхода сросшегося изображения C.

пример

C = imfuse(___,method) использует алгоритм, заданный как method.

пример

C = imfuse(___,Name,Value) задает дополнительные опции с одним или несколькими Name,Value аргументы в виде пар, с использованием любого из предыдущих синтаксисов.

Примеры

свернуть все

Загрузите изображение в рабочую область. Создайте копию со смещением поворота.

A = imread('cameraman.tif');
B = imrotate(A,5,'bicubic','crop');

Создайте смешанное изображение наложения, масштабируя интенсивность A и B совместно как один набор данных. Просмотрите сросшееся изображение.

C = imfuse(A,B,'blend','Scaling','joint');
imshow(C)

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

Сохраните полученное изображение как .png файл.

imwrite(C,'my_blend_overlay.png');

Загрузите изображение в рабочую область. Создайте копию и примените смещение поворота.

A = imread('cameraman.tif');
B = imrotate(A,5,'bicubic','crop');

Создайте смешанное накладное изображение, используя красный цвет для A изображений, зеленый для изображения Bи желтый цвет для областей одинаковой интенсивности между двумя изображениями. Затем отобразите изображение наложения.

C = imfuse(A,B,'falsecolor','Scaling','joint','ColorChannels',[1 2 0]);
imshow(C)

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

Сохраните полученное изображение как .png файл.

imwrite(C,'my_blend_red-green.png');

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

A = dicomread('knee1.dcm');
RA = imref2d(size(A));

Создайте второе изображение путем изменения размера изображения A и создайте пространственный объект привязки, сопоставленный с этим изображением.

B = imresize(A,2);
RB = imref2d(size(B));

Установите ссылочные параметры объекта привязки, чтобы задать пределы координат в мировых координатах.

RB.XWorldLimits = RA.XWorldLimits;
RB.YWorldLimits = RA.YWorldLimits;

Создайте смешанное накладное изображение с использованием цвета, чтобы указать области сходной интенсивности. Этот пример использует красный цвет для изображений A, зеленый для изображения Bи желтый цвет для областей одинаковой интенсивности между двумя изображениями.

C = imfuse(A,B,'falsecolor','Scaling','joint','ColorChannels',[1 2 0]);

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

C = imresize(C,0.5);
imshow(C)

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

Создайте новое сросшееся изображение, на этот раз используя пространственную ссылочную информацию в RA и RB.

[D,RD] = imfuse(A,RA,B,RB,'ColorChannels',[1 2 0]);

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

D = imresize(D,0.5);
imshow(D)

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

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

свернуть все

Изображение, которое будет объединено в составное изображение, заданное как полутоновое, труколор или бинарное изображение.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

Изображение, которое будет объединено в составное изображение, заданное как полутоновое, труколор или бинарное изображение.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

Пространственная ссылочная информация, сопоставленная с входным изображением A, заданный как пространственный объект привязки класса imref2d.

Пространственная ссылочная информация, сопоставленная с входным изображением B, заданный как пространственный объект привязки класса imref2d.

Алгоритм, используемый для объединения изображений, задается как одно из следующих значений.

МетодОписание
'falsecolor'Создает составное изображение RGB, показывающее A и B наложен в различные цветовые полосы. Серые области в составном изображении показывают, где эти два изображения имеют одинаковую интенсивность. Пурпурные и зеленые области показывают, где интенсивность отличается. Это метод по умолчанию.
'blend'Накладки A и B использование альфа-смешения.
'checkerboard'Создает изображение с чередующимися прямоугольными областями из A и B.
'diff'Создает изображение различия из A и B.
'montage'Вставляет A и B рядом друг с другом на одном и том же изображении.

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

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

Пример: 'Scaling','joint' масштабирует значения интенсивности A и B вместе как один набор данных.

Опция масштабирования интенсивности, заданная как одно из следующих значений:

'independent'Масштабирует значения интенсивности A и B независимо, когда C создается.
'joint'Масштабирует значения интенсивности на изображениях совместно, как если бы они были вместе в одном изображении. Эта опция полезна, когда вы хотите визуализировать регистрации мономодальных изображений, где одно изображение содержит значения заливки, которые находятся вне динамической области значений другого изображения.
'none'Нет дополнительного масштабирования.

Выход цветового канала для каждого входного изображения, заданный как одно из следующих значений:

[R G B]Трехфазный вектор элемента, который определяет, какое изображение назначить красному, зеленому и синему каналам. Значения R, G и B должны быть 1 (для первого входного изображения), 2 (для второго входного изображения) и 0 (для обоих изображений).
'red-cyan'Ярлык для вектора [1 2 2], который подходит для красных/голубых стерео анаглифов
'green-magenta'Ярлык для вектора [2 1 2], который является высококонтрастной опцией, идеально подходит для людей со многими видами цветовой слепоты

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

свернуть все

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

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

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

Совет

  • Использовать imfuse для создания составных визуализаций, которые можно сохранить в файл. Использовать imshowpair отображение композитных визуализаций на экране.

См. также

| |

Введенный в R2012a