cc [ flag... ] file... –lmlib [ library... ] #include <mlib.h> mlib_status mlib_ImageColorHSV2RGB_Fp(mlib_image *dst, const mlib_image *src);
The mlib_ImageColorHSV2RGB_Fp() 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.
For MLIB_FLOAT and MLIB_DOUBLE images, the above equations are followed verbatim. Input H component values must be limited to the [0.0, 1.0) range. Input S and V component values must be limited to the [0.0, 1.0] range.
The function takes the following arguments:
Pointer to destination image.
Pointer to source image.
The function returns MLIB_SUCCESS if successful. Otherwise it returns MLIB_FAILURE.
See attributes(5) for descriptions of the following attributes:
|
mlib_ImageColorHSV2RGB(3MLIB), mlib_ImageColorRGB2HSV(3MLIB), mlib_ImageColorRGB2HSV_Fp(3MLIB), attributes(5)