Wondercoll
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
Macros | Typedefs | Functions | Variables
cvcolor.cpp File Reference
#include "_cv.h"

Macros

#define CV_IMPL_BGRX2BGR(flavor, arrtype)
 
#define CV_IMPL_BGR2BGRX(flavor, arrtype)
 
#define CV_IMPL_BGRA2RGBA(flavor, arrtype)
 
#define CV_IMPL_BGRx2ABC_IPP(flavor, arrtype)
 
#define CV_IMPL_ABC2BGRx_IPP(flavor, arrtype)
 
#define fix(x, n)   (int)((x)*(1 << (n)) + 0.5)
 
#define descale   CV_DESCALE
 
#define cscGr_32f   0.299f
 
#define cscGg_32f   0.587f
 
#define cscGb_32f   0.114f
 
#define csc_shift   14
 
#define cscGr   fix(cscGr_32f,csc_shift)
 
#define cscGg   fix(cscGg_32f,csc_shift)
 
#define cscGb   /*fix(cscGb_32f,csc_shift)*/ ((1 << csc_shift) - cscGr - cscGg)
 
#define CV_IMPL_GRAY2BGRX(flavor, arrtype)
 
#define yuvYr_32f   cscGr_32f
 
#define yuvYg_32f   cscGg_32f
 
#define yuvYb_32f   cscGb_32f
 
#define yuvCr_32f   0.713f
 
#define yuvCb_32f   0.564f
 
#define yuv_shift   14
 
#define yuvYr   fix(yuvYr_32f,yuv_shift)
 
#define yuvYg   fix(yuvYg_32f,yuv_shift)
 
#define yuvYb   fix(yuvYb_32f,yuv_shift)
 
#define yuvCr   fix(yuvCr_32f,yuv_shift)
 
#define yuvCb   fix(yuvCb_32f,yuv_shift)
 
#define yuv_descale(x)   CV_DESCALE((x), yuv_shift)
 
#define yuv_prescale(x)   ((x) << yuv_shift)
 
#define yuvRCr_32f   1.403f
 
#define yuvGCr_32f   (-0.714f)
 
#define yuvGCb_32f   (-0.344f)
 
#define yuvBCb_32f   1.773f
 
#define yuvRCr   fix(yuvRCr_32f,yuv_shift)
 
#define yuvGCr   (-fix(-yuvGCr_32f,yuv_shift))
 
#define yuvGCb   (-fix(-yuvGCb_32f,yuv_shift))
 
#define yuvBCb   fix(yuvBCb_32f,yuv_shift)
 
#define CV_IMPL_BGRx2YCrCb(flavor, arrtype, worktype, scale_macro, cast_macro,YUV_YB, YUV_YG, YUV_YR, YUV_CR, YUV_CB, YUV_Cx_BIAS)
 
#define CV_IMPL_YCrCb2BGRx(flavor, arrtype, worktype, prescale_macro,scale_macro, cast_macro, YUV_BCb, YUV_GCr, YUV_GCb, YUV_RCr, YUV_Cx_BIAS)
 
#define xyzXr_32f   0.412453f
 
#define xyzXg_32f   0.357580f
 
#define xyzXb_32f   0.180423f
 
#define xyzYr_32f   0.212671f
 
#define xyzYg_32f   0.715160f
 
#define xyzYb_32f   0.072169f
 
#define xyzZr_32f   0.019334f
 
#define xyzZg_32f   0.119193f
 
#define xyzZb_32f   0.950227f
 
#define xyzRx_32f   3.240479f
 
#define xyzRy_32f   (-1.53715f)
 
#define xyzRz_32f   (-0.498535f)
 
#define xyzGx_32f   (-0.969256f)
 
#define xyzGy_32f   1.875991f
 
#define xyzGz_32f   0.041556f
 
#define xyzBx_32f   0.055648f
 
#define xyzBy_32f   (-0.204043f)
 
#define xyzBz_32f   1.057311f
 
#define xyz_shift   10
 
