how to convert HSV to RGB

4 次查看(过去 30 天)
sanjay
sanjay 2014-3-21
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?

回答(2 个)

Patrik Ek
Patrik Ek 2014-3-21
编辑:Patrik Ek 2014-3-21
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 个评论
Image Analyst
Image Analyst 2014-3-21
If S and V are maxed out, that does not mean it's cyan.
Patrik Ek
Patrik Ek 2014-3-21
Right sorry about that, I will change it.

请先登录,再进行评论。


Image Analyst
Image Analyst 2014-3-21
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:

类别

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