mediaLib Library Functions mlibImageColorHSV2RGB(3MLIB)
NAME
mlibImageColorHSV2RGB - HSV to RGB color conversion
SYNOPSIS
cc [ flag... ] file... -lmlib [ library... ]
#include
mlibstatus mlibImageColorHSV2RGB(mlibimage *dst, const mlibimage *src);
DESCRIPTION
The mlibImageColorHSV2RGB() function performs a conversion
from hue/saturation/value to red/green/blue. The source and
destination images must be three-channel images.
It uses the following equations:
P = V*(1 - S)
Q = V*(1 - S*fraction(H*6))
T = V*(1 - S*(1 - fraction(H*6)))
R, G, B = V, T, P if 0 < H < 1/6
R, G, B = Q, V, P if 1/6 < H < 2/6
R, G, B = P, V, T if 2/6 < H < 3/6
R, G, B = P, Q, V if 3/6 < H < 4/6
R, G, B = T, P, V if 4/6 < H < 5/6
R, G, B = V, P, Q if 5/6 < H < 1
where 0 < H < 1 and 0 < S, V, P, Q, T, R, G, B < 1.
Assuming a pixel in the source image is (h, s, v) and its
corresponding pixel in the destination image is (r, g, b),
then for MLIBYTE images, the following applies:
H = h/256
S = s/255
V = v/255
r = R*255
g = G*255
b = B*255
for MLIBSHORT images, the following applies:
H = (h ] 32768)/65536
S = (s ] 32768)/65535
V = (v ] 32768)/65535
SunOS 5.11 Last change: 12 Sep 2007 1
mediaLib Library Functions mlibImageColorHSV2RGB(3MLIB)
r = R*65535 - 32768
g = G*65535 - 32768
b = B*65535 - 32768
for MLIBUSHORT images, the following applies:
H = h/65536
S = s/65535
V = v/65535
r = R*65535
g = G*65535
b = B*65535
and for MLIBINT images, the following applies:
H = (h ] 2147483648)/4294967296
S = (s ] 2147483648)/4294967295
V = (v ] 2147483648)/4294967295
r = R*4294967295 - 2147483648
g = G*4294967295 - 2147483648
b = B*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: 12 Sep 2007 2
mediaLib Library Functions mlibImageColorHSV2RGB(3MLIB)
ATRIBUTE TYPE ATRIBUTE VALUE
Interface Stability Committed
MT-Level MT-Safe
SEE ALSO
mlibImageColorHSV2RGBFp(3MLIB),
mlibImageColorRGB2HSV(3MLIB),
mlibImageColorRGB2HSVFp(3MLIB), attributes(5)
SunOS 5.11 Last change: 12 Sep 2007 3
|