hi, if i have 3 image can i extract one color channel from image (red channel from image 1, green channel from image 2, blue channel from image 3) and merge them in new image?

 Accepted Answer

Amit
Amit on 4 Apr 2018
Edited: KSSV on 4 Apr 2018
Yes you can do this as:
im1= imread('image1.jpg');
im2= imread('image2.jpg');
im3= imread('image3.jpg');
r = im1(:,:,1);
g = im2(:,:,2);
b = im3(:,:,3);
NewImage = cat(3,r,g,b);
imshow(NewImage)

More Answers (1)

KSSV
KSSV on 4 Apr 2018
Edited: KSSV on 4 Apr 2018
I1 = imread('image1') ;
I2 = imread('image2') ;
I3 = imread('image3') ;
R = I1(:,:,1) ;
[nx,ny] = size(R) ;
G = imresize(I2(:,:,2),[nx,ny]) ; % in case if the dimensions are different
B = imresize(I3(:,:,3),[nx,ny]) ;
I = cat(3,R,G,B) ;
imshow(I)

1 Comment

Thank you for help, I am very Thankful for this.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!