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

Macros

#define ICV_LUT_CASE_C1(type)
 
#define ICV_LUT_CASE_C2(type)
 
#define ICV_LUT_CASE_C3(type)
 
#define ICV_LUT_CASE_C4(type)
 
#define ICV_DEF_LUT_FUNC_8U_CN(flavor, dsttype, cn)
 
#define ICV_DEF_LUT_FUNC_8U(flavor, dsttype)
 
#define icvLUT_Transform8u_8s_C1R   icvLUT_Transform8u_8u_C1R
 
#define icvLUT_Transform8u_16s_C1R   icvLUT_Transform8u_16u_C1R
 
#define icvLUT_Transform8u_32f_C1R   icvLUT_Transform8u_32s_C1R
 
#define icvLUT_Transform8u_8s_CnR   icvLUT_Transform8u_8u_CnR
 
#define icvLUT_Transform8u_16s_CnR   icvLUT_Transform8u_16u_CnR
 
#define icvLUT_Transform8u_32f_CnR   icvLUT_Transform8u_32s_CnR
 

Typedefs

typedef CvStatus(CV_STDCALLCvLUT_TransformCnFunc )(const void *src, int srcstep, void *dst, int dststep, CvSize size, const void *lut, int cn)
 

Functions

CV_IMPL void cvLUT (const void *srcarr, void *dstarr, const void *lutarr)
 

Macro Definition Documentation

#define ICV_DEF_LUT_FUNC_8U (   flavor,
  dsttype 
)
#define ICV_DEF_LUT_FUNC_8U_CN (   flavor,
  dsttype,
  cn 
)
Value:
CvStatus CV_STDCALL icvLUT_Transform8u_##flavor##_C##cn##R( \
const uchar* src, int srcstep, \
dsttype* dst, int dststep, CvSize size, \
const dsttype* lut ) \
{ \
size.width *= cn; \
dststep /= sizeof(dst[0]); \
for( ; size.height--; src += srcstep, dst += dststep ) \
{ \
int i; \
ICV_LUT_CASE_C##cn( dsttype ) \
} \
\
return CV_OK; \
}
#define ICV_LUT_CASE_C1 (   type)
Value:
for( i = 0; i <= size.width-4; i += 4 ) \
{ \
type t0 = lut[src[i]]; \
type t1 = lut[src[i+1]]; \
dst[i] = t0; \
dst[i+1] = t1; \
\
t0 = lut[src[i+2]]; \
t1 = lut[src[i+3]]; \
dst[i+2] = t0; \
dst[i+3] = t1; \
} \
for( ; i < size.width; i++ ) \
{ \
type t0 = lut[src[i]]; \
dst[i] = t0; \
}
#define ICV_LUT_CASE_C2 (   type)
Value:
for( i = 0; i < size.width; i += 2 ) \
{ \
type t0 = lut[src[i]*2]; \
type t1 = lut[src[i+1]*2 + 1]; \
dst[i] = t0; \
dst[i+1] = t1; \
}
#define ICV_LUT_CASE_C3 (   type)
Value:
for( i = 0; i < size.width; i += 3 ) \
{ \
type t0 = lut[src[i]*3]; \
type t1 = lut[src[i+1]*3 + 1]; \
type t2 = lut[src[i+2]*3 + 2]; \
dst[i] = t0; \
dst[i+1] = t1; \
dst[i+2] = t2; \
}
#define ICV_LUT_CASE_C4 (   type)
Value:
for( i = 0; i < size.width; i += 4 ) \
{ \
type t0 = lut[src[i]*4]; \
type t1 = lut[src[i+1]*4 + 1]; \
dst[i] = t0; \
dst[i+1] = t1; \
t0 = lut[src[i+2]*4 + 2]; \
t1 = lut[src[i+3]*4 + 3]; \
dst[i+2] = t0; \
dst[i+3] = t1; \
}
#define icvLUT_Transform8u_16s_C1R   icvLUT_Transform8u_16u_C1R
#define icvLUT_Transform8u_16s_CnR   icvLUT_Transform8u_16u_CnR
#define icvLUT_Transform8u_32f_C1R   icvLUT_Transform8u_32s_C1R
#define icvLUT_Transform8u_32f_CnR   icvLUT_Transform8u_32s_CnR
#define icvLUT_Transform8u_8s_C1R   icvLUT_Transform8u_8u_C1R
#define icvLUT_Transform8u_8s_CnR   icvLUT_Transform8u_8u_CnR

Typedef Documentation

typedef CvStatus(CV_STDCALL * CvLUT_TransformCnFunc)(const void *src, int srcstep, void *dst, int dststep, CvSize size, const void *lut, int cn)

Function Documentation

CV_IMPL void cvLUT ( const void *  srcarr,
void *  dstarr,
const void *  lutarr 
)