How to combine multiple images into an array

I have a set of 7 images each of size 256x256x3 but since these images are all in gray scale then the channels "3" are useless. My question is how can I combine these seven images in an array or cell of size 256x256x7?
I tried using the cat function
I=cat(3,img1,img2,img3,img4,img5,img6,img7)
but this returned a cell of size 256x256x21

 Accepted Answer

Dave B
Dave B on 17 Oct 2021
Edited: Dave B on 17 Oct 2021
You can convert a 'greyscale' RGB image to a 2D image in a few ways. For instance: you could just take one channel (like the red channel) if the red and green and blue channels are all identical, or you could take the mean or use im2gray (if the signal you're interested in is gray but the data are in color).
I=cat(3,img1(:,:,1),img2(:,:,1),img3(:,:,1),img4(:,:,1),img5(:,:,1),img6(:,:,1),img7(:,:,1))
I=cat(3,im2gray(img1),im2gray(img2),im2gray(img3),im2gray(img4),im2gray(img5),im2gray(img6),im2gray(img7))

More Answers (0)

Categories

Find more on Images in Help Center and File Exchange

Asked:

on 17 Oct 2021

Edited:

on 17 Oct 2021

Community Treasure Hunt

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

Start Hunting!