How to concatenate only two planes of an image.

3 views (last 30 days)
I have split an RGB image into its 3 different components, now i need a new image that is just the combination of the red and green planes. How do I do this? I used the 'cat' function, and then displayed the image, but it just displays these images next to each other.

Answers (2)

Image Analyst
Image Analyst on 24 Mar 2016
Try this
blackImage = zeros(size(redChannel), 'uint8');
rgbImage = cat(3, redChannel, greenChannel, blackImage);
imshow(rgbImage);
  2 Comments
Aditya
Aditya on 24 Mar 2016
Thank you for helping, I have tried this already but i want the new image to be only in 2 dimensions not 3.
Image Analyst
Image Analyst on 25 Mar 2016
Then to get a 2D image, stitch them together either side by side or top and bottom
tallImage = [redChannel; greenChannel];
wideImage = [redChannel, greenChannel];
Of course the images will be gray scale not color since to be color you need a third dimension.

Sign in to comment.


Azzi Abdelmalek
Azzi Abdelmalek on 24 Mar 2016
img = imread('ngc6543a.jpg');
red = img(:,:,1); % Red
green = img(:,:,2); % Green
blue = img(:,:,3); % Blue
[n,m,~]=size(img)
a = zeros(n, m);
out=cat(3,red,green,a)
  3 Comments
Vivek
Vivek on 14 Jan 2023
Same problem Aditya I have two images and I want to make a single image from these two but using these commands the output image is in 3d dimension but I want to in 2D dimension.

Sign in to comment.

Categories

Find more on Images 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!