#define xyzXr_32s   fix(xyzXr_32f, xyz_shift )
 
#define xyzXg_32s   fix(xyzXg_32f, xyz_shift )
 
#define xyzXb_32s   fix(xyzXb_32f, xyz_shift )
 
#define xyzYr_32s   fix(xyzYr_32f, xyz_shift )
 
#define xyzYg_32s   fix(xyzYg_32f, xyz_shift )
 
#define xyzYb_32s   fix(xyzYb_32f, xyz_shift )
 
#define xyzZr_32s   fix(xyzZr_32f, xyz_shift )
 
#define xyzZg_32s   fix(xyzZg_32f, xyz_shift )
 
#define xyzZb_32s   fix(xyzZb_32f, xyz_shift )
 
#define xyzRx_32s   fix(3.240479f, xyz_shift )
 
#define xyzRy_32s   -fix(1.53715f, xyz_shift )
 
#define xyzRz_32s   -fix(0.498535f, xyz_shift )
 
#define xyzGx_32s   -fix(0.969256f, xyz_shift )
 
#define xyzGy_32s   fix(1.875991f, xyz_shift )
 
#define xyzGz_32s   fix(0.041556f, xyz_shift )
 
#define xyzBx_32s   fix(0.055648f, xyz_shift )
 
#define xyzBy_32s   -fix(0.204043f, xyz_shift )
 
#define xyzBz_32s   fix(1.057311f, xyz_shift )
 
#define xyz_descale(x)   CV_DESCALE((x),xyz_shift)
 
#define CV_IMPL_BGRx2XYZ(flavor, arrtype, worktype,scale_macro, cast_macro, suffix)
 
#define CV_IMPL_XYZ2BGRx(flavor, arrtype, worktype, scale_macro,cast_macro, suffix)
 
#define labXr_32f   0.433953f /* = xyzXr_32f / 0.950456 */
 
#define labXg_32f   0.376219f /* = xyzXg_32f / 0.950456 */
 
#define labXb_32f   0.189828f /* = xyzXb_32f / 0.950456 */
 
#define labYr_32f   0.212671f /* = xyzYr_32f */
 
#define labYg_32f   0.715160f /* = xyzYg_32f */
 
#define labYb_32f   0.072169f /* = xyzYb_32f */
 
#define labZr_32f   0.017758f /* = xyzZr_32f / 1.088754 */
 
#define labZg_32f   0.109477f /* = xyzZg_32f / 1.088754 */
 
#define labZb_32f   0.872766f /* = xyzZb_32f / 1.088754 */
 
#define labRx_32f   3.0799327f /* = xyzRx_32f * 0.950456 */
 
#define labRy_32f   (-1.53715f) /* = xyzRy_32f */
 
#define labRz_32f   (-0.542782f)/* = xyzRz_32f * 1.088754 */
 
#define labGx_32f   (-0.921235f)/* = xyzGx_32f * 0.950456 */
 
#define labGy_32f   1.875991f /* = xyzGy_32f */
 
#define labGz_32f   0.04524426f /* = xyzGz_32f * 1.088754 */
 
#define labBx_32f   0.0528909755f /* = xyzBx_32f * 0.950456 */
 
#define labBy_32f   (-0.204043f) /* = xyzBy_32f */
 
#define labBz_32f   1.15115158f /* = xyzBz_32f * 1.088754 */
 
#define labT_32f   0.008856f
 
#define labT   fix(labT_32f*255,lab_shift)
 
#define lab_shift   10
 
#define labXr   fix(labXr_32f,lab_shift)
 
#define labXg   fix(labXg_32f,lab_shift)
 
#define labXb   fix(labXb_32f,lab_shift)
 
#define labYr   fix(labYr_32f,lab_shift)
 
#define labYg   fix(labYg_32f,lab_shift)
 
#define labYb   fix(labYb_32f,lab_shift)
 
#define labZr   fix(labZr_32f,lab_shift)
 
#define labZg   fix(labZg_32f,lab_shift)
 
