필터 지우기
필터 지우기

How can I split an hsv image into separate h,s,v components?

조회 수: 11 (최근 30일)
Vishnu R
Vishnu R 2015년 10월 12일
댓글: DGM 2022년 10월 27일
I have a white balanced image in rgb format. I want to convert the rgb image into hsv image and want to split into separate h,s,v components

채택된 답변

Walter Roberson
Walter Roberson 2015년 10월 12일
HSV = rgb2hsv(YourRGBImage);
H = HSV(:,:,1);
S = HSV(:,:,2);
V = HSV(:,:,3);
  댓글 수: 2
XAVIER
XAVIER 2022년 10월 27일
Hi! How can I split mutiple images?
DGM
DGM 2022년 10월 27일
I'm going to assume that these images are still on disk and need to be read. If that's the case, then the question is largely "how do I read multiple images". The details might depend on whether you need to process the images sequentially or together, but there are a number of examples on the forum:
There are also quite a few examples (even some within those) that include writing multiple files, as that's often part of the same task.
A more detailed and specific answer would require a more detailed description of the overall task and the intended workflow. That said, elaborating might warrant starting a new thread.

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

추가 답변 (1개)

DGM
DGM 2021년 11월 15일
편집: DGM 2021년 11월 15일
Since R2018b, you can also use imsplit(). Imsplit will work on any multichannel image.
% you can split an RGB image into its channels
Argb = imread('peppers.png');
[R G B] = imsplit(Argb);
% or you can split an HSV image just the same
Ahsv = rgb2hsv(Argb);
[H S V] = imsplit(Ahsv);
% it would even work if the number of channels isn't 3
Argba = cat(3,Argb,im2uint8(V)); % maybe you have an alpha channel
[R G B A] = imsplit(Argba);

카테고리

Help CenterFile Exchange에서 Convert Image Type에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by