Concatenation of images in one Matrix

2 views (last 30 days)
Hi all
I have 3 images having different size of 512x512,256x256,128x128
How can I concatenate them together in one matrix?
  3 Comments
Algorithms Analyst
Algorithms Analyst on 1 May 2014
I made a Gaussian pyramid of 3 layers.let say its 512*512,256*256,128*128. Now I have a cell array of this pyramid.now I want this pyramid in one matrix for further processing.
José-Luis
José-Luis on 1 May 2014
Edited: José-Luis on 1 May 2014
You can't have them in a single matrix if you don't resize or pad your matrices, or if you don't store everything as a single row/column vector, but I'm guessing the later is not what you want.

Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 2 May 2014
I'd put them into a structure. You can attach each image variable to the structure as a new field.
my3images.smallImage = smallImage128;
my3images.mediumImage = mediumImage256;
my3images.bigImage = bigImage512;
This lets you save all 3 images in a single variable with no change in their size . You could have an array of these structures if you had multiple sets of images.
You could also use a 1 by 3 cell array if you want but I think cell arrays are more complicated because there's often confusion over whether to use parentheses of braces.

More Answers (1)

Azzi Abdelmalek
Azzi Abdelmalek on 1 May 2014
Suppose im1 is 512x512, im2 is 256x256 and im3 is 128x128
[n,m,p]=size(im1);
new_im2=imresize(im2,n,m);
new_im3=imresize(im3,n,m);
im_final=[im1;new_im2;new_im3]

Community Treasure Hunt

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

Start Hunting!