#define labZb   fix(labZb_32f,lab_shift)
 
#define labSmallScale_32f   7.787f
 
#define labSmallShift_32f   0.13793103448275862f /* 16/116 */
 
#define labLScale_32f   116.f
 
#define labLShift_32f   16.f
 
#define labLScale2_32f   903.3f
 
#define labSmallScale   fix(31.27 /* labSmallScale_32f*(1<<lab_shift)/255 */,lab_shift)
 
#define labSmallShift   fix(141.24138 /* labSmallScale_32f*(1<<lab) */,lab_shift)
 
#define labLScale   fix(295.8 /* labLScale_32f*255/100 */,lab_shift)
 
#define labLShift   fix(41779.2 /* labLShift_32f*1024*255/100 */,lab_shift)
 
#define labLScale2   fix(labLScale2_32f*0.01,lab_shift)
 
#define luvUn_32f   0.19793943f
 
#define luvVn_32f   0.46831096f
 
#define luvYmin_32f   0.05882353f /* 15/255 */
 

Typedefs

typedef CvStatus(CV_STDCALLCvColorCvtFunc0 )(const void *src, int srcstep, void *dst, int dststep, CvSize size)
 
typedef CvStatus(CV_STDCALLCvColorCvtFunc1 )(const void *src, int srcstep, void *dst, int dststep, CvSize size, int param0)
 
typedef CvStatus(CV_STDCALLCvColorCvtFunc2 )(const void *src, int srcstep, void *dst, int dststep, CvSize size, int param0, int param1)
 
typedef CvStatus(CV_STDCALLCvColorCvtFunc3 )(const void *src, int srcstep, void *dst, int dststep, CvSize size, int param0, int param1, int param2)
 

