Convert from HSV to RGB
MT
| FwStatus | fwiHSVToRGB_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
| FwStatus | fwiHSVToRGB_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
| FwStatus | fwiHSVToRGB_16u_C3R | ( | const Fw16u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
| FwStatus | fwiHSVToRGB_16u_AC4R | ( | const Fw16u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); |
| dstStep | Destination buffer step size (width of the buffer in bytes). | |
| pDst | Pointer to a location in a destination buffer. | |
| pSrc | Pointer to a location in a source buffer. | |
| roiSize | Specifies the height and width of an ROI. | |
| srcStep | Source buffer step size (width of the buffer in bytes). |
These functions step through an ROI in a source buffer, convert the source data from the HSV color space to the RGB color model, and write the converted data to a destination buffer.
An HSV image (pSrc) declared in the ROI is converted to a gamma-corrected RGB image (pDst) as follows.
if (S==0)
R = G = B = V
else
{
if (H == 360)
H = 0
else
H = H/60
I = floor(H)
F = H - I
M = V * (1 - S)
N = V * (1 - S * F)
K = V * (1 - s * (1 - F))
if (I == 0)
R = V
G = K
B = M
if (I == 1)
R = N
G = V
B = M
if (I == 2)
R = M
G = V
B = K
if (I == 3)
R = M
G = N
B = V
if (I == 4)
R = K
G = M
B = V
if (I == 5)
R = V
G = M
B = V
}
The computed image data is then scaled to the full range of the destination data type.