Как совместить два изображения в одном окне Matlab? - PullRequest
2 голосов
/ 28 октября 2010

У меня есть два изображения размером, скажем, image1 = 250x250 и image2 = 250x550.Я хочу иметь изображение, которое показывает, что эти два изображения объединяются.как image3 = image1 + image2 означает image3 = 250x800.

Ответы [ 2 ]

12 голосов
/ 28 октября 2010

Объединить изображения можно легко, используя конкатенация :

image3 = [image1 image2];  %# Concatenate horizontally

И затем вы можете визуализировать image3, используя любую из функций ИЗОБРАЖЕНИЕ , ИЗОБРАЖЕНИЕ или IMSHOW :

image(image3);  %# Display the image in a figure window


Примечание:

Вы не упомянули, с каким типом изображений вы имеете дело, только то, что они представляют собой двумерные матрицы данных пикселей. Это означает, что они могут быть двоичными изображениями (со значениями пикселей 0 или 1), изображениями в оттенках серого (со значениями пикселей, представляющими диапазон от черного до белого) или индексированными цветные изображения (со значениями пикселей, которые представляют индексы в цветовой карте).

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

[image1,map1] = imread('image1.png');  %# Image and colormap for image file 1
[image2,map2] = imread('image2.png');  %# Image and colormap for image file 2

Теперь, если map1 и map2 содержат разные цветовые схемы, два изображения не могут быть так легко объединены. Одним из решений было бы сначала преобразовать изображения в 3-мерные изображения истинного цвета с помощью функции IND2RGB , а затем объединить их с помощью функции CAT :

image1 = ind2rgb(image1,map1);  %# Convert image 1 to RGB
image2 = ind2rgb(image2,map2);  %# Convert image 2 to RGB
image3 = cat(2,image1,image2);  %# Concatenate the images along dimension 2

А теперь вы можете просмотреть image3, как описано выше.

1 голос
/ 28 октября 2010

Если вы просто хотите просмотреть два изображения рядом, вы можете отобразить несколько изображений (или графиков) на одном рисунке, используя subplot.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...