Functions

 CV_IMPL_BGRx2ABC_IPP (16u, ushort) CV_IMPL_BGRx2ABC_IPP(32f
 
 CV_IMPL_ABC2BGRx_IPP (8u, uchar) CV_IMPL_ABC2BGRx_IPP(16u
 
ushort CV_IMPL_ABC2BGRx_IPP (32f, float) static CvStatus CV_STDCALL icvBGR5x52Gray_8u_C2C1R(const uchar *src
 
 assert (green_bits==5||green_bits==6)
 
 for (;size.height--;src+=srcstep, dst+=dststep)
 
 CV_IMPL_BGRx2YCrCb (8u, uchar, int, yuv_descale, CV_CAST_8U, yuvYb, yuvYg, yuvYr, yuvCr, yuvCb, 128) CV_IMPL_BGRx2YCrCb(16u
 
 CV_IMPL_BGRx2YCrCb (32f, float, float, CV_NOP, CV_NOP, yuvYb_32f, yuvYg_32f, yuvYr_32f, yuvCr_32f, yuvCb_32f, 0.5f) CV_IMPL_YCrCb2BGRx(8u
 
 CV_IMPL_YCrCb2BGRx (16u, ushort, int, yuv_prescale, yuv_descale, CV_CAST_16U, yuvBCb, yuvGCr, yuvGCb, yuvRCr, 32768) CV_IMPL_YCrCb2BGRx(32f
 
 CV_IMPL_BGRx2XYZ (8u, uchar, int, xyz_descale, CV_CAST_8U, _32s) CV_IMPL_BGRx2XYZ(16u
 
_32s CV_IMPL_BGRx2XYZ (32f, float, float, CV_NOP, CV_NOP, _32f) CV_IMPL_XYZ2BGRx(8u
 
_32s _32s CV_IMPL_XYZ2BGRx (16u, ushort, int, xyz_descale, CV_CAST_16U, _32s) CV_IMPL_XYZ2BGRx(32f
 
CV_IMPL void cvCvtColor (const CvArr *srcarr, CvArr *dstarr, int code)
 

Variables

icvRGB2XYZ_8u_C3R_t icvRGB2XYZ_8u_C3R_p = 0
 
icvRGB2XYZ_16u_C3R_t icvRGB2XYZ_16u_C3R_p = 0
 
icvRGB2XYZ_32f_C3R_t icvRGB2XYZ_32f_C3R_p = 0
 
icvXYZ2RGB_8u_C3R_t icvXYZ2RGB_8u_C3R_p = 0
 
icvXYZ2RGB_16u_C3R_t icvXYZ2RGB_16u_C3R_p = 0
 
icvXYZ2RGB_32f_C3R_t icvXYZ2RGB_32f_C3R_p = 0
 
icvRGB2HSV_8u_C3R_t icvRGB2HSV_8u_C3R_p = 0
 
icvHSV2RGB_8u_C3R_t icvHSV2RGB_8u_C3R_p = 0
 
icvBGR2Lab_8u_C3R_t icvBGR2Lab_8u_C3R_p = 0
 
icvLab2BGR_8u_C3R_t icvLab2BGR_8u_C3R_p = 0
 
icvRGB2HLS_8u_C3R_t icvRGB2HLS_8u_C3R_p = 0
 
icvRGB2HLS_32f_C3R_t icvRGB2HLS_32f_C3R_p = 0
 
icvHLS2RGB_8u_C3R_t icvHLS2RGB_8u_C3R_p = 0
 
icvHLS2RGB_32f_C3R_t icvHLS2RGB_32f_C3R_p = 0
 
icvRGB2Luv_8u_C3R_t icvRGB2Luv_8u_C3R_p = 0
 
icvLuv2RGB_8u_C3R_t icvLuv2RGB_8u_C3R_p = 0
 
ushort int srcstep
 
ushort int uchardst
 
ushort int uchar int dststep
 
ushort int uchar int CvSize size
 
ushort int uchar int CvSize int green_bits
 
return CV_OK
 
 ushort
 
 int
 
 yuv_descale
 
 CV_CAST_16U
 
 yuvYb
 
 yuvYg
 
 yuvYr
 
 yuvCr
 
 yuvCb
 
 uchar
 
 yuv_prescale
 
 CV_CAST_8U
 
 yuvBCb
 
 yuvGCr
 
 yuvGCb
 
 yuvRCr
 
 float
 
 CV_NOP
 
 yuvBCb_32f
 
 yuvGCr_32f
 
 yuvGCb_32f
 
 yuvRCr_32f
 
 xyz_descale
 

Macro Definition Documentation

#define csc_shift   14
#define cscGb   /*fix(cscGb_32f,csc_shift)*/ ((1 << csc_shift) - cscGr - cscGg)
#define cscGb_32f   0.114f
#define cscGg   fix(cscGg_32f,csc_shift)
#define cscGg_32f   0.587f
#define cscGr   fix(cscGr_32f,csc_shift)
#define cscGr_32f   0.299f
#define CV_IMPL_ABC2BGRx_IPP (   flavor,
  arrtype 
)
#define CV_IMPL_BGR2BGRX (   flavor,
  arrtype 
)
Value:
static CvStatus CV_STDCALL \
icvBGR2BGRx_##flavor##_C3C4R( const arrtype* src, int srcstep, \
arrtype* dst, int dststep, \
CvSize size, int blue_idx ) \
{ \
int i; \
\
srcstep /= sizeof(src[0]); \
dststep /= sizeof(dst[0]); \
srcstep -= size.width*3; \
size.width *= 4; \
for( ; size.height--; src += srcstep, dst += dststep ) \
{ \
for( i = 0; i < size.width; i += 4, src += 3 ) \
{ \
arrtype t0=src[blue_idx], t1=src[1], t2=src[blue_idx^2]; \
dst[i] = t0; \
dst[i+1] = t1; \
dst[i+2] = t2; \
dst[i+3] = 0; \
} \
} \
\
return CV_OK; \
}
#define CV_IMPL_BGRA2RGBA (   flavor,
  arrtype 
)
Value:
static CvStatus CV_STDCALL \
icvBGRA2RGBA_##flavor##_C4R( const arrtype* src, int srcstep, \
{ \
int i; \
\
srcstep /= sizeof(src[0]); \
dststep /= sizeof(dst[0]); \
size.width *= 4; \
for( ; size.height--; src += srcstep, dst += dststep ) \
{ \
for( i = 0; i < size.width; i += 4 ) \
{ \
arrtype t0 = src[2], t1 = src[1], t2 = src[0], t3 = src[3]; \
dst[i] = t0; \
dst[i+1] = t1; \
dst[i+2] = t2; \
dst[i+3] = t3; \
} \
} \
\
return CV_OK; \
}
#define CV_IMPL_BGRx2ABC_IPP (   flavor,
  arrtype 
)
#define CV_IMPL_BGRX2BGR (   flavor,
  arrtype 
)
Value:
static CvStatus CV_STDCALL \
icvBGRx2BGR_##flavor##_CnC3R( const arrtype* src, int srcstep, \
arrtype* dst, int dststep, \
CvSize size, int src_cn, int blue_idx ) \
{ \
int i; \
\
srcstep /= sizeof(src[0]); \
dststep /= sizeof(dst[0]); \
srcstep -= size.width*src_cn; \
size.width *= 3; \
for( ; size.height--; src += srcstep, dst += dststep ) \
{ \
for( i = 0; i < size.width; i += 3, src += src_cn ) \
{ \
arrtype t0=src[blue_idx], t1=src[1], t2=src[blue_idx^2]; \
dst[i] = t0; \
dst[i+1] = t1; \
dst[i+2] = t2; \
} \
} \
\
return CV_OK; \
}
#define CV_IMPL_BGRx2XYZ (   flavor,
  arrtype,
  worktype,
  scale_macro,
  cast_macro,
  suffix 
)
#define CV_IMPL_BGRx2YCrCb (   flavor,
  arrtype,
  worktype,
  scale_macro,
  cast_macro,
  YUV_YB,
  YUV_YG,
  YUV_YR,
  YUV_CR,
  YUV_CB,
  YUV_Cx_BIAS 
)
Value:
static CvStatus CV_STDCALL \
icvBGRx2YCrCb_##flavor##_CnC3R( const arrtype* src, int srcstep, \
arrtype* dst, int dststep, CvSize size, int src_cn, int blue_idx ) \
{ \
int i; \
srcstep /= sizeof(src[0]); \
dststep /= sizeof(src[0]); \
srcstep -= size.width*src_cn; \
size.width *= 3; \
for( ; size.height--; src += srcstep, dst += dststep ) \
{ \
for( i = 0; i < size.width; i += 3, src += src_cn ) \
{ \
worktype b = src[blue_idx], r = src[2^blue_idx], y; \
y = scale_macro(b*YUV_YB + src[1]*YUV_YG + r*YUV_YR); \
r = scale_macro((r - y)*YUV_CR) + YUV_Cx_BIAS; \
b = scale_macro((b - y)*YUV_CB) + YUV_Cx_BIAS; \
dst[i] = cast_macro(y); \
dst[i+1] = cast_macro(r); \
dst[i+2] = cast_macro(b); \
} \
} \
\
return CV_OK; \
}
#define CV_IMPL_GRAY2BGRX (   flavor,
  arrtype 
)
Value:
static CvStatus CV_STDCALL \
icvGray2BGRx_##flavor##_C1CnR( const arrtype* src, int srcstep, \
int dst_cn ) \
{ \
int i; \
srcstep /= sizeof(src[0]); \
dststep /= sizeof(src[0]); \
dststep -= size.width*dst_cn; \
for( ; size.height--; src += srcstep, dst += dststep ) \
{ \
if( dst_cn == 3 ) \
for( i = 0; i < size.width; i++, dst += 3 ) \
dst[0] = dst[1] = dst[2] = src[i]; \
for( i = 0; i < size.width; i++, dst += 4 ) \
{ \
dst[0] = dst[1] = dst[2] = src[i]; \
dst[3] = 0; \
} \
} \
\
return CV_OK; \
}
#define CV_IMPL_XYZ2BGRx (   flavor,
  arrtype,
  worktype,
  scale_macro,
  cast_macro,
  suffix 
)
#define CV_IMPL_YCrCb2BGRx (   flavor,
  arrtype,
  worktype,
  prescale_macro,
  scale_macro,
  cast_macro,
  YUV_BCb,
  YUV_GCr,
  YUV_GCb,
  YUV_RCr,
  YUV_Cx_BIAS 
)
#define descale   CV_DESCALE
#define fix (   x,
  n 
)    (int)((x)*(1 << (n)) + 0.5)
#define lab_shift   10
#define labBx_32f   0.0528909755f /* = xyzBx_32f * 0.950456 */
#define labBy_32f   (-0.204043f) /* = xyzBy_32f */
#define labBz_32f   1.15115158f /* = xyzBz_32f * 1.088754 */
#define labGx_32f   (-0.921235f)/* = xyzGx_32f * 0.950456 */
#define labGy_32f   1.875991f /* = xyzGy_32f */
#define labGz_32f   0.04524426f /* = xyzGz_32f * 1.088754 */
#define labLScale   fix(295.8 /* labLScale_32f*255/100 */,lab_shift)
#define labLScale2   fix(labLScale2_32f*0.01,lab_shift)
#define labLScale2_32f   903.3f
#define labLScale_32f   116.f
#define labLShift   fix(41779.2 /* labLShift_32f*1024*255/100 */,lab_shift)
#define labLShift_32f   16.f
#define labRx_32f   3.0799327f /* = xyzRx_32f * 0.950456 */
#define labRy_32f   (-1.53715f) /* = xyzRy_32f */
#define labRz_32f   (-0.542782f)/* = xyzRz_32f * 1.088754 */
#define labSmallScale   fix(31.27 /* labSmallScale_32f*(1<<lab_shift)/255 */,lab_shift)
#define labSmallScale_32f   7.787f
#define labSmallShift   fix(141.24138 /* labSmallScale_32f*(1<<lab) */,lab_shift)
#define labSmallShift_32f   0.13793103448275862f /* 16/116 */
#define labT   fix(labT_32f*255,lab_shift)
#define labT_32f   0.008856f
#define labXb   fix(labXb_32f,lab_shift)
#define labXb_32f   0.189828f /* = xyzXb_32f / 0.950456 */
#define labXg   fix(labXg_32f,lab_shift)
#define labXg_32f   0.376219f /* = xyzXg_32f / 0.950456 */
#define labXr   fix(labXr_32f,lab_shift)
#define labXr_32f   0.433953f /* = xyzXr_32f / 0.950456 */
#define labYb   fix(labYb_32f,lab_shift)
#define labYb_32f   0.072169f /* = xyzYb_32f */
#define labYg   fix(labYg_32f,lab_shift)
#define labYg_32f   0.715160f /* = xyzYg_32f */
#define labYr   fix(labYr_32f,lab_shift)
#define labYr_32f   0.212671f /* = xyzYr_32f */
#define labZb   fix(labZb_32f,lab_shift)
#define labZb_32f   0.872766f /* = xyzZb_32f / 1.088754 */
#define labZg   fix(labZg_32f,lab_shift)
#define labZg_32f   0.109477f /* = xyzZg_32f / 1.088754 */
#define labZr   fix(labZr_32f,lab_shift)
#define labZr_32f   0.017758f /* = xyzZr_32f / 1.088754 */
#define luvUn_32f   0.19793943f
#define luvVn_32f   0.46831096f
#define luvYmin_32f   0.05882353f /* 15/255 */
#define xyz_descale (   x)    CV_DESCALE((x),xyz_shift)
#define xyz_shift   10
#define xyzBx_32f   0.055648f
#define xyzBx_32s   fix(0.055648f, xyz_shift )
#define xyzBy_32f   (-0.204043f)
#define xyzBy_32s   -fix(0.204043f, xyz_shift )
#define xyzBz_32f   1.057311f
#define xyzBz_32s   fix(1.057311f, xyz_shift )
#define xyzGx_32f   (-0.969256f)
#define xyzGx_32s   -fix(0.969256f, xyz_shift )
#define xyzGy_32f   1.875991f
#define xyzGy_32s   fix(1.875991f, xyz_shift )
#define xyzGz_32f   0.041556f
#define xyzGz_32s   fix(0.041556f, xyz_shift )
#define xyzRx_32f   3.240479f
#define xyzRx_32s   fix(3.240479f, xyz_shift )
#define xyzRy_32f   (-1.53715f)
#define xyzRy_32s   -fix(1.53715f, xyz_shift )
#define xyzRz_32f   (-0.498535f)
#define xyzRz_32s   -fix(0.498535f, xyz_shift )
#define xyzXb_32f   0.180423f
#define xyzXb_32s   fix(xyzXb_32f, xyz_shift )
#define xyzXg_32f   0.357580f
#define xyzXg_32s   fix(xyzXg_32f, xyz_shift )
#define xyzXr_32f   0.412453f
#define xyzXr_32s   fix(xyzXr_32f, xyz_shift )
#define xyzYb_32f   0.072169f
#define xyzYb_32s   fix(xyzYb_32f, xyz_shift )
#define xyzYg_32f   0.715160f
#define xyzYg_32s   fix(xyzYg_32f, xyz_shift )
#define xyzYr_32f   0.212671f
#define xyzYr_32s   fix(xyzYr_32f, xyz_shift )
#define xyzZb_32f   0.950227f
#define xyzZb_32s   fix(xyzZb_32f, xyz_shift )
#define xyzZg_32f   0.119193f
#define xyzZg_32s   fix(xyzZg_32f, xyz_shift )
#define xyzZr_32f   0.019334f
#define xyzZr_32s   fix(xyzZr_32f, xyz_shift )
#define yuv_descale (   x)    CV_DESCALE((x), yuv_shift)
#define yuv_prescale (   x)    ((x) << yuv_shift)
#define yuv_shift   14
#define yuvBCb   fix(yuvBCb_32f,yuv_shift)
#define yuvBCb_32f   1.773f
#define yuvCb   fix(yuvCb_32f,yuv_shift)
#define yuvCb_32f   0.564f
#define yuvCr   fix(yuvCr_32f,yuv_shift)
#define yuvCr_32f   0.713f
#define yuvGCb   (-fix(-yuvGCb_32f,yuv_shift))
#define yuvGCb_32f   (-0.344f)
#define yuvGCr   (-fix(-yuvGCr_32f,yuv_shift))
#define yuvGCr_32f   (-0.714f)
#define yuvRCr   fix(yuvRCr_32f,yuv_shift)
#define yuvRCr_32f   1.403f
#define yuvYb   fix(yuvYb_32f,yuv_shift)
#define yuvYb_32f   cscGb_32f
#define yuvYg   fix(yuvYg_32f,yuv_shift)
#define yuvYg_32f   cscGg_32f
#define yuvYr   fix(yuvYr_32f,yuv_shift)
#define yuvYr_32f   cscGr_32f

