Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

New to MATLAB?

how to convert HSV to RGB

Asked by sanjay

sanjay (view profile)

on 21 Mar 2014
Latest activity Answered by Image Analyst

Image Analyst (view profile)

on 21 Mar 2014

i extracted h = hsv(:,:,1), s = hsv0(:,:,2), and v= hsv(:,:,3) from(hsv = rgb2hsv();) now i modify h and then i have to convert it back to RGB image.

I mean input of hsv2rgb function are what type?

0 Comments

sanjay

sanjay (view profile)

2 Answers

Answer by Patrik Ek

Patrik Ek (view profile)

on 21 Mar 2014
Edited by Patrik Ek

Patrik Ek (view profile)

on 21 Mar 2014

The input for rgb2hsv is a rgb color vector [r g b] where intensities is between 0 and 1 the the other way it is vice versa. The type is a single or a double matrix.

a = [1 0 0];     % red
b = rgb2hsv(a);  % [0 1 1], hsv converted
c = hsv2rgb(b)   % [1 0 0], red again

2 Comments

Image Analyst

Image Analyst (view profile)

on 21 Mar 2014

If S and V are maxed out, that does not mean it's cyan.

Patrik Ek

Patrik Ek (view profile)

on 21 Mar 2014

Right sorry about that, I will change it.

Patrik Ek

Patrik Ek (view profile)

Answer by Image Analyst

Image Analyst (view profile)

on 21 Mar 2014

Attached you'll find a very interesting demo converting rgb to hsv and lab for nearly all values of rgb. This is an adaptation/extension of something I got from Jeff Mather from the Mathworks imaging team. It really lets you see the "colors" of lab and hsv in different parts of their color space and for different "intensity" levels. As part of it, it does do the RGB to HSV conversion you are asking about. Shown below is one of the 4 figures it creates:

0 Comments

Image Analyst

Image Analyst (view profile)

Contact us