Intel® Integrated Performance Primitives (Intel® IPP) Developer Guide and Reference
A newer version of this document is available. Customers should click here to go to the newest version.
HSVToRGB
Converts an HSV image to the RGB color model.
Syntax
IppStatus ippiHSVToRGB_<mod>(const Ipp<datatype>* pSrc, int srcStep, Ipp<datatype>* pDst, int dstStep, IppiSize roiSize);
Supported values for mod:
| 8u_C3R | 16u_C3R | 
| 8u_AC4R | 16u_AC4R | 
Include Files
ippcc.h
Domain Dependencies
Headers: ippcore.h, ippvm.h, ipps.h, ippi.h
Libraries: ippcore.lib, ippvm.lib, ipps.lib, ippi.lib
Parameters
| pSrc | Pointer to the source image ROI. | 
| srcStep | Distance in bytes between starts of consecutive lines in the source image. | 
| pDst | Pointer to the destination image ROI. | 
| dstStep | Distance in bytes between starts of consecutive lines in the destination image. | 
| roiSize | Size of the source and destination ROI in pixels. | 
Description
This function operates with ROI (see Regions of Interest in Intel IPP).
This function converts a HSV image pSrc to the image R'G'B'pDst.
The conversion algorithm from HSV to RGB can be represented in pseudocode as follows:
if S = 0 then    R = G = B = V else     if H = 360 then         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)then{ R = V;G = K;B = M;}      if(I == 1)then{ R = N;G = V;B = M;}      if(I == 2)then{ R = M;G = V;B = K;}      if(I == 3)then{ R = M;G = N;B = V;}      if(I == 4)then{ R = K;G = M;B = V;}      if(I == 5)then{ R = V;G = M;B = N;} 
   The computed R',G',B' values are scaled to the full range of the destination data type (see Table “Image Data Types and Ranges”).
Return Values
| ippStsNoErr | Indicates no error. Any other value indicates an error. | 
| ippStsNullPtrErr | Indicates an error condition if pSrc or pDst is NULL. | 
| ippStsSizeErr | Indicates an error condition if roiSize has a field with a zero or negative value. |