How to separate an image to rgb?

조회 수: 18 (최근 30일)
Jitha
Jitha 2013년 12월 31일
편집: DGM 2023년 2월 12일
how to divide an image into its r,g,and b colour planes,

채택된 답변

Image Analyst
Image Analyst 2013년 12월 31일
No reshaping is needed. Simply extract the color channels you need:
% Extract the individual red, green, and blue color channels.
redChannel = rgbImage(:, :, 1);
greenChannel = rgbImage(:, :, 2);
blueChannel = rgbImage(:, :, 3);
Then, to reverse the process and create an RGB image from three separate color channels:
% Recombine separate color channels into a single, true color RGB image.
rgbImage = cat(3, redChannel, greenChannel, blueChannel);
  댓글 수: 3
Walter Roberson
Walter Roberson 2017년 5월 14일
This code would definitely work if you have an RGB image stored in a variable named rgbImage .
It is possible, however, that this is not what you want done. What you might want done might be
% Extract the individual red, green, and blue color channels.
redChannel = rgbImage(:, :, 1);
greenChannel = rgbImage(:, :, 2);
blueChannel = rgbImage(:, :, 3);
z = zeros(size(rgbImage), class(rgbImage));
redImage = z; redImage(:,:,1) = redChannel;
greenImage = z; greenImage(:,:,2) = greenChannel;
blueImage = z; blueImage(:,:,3) = blueChannel;
subplot(2,2,1); image(rgbImage);
subplot(2,2,2); image(redImage);
subplot(2,2,3); image(greenImage);
subplot(2,2,4); image(blueImage);
atersaw tigyhun
atersaw tigyhun 2019년 7월 29일
이동: DGM 2023년 2월 12일
hahaha too long

댓글을 달려면 로그인하십시오.

추가 답변 (3개)

Sailesh Sidhwani
Sailesh Sidhwani 2018년 10월 25일
편집: Sailesh Sidhwani 2019년 7월 29일
Starting R2018b, Image Processing Toolbox has a new function "imsplit" which does exactly this: https://www.mathworks.com/help/images/ref/imsplit.html

ES
ES 2013년 12월 31일
I=imread('image.jpg')
will give I (a 3d array, of size [x,y,3] )where x and y are the dimensions of the image. 3 is for R, G, and B components.
To separate out the three components, you can do a
R = reshape(I(:,:,1),[],1);
G = reshape(I(:,:,2),[],1);
B = reshape(I(:,:,3),[],1);

Negesse Tadesse
Negesse Tadesse 2019년 7월 29일
편집: DGM 2023년 2월 12일
how about imsplit function?
[R G B] = imsplit(myImage);

카테고리

Help CenterFile Exchange에서 Image Processing Toolbox에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by