#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_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) |
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) |
#define csc_shift 14 |
#define cscGb_32f 0.114f |
#define cscGg_32f 0.587f |
#define cscGr_32f 0.299f |
#define CV_IMPL_ABC2BGRx_IPP | ( | flavor, | |
arrtype | |||
) |
#define CV_IMPL_BGR2BGRX | ( | flavor, | |
arrtype | |||
) |
#define CV_IMPL_BGRA2RGBA | ( | flavor, | |
arrtype | |||
) |
#define CV_IMPL_BGRx2ABC_IPP | ( | flavor, | |
arrtype | |||
) |
#define CV_IMPL_BGRX2BGR | ( | flavor, | |
arrtype | |||
) |
#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 | |||
) |
#define CV_IMPL_GRAY2BGRX | ( | flavor, | |
arrtype | |||
) |
#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 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_32f 0.008856f |
#define labXb_32f 0.189828f /* = xyzXb_32f / 0.950456 */ |
#define labXg_32f 0.376219f /* = xyzXg_32f / 0.950456 */ |
#define labXr_32f 0.433953f /* = xyzXr_32f / 0.950456 */ |
#define labYb_32f 0.072169f /* = xyzYb_32f */ |
#define labYg_32f 0.715160f /* = xyzYg_32f */ |
#define labYr_32f 0.212671f /* = xyzYr_32f */ |
#define labZb_32f 0.872766f /* = xyzZb_32f / 1.088754 */ |
#define labZg_32f 0.109477f /* = xyzZg_32f / 1.088754 */ |
#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 xyzXg_32f 0.357580f |
#define xyzXr_32f 0.412453f |
#define xyzYb_32f 0.072169f |
#define xyzYg_32f 0.715160f |
#define xyzYr_32f 0.212671f |
#define xyzZb_32f 0.950227f |
#define xyzZg_32f 0.119193f |
#define xyzZr_32f 0.019334f |
#define yuv_descale | ( | x | ) | CV_DESCALE((x), yuv_shift) |
#define yuv_shift 14 |
#define yuvBCb fix(yuvBCb_32f,yuv_shift) |
#define yuvBCb_32f 1.773f |
#define yuvCb_32f 0.564f |
#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_32f cscGb_32f |
#define yuvYg_32f cscGg_32f |
#define yuvYr_32f cscGr_32f |
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) |
assert | ( | green_bits | = =5||green_bits==6 | ) |
CV_IMPL_ABC2BGRx_IPP | ( | 8u | , |
uchar | |||
) |
CV_IMPL_BGRx2ABC_IPP | ( | 16u | , |
ushort | |||
) |
CV_IMPL_BGRx2XYZ | ( | 8u | , |
uchar | , | ||
int | , | ||
xyz_descale | , | ||
CV_CAST_8U | , | ||
_32s | |||
) |
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 | |||
) |
for | ( | ;size.height--;src+ | = srcstep , |
dst+ | = dststep |
||
) |
_32s CV_CAST_8U |
return CV_OK |
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 |
_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 |