Typedef Documentation

typedef CvStatus(CV_STDCALL * CvColorCvtFunc0)(const void *src, int srcstep, void *dst, int dststep, CvSize size)
typedef CvStatus(CV_STDCALL * CvColorCvtFunc1)(const void *src, int srcstep, void *dst, int dststep, CvSize size, int param0)
typedef CvStatus(CV_STDCALL * CvColorCvtFunc2)(const void *src, int srcstep, void *dst, int dststep, CvSize size, int param0, int param1)
typedef CvStatus(CV_STDCALL * CvColorCvtFunc3)(const void *src, int srcstep, void *dst, int dststep, CvSize size, int param0, int param1, int param2)

Function Documentation

assert ( green_bits  = =5||green_bits==6)
CV_IMPL_ABC2BGRx_IPP ( 8u  ,
uchar   
)
ushort CV_IMPL_ABC2BGRx_IPP ( 32f  ,
float   
) const
CV_IMPL_BGRx2ABC_IPP ( 16u  ,
ushort   
)
CV_IMPL_BGRx2XYZ ( 8u  ,
uchar  ,
int  ,
xyz_descale  ,
CV_CAST_8U  ,
_32s   
)
_32s CV_IMPL_BGRx2XYZ ( 32f  ,
float  ,
float  ,
CV_NOP  ,
CV_NOP  ,
_32f   
)
CV_IMPL_BGRx2YCrCb ( 8u  ,
uchar  ,
int  ,
yuv_descale  ,
CV_CAST_8U  ,
yuvYb  ,
yuvYg  ,
yuvYr  ,
yuvCr  ,
yuvCb  ,
128   
)
CV_IMPL_BGRx2YCrCb ( 32f  ,
float  ,
float  ,
CV_NOP  ,
CV_NOP  ,
yuvYb_32f  ,
yuvYg_32f  ,
yuvYr_32f  ,
yuvCr_32f  ,
yuvCb_32f  ,
0.  5f 
)
_32s _32s CV_IMPL_XYZ2BGRx ( 16u  ,
ushort  ,
int  ,
xyz_descale  ,
CV_CAST_16U  ,
_32s   
)
CV_IMPL_YCrCb2BGRx ( 16u  ,
ushort  ,
int  ,
yuv_prescale  ,
yuv_descale  ,
CV_CAST_16U  ,
yuvBCb  ,
yuvGCr  ,
yuvGCb  ,
yuvRCr  ,
32768   
)
CV_IMPL void cvCvtColor ( const CvArr srcarr,
CvArr dstarr,
int  code 
)
for ( ;size.height--;src = srcstep,
dst = dststep 
)

