How to combine multiple images into an array

23 views (last 30 days)
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 Modify Image Colors in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!