Hello.How can I display the H,S,V components separately in matlab on the example below?Please,canyou help me?

 Accepted Answer

Maik
Maik on 7 Nov 2022
Edited: Maik on 7 Nov 2022
Im = imread('peppers.png');
% Display RGB image
figure;imshow(Im);
% Convert RGB to HSV
hsvIm = rgb2hsv(Im);
% Display HSV channels
hChannel = hsvIm(:,:,1);
figure;imshow(hChannel);
sChannel = hsvIm(:,:,2);
figure;imshow(sChannel);
vChannel = hsvIm(:,:,3);
figure;imshow(vChannel);

3 Comments

John D'Errico
John D'Errico on 7 Nov 2022
Edited: John D'Errico on 7 Nov 2022
oops. You plotted the same channel, three times. Did you notice that all thee plots look amazingly similar? ;-)
Maik
Maik on 7 Nov 2022
Thanks changed it now. :)
@Maik Thank you.

Sign in to comment.

More Answers (2)

trivial, really.
help rgb2hsv
RGB2HSV Convert red-green-blue colors to hue-saturation-value. H = RGB2HSV(M) converts an RGB color map to an HSV color map. Each map is a matrix with any number of rows, exactly three columns, and elements in the interval 0 to 1. The columns of the input matrix, M, represent intensity of red, green and blue, respectively. The columns of the resulting output matrix, H, represent hue, saturation and color value, respectively. HSV = RGB2HSV(RGB) converts the RGB image RGB (3-D array) to the equivalent HSV image HSV (3-D array). CLASS SUPPORT ------------- If the input is an RGB image, it can be of class uint8, uint16, single, or double. The output image is single when the input is single. For all other input data types, the output image is double. If the input is a colormap, the input and output colormaps are both of class double. See also HSV2RGB, COLORMAP, RGBPLOT. Documentation for rgb2hsv doc rgb2hsv Other uses of rgb2hsv codistributed/rgb2hsv gpuArray/rgb2hsv
So simply convert to HSV. Then you can use a tool like imshow
waves = imread('waves.jpg');
waves_HSV = rgb2hsv(waves);
imshow(waves_HSV(:,:,1))
title 'H channel'
imshow(waves_HSV(:,:,2))
title 'S channel'
imshow(waves_HSV(:,:,3))
title 'V channel'
Easy peasy.
hsvImage = rgb2hsv(rgbImage);
[hImage, sImage, vImage] = imsplit(hsvImage);

Community Treasure Hunt

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

Start Hunting!