mediaLib Library Functions mlib_ImageColorRGB2HSV(3MLIB)
NAME
mlib_ImageColorRGB2HSV - RGB to HSV color conversion
SYNOPSIS
cc [ flag... ] file... -lmlib [ library... ]
#include
mlib_status mlib_ImageColorRGB2HSV(mlib_image *dst, const mlib_image *src);
DESCRIPTION
The mlib_ImageColorRGB2HSV() function performs a conversion
from red/green/blue to hue/saturation/value. The source anddestination images must be three-channel images.
It uses the following equations: V = max(R, G, B) Vmin = min(R, G, B)S = (V - Vmin)/V
H = (5.0 + (V - B)/(V - Vmin))/6 if R = V and G = Vmin
H = (1.0 - (V - G)/(V - Vmin))/6 if R = V and B = Vmin
H = (1.0 + (V - R)/(V - Vmin))/6 if G = V and B = Vmin
H = (3.0 - (V - B)/(V - Vmin))/6 if G = V and R = Vmin
H = (3.0 + (V - G)/(V - Vmin))/6 if B = V and R = Vmin
H = (5.0 - (V - R)/(V - Vmin))/6 if B = V and G = Vmin
H = 0.0 if R = G = B where 0 < R, G, B, V, Vmin, S < 1 and 0 < H < 1. Assuming a pixel in the source image is (r, g, b) and its corresponding pixel in the destination image is (h, s, v),then for MLIB_BYTE images, the following applies:
R = r/255 G = g/255 B = b/255 h = H*256 s = S*255 v = V*255for MLIB_SHORT images, the following applies:
R = (r + 32768)/65535SunOS 5.11 Last change: 2 Mar 2007 1
mediaLib Library Functions mlib_ImageColorRGB2HSV(3MLIB)
G = (g + 32768)/65535 B = (b + 32768)/65535h = H*65536 - 32768
s = S*65535 - 32768
v = V*65535 - 32768
for MLIB_USHORT images, the following applies:
R = r/65535 G = g/65535 B = b/65535 h = H*65536 s = S*65535 v = V*65535and for MLIB_INT images, the following applies:
R = (r + 2147483648)/4294967295 G = (g + 2147483648)/4294967295 B = (b + 2147483648)/4294967295h = H*4294967296 - 2147483648
s = S*4294967295 - 2147483648
v = V*4294967295 - 2147483648
PARAMETERS
The function takes the following arguments: dst Pointer to destination image. src Pointer to source image.RETURN VALUES
The function returns MLIB_SUCCESS if successful. Otherwise
it returns MLIB_FAILURE.
ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:SunOS 5.11 Last change: 2 Mar 2007 2
mediaLib Library Functions mlib_ImageColorRGB2HSV(3MLIB)
____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Interface Stability | Committed ||_____________________________|_____________________________|
| MT-Level | MT-Safe |
|_____________________________|_____________________________|
SEE ALSO
mlib_ImageColorHSV2RGB(3MLIB),
mlib_ImageColorHSV2RGB_Fp(3MLIB),
mlib_ImageColorRGB2HSV_Fp(3MLIB), attributes(5)
SunOS 5.11 Last change: 2 Mar 2007 3