How to display multiple images (non indexed images) with different sizes in a row?

조회 수: 1 (최근 30일)
Hi
Say I have 3 images and they are not indexed images therefore they don't have X, map, they only have RGB values.
And these 3 images are of different sizes.
How do I display them in a row?

답변 (2개)

gonzalo Mier
gonzalo Mier 2019년 5월 8일
I would use moon1, moon2 and moon3 as 3 images that can be different and with different size, but I will obtain them as
moon1 = imread('moon.tif');
moon2 = imread('moon.tif');
moon3 = imread('moon.tif');
If you want them to be plotted in the same row you can use subplot to create the sections in the figure and imshow to plot them as:
subplot(3,1,1); imshow(moon1);
subplot(3,1,2); imshow(moon2);
subplot(3,1,3); imshow(moon3);
  댓글 수: 2
Salad Box
Salad Box 2019년 5월 9일
Is 'moon1' just a random variable like 'RGB1'?
If so I have already done it and for some unknown reason the two images with different sizes look exactly the same size when I used 'subplot'. So not sure subplot would deal with my problem.
gonzalo Mier
gonzalo Mier 2019년 5월 9일
Yes, moon1 is just a random image as RGB1. subplot will resize the images to fill the space that you want to give them. If I want moon look 3 times bigger than moon3 and moon2 twice bigger than moon3, you can distribute your subplots as:
subplot(6,1,[1,2,3]); imshow(moon1);
subplot(6,1,[4,5]); imshow(moon2);
subplot(6,1,[6]); imshow(moon3);
But you have to previously map the figure as you want. For more info look in subplot

댓글을 달려면 로그인하십시오.


Image Analyst
Image Analyst 2019년 5월 9일
Have you tried imtile()?
  댓글 수: 6
Salad Box
Salad Box 2019년 5월 16일
I'm using R2018a and I do have the 'Image processing Toolbox' but 'imtile is not found'. Does anyone know why?
Untitled.png
Image Analyst
Image Analyst 2019년 5월 17일
Because 2018a came out in March 2018, while 2018b (which is the release where imtile first was introduced) came out in September 2018. So your version came out BEFORE the function was introduced. Why not just upgrade?
Or stitch them together, like
rgb3 = [rgbImage1, regImage2, rgbImage3];
They must all have the same number of rows. If not, figure out how many rows need to be added to the smaller ones and use padarray(). Or else use imresize() to make them all the same size.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Lighting, Transparency, and Shading에 대해 자세히 알아보기

제품


릴리스

R2018b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by