Variable Documentation

src2 src2 isrc CV_CAST_16U
_32s CV_CAST_8U
cvRound cvRound CV_NOP
return CV_OK
ushort int uchar int CvSize int green_bits
Initial value:
{
int i
icvBGR2Lab_8u_C3R_t icvBGR2Lab_8u_C3R_p = 0
icvHLS2RGB_32f_C3R_t icvHLS2RGB_32f_C3R_p = 0
icvHLS2RGB_8u_C3R_t icvHLS2RGB_8u_C3R_p = 0
icvHSV2RGB_8u_C3R_t icvHSV2RGB_8u_C3R_p = 0
icvLab2BGR_8u_C3R_t icvLab2BGR_8u_C3R_p = 0
icvLuv2RGB_8u_C3R_t icvLuv2RGB_8u_C3R_p = 0
icvRGB2HLS_32f_C3R_t icvRGB2HLS_32f_C3R_p = 0
icvRGB2HLS_8u_C3R_t icvRGB2HLS_8u_C3R_p = 0
icvRGB2HSV_8u_C3R_t icvRGB2HSV_8u_C3R_p = 0
icvRGB2Luv_8u_C3R_t icvRGB2Luv_8u_C3R_p = 0
icvRGB2XYZ_16u_C3R_t icvRGB2XYZ_16u_C3R_p = 0
icvRGB2XYZ_32f_C3R_t icvRGB2XYZ_32f_C3R_p = 0
icvRGB2XYZ_8u_C3R_t icvRGB2XYZ_8u_C3R_p = 0
icvXYZ2RGB_16u_C3R_t icvXYZ2RGB_16u_C3R_p = 0
icvXYZ2RGB_32f_C3R_t icvXYZ2RGB_32f_C3R_p = 0
icvXYZ2RGB_8u_C3R_t icvXYZ2RGB_8u_C3R_p = 0
static const float *static const ushort *static const uchar *static static int int
_32s uchar
_32s xyz_descale
yuv_descale
yuv_prescale
yuvBCb
yuvBCb_32f
yuvCb
yuvCr
yuvGCb
yuvGCb_32f
yuvGCr
yuvGCr_32f
yuvRCr
yuvRCr_32f
yuvYb
yuvYg
yuvYr