mediaLib Library Functions mlibImageColorRGB2HSV(3MLIB)
NAME
mlibImageColorRGB2HSV - RGB to HSV color conversion
SYNOPSIS
cc [ flag... ] file... -lmlib [ library... ]
#include
mlibstatus mlibImageColorRGB2HSV(mlibimage *dst, const mlibimage *src);
DESCRIPTION
The mlibImageColorRGB2HSV() function performs a conversion
from red/green/blue to hue/saturation/value. The source and
destination 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 MLIBYTE images, the following applies:
R = r/255
G = g/255
B = b/255
h = H*256
s = S*255
v = V*255
for MLIBSHORT images, the following applies:
R = (r ] 32768)/65535
SunOS 5.11 Last change: 2 Mar 2007 1
mediaLib Library Functions mlibImageColorRGB2HSV(3MLIB)
G = (g ] 32768)/65535
B = (b ] 32768)/65535
h = H*65536 - 32768
s = S*65535 - 32768
v = V*65535 - 32768
for MLIBUSHORT images, the following applies:
R = r/65535
G = g/65535
B = b/65535
h = H*65536
s = S*65535
v = V*65535
and for MLIBINT images, the following applies:
R = (r ] 2147483648)/4294967295
G = (g ] 2147483648)/4294967295
B = (b ] 2147483648)/4294967295
h = 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 MLIBSUCES if successful. Otherwise
it returns MLIBFAILURE.
ATRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
SunOS 5.11 Last change: 2 Mar 2007 2
mediaLib Library Functions mlibImageColorRGB2HSV(3MLIB)
ATRIBUTE TYPE ATRIBUTE VALUE
Interface Stability Committed
MT-Level MT-Safe
SEE ALSO
mlibImageColorHSV2RGB(3MLIB),
mlibImageColorHSV2RGBFp(3MLIB),
mlibImageColorRGB2HSVFp(3MLIB), attributes(5)
SunOS 5.11 Last change: 2 Mar 2007 3
|