📄 cxmisc.h
字号:
cv64u, cv64s, cv64sc,
cv64f, cv64fc
} CvDataType;
typedef enum CvHintAlgorithm {
cvAlgHintNone,
cvAlgHintFast,
cvAlgHintAccurate
} CvHintAlgorithm;
typedef enum CvCmpOp {
cvCmpLess,
cvCmpLessEq,
cvCmpEq,
cvCmpGreaterEq,
cvCmpGreater
} CvCmpOp;
typedef struct CvFuncTable
{
void* fn_2d[CV_DEPTH_MAX];
}
CvFuncTable;
typedef struct CvBigFuncTable
{
void* fn_2d[CV_DEPTH_MAX*CV_CN_MAX];
}
CvBigFuncTable;
typedef struct CvBtFuncTable
{
void* fn_2d[33];
}
CvBtFuncTable;
typedef CvStatus (CV_STDCALL *CvFunc2D_1A)(void* arr, int step, CvSize size);
typedef CvStatus (CV_STDCALL *CvFunc2D_1A1P)(void* arr, int step, CvSize size, void* param);
typedef CvStatus (CV_STDCALL *CvFunc2D_1A1P1I)(void* arr, int step, CvSize size,
void* param, int flag);
typedef CvStatus (CV_STDCALL *CvFunc2DnC_1A1P)( void* arr, int step, CvSize size,
int cn, int coi, void* param );
typedef CvStatus (CV_STDCALL *CvFunc2DnC_1A1P)( void* arr, int step, CvSize size,
int cn, int coi, void* param );
typedef CvStatus (CV_STDCALL *CvFunc2D_1A2P)( void* arr, int step, CvSize size,
void* param1, void* param2 );
typedef CvStatus (CV_STDCALL *CvFunc2DnC_1A2P)( void* arr, int step,
CvSize size, int cn, int coi,
void* param1, void* param2 );
typedef CvStatus (CV_STDCALL *CvFunc2D_1A4P)( void* arr, int step, CvSize size,
void* param1, void* param2,
void* param3, void* param4 );
typedef CvStatus (CV_STDCALL *CvFunc2DnC_1A4P)( void* arr, int step,
CvSize size, int cn, int coi,
void* param1, void* param2,
void* param3, void* param4 );
typedef CvStatus (CV_STDCALL *CvFunc2D_2A)( void* arr0, int step0,
void* arr1, int step1, CvSize size );
typedef CvStatus (CV_STDCALL *CvFunc2D_2A1P)( void* arr0, int step0,
void* arr1, int step1,
CvSize size, void* param );
typedef CvStatus (CV_STDCALL *CvFunc2DnC_2A1P)( void* arr0, int step0,
void* arr1, int step1,
CvSize size, int cn,
int coi, void* param );
typedef CvStatus (CV_STDCALL *CvFunc2DnC_2A1P)( void* arr0, int step0,
void* arr1, int step1,
CvSize size, int cn,
int coi, void* param );
typedef CvStatus (CV_STDCALL *CvFunc2D_2A2P)( void* arr0, int step0,
void* arr1, int step1, CvSize size,
void* param1, void* param2 );
typedef CvStatus (CV_STDCALL *CvFunc2DnC_2A2P)( void* arr0, int step0,
void* arr1, int step1,
CvSize size, int cn, int coi,
void* param1, void* param2 );
typedef CvStatus (CV_STDCALL *CvFunc2D_2A1P1I)( void* arr0, int step0,
void* arr1, int step1, CvSize size,
void* param, int flag );
typedef CvStatus (CV_STDCALL *CvFunc2D_2A4P)( void* arr0, int step0,
void* arr1, int step1, CvSize size,
void* param1, void* param2,
void* param3, void* param4 );
typedef CvStatus (CV_STDCALL *CvFunc2DnC_2A4P)( void* arr0, int step0,
void* arr1, int step1, CvSize size,
int cn, int coi,
void* param1, void* param2,
void* param3, void* param4 );
typedef CvStatus (CV_STDCALL *CvFunc2D_3A)( void* arr0, int step0,
void* arr1, int step1,
void* arr2, int step2, CvSize size );
typedef CvStatus (CV_STDCALL *CvFunc2D_3A1P)( void* arr0, int step0,
void* arr1, int step1,
void* arr2, int step2,
CvSize size, void* param );
typedef CvStatus (CV_STDCALL *CvFunc2D_3A1I)( void* arr0, int step0,
void* arr1, int step1,
void* arr2, int step2,
CvSize size, int flag );
typedef CvStatus (CV_STDCALL *CvFunc2DnC_3A1P)( void* arr0, int step0,
void* arr1, int step1,
void* arr2, int step2,
CvSize size, int cn,
int coi, void* param );
typedef CvStatus (CV_STDCALL *CvFunc2D_4A)( void* arr0, int step0,
void* arr1, int step1,
void* arr2, int step2,
void* arr3, int step3,
CvSize size );
typedef CvStatus (CV_STDCALL *CvFunc0D)( const void* src, void* dst, int param );
#define CV_DEF_INIT_FUNC_TAB_2D( FUNCNAME, FLAG ) \
static void icvInit##FUNCNAME##FLAG##Table( CvFuncTable* tab ) \
{ \
assert( tab ); \
\
tab->fn_2d[CV_8U] = (void*)icv##FUNCNAME##_8u_##FLAG; \
tab->fn_2d[CV_8S] = (void*)icv##FUNCNAME##_8s_##FLAG; \
tab->fn_2d[CV_16U] = (void*)icv##FUNCNAME##_16u_##FLAG; \
tab->fn_2d[CV_16S] = (void*)icv##FUNCNAME##_16s_##FLAG; \
tab->fn_2d[CV_32S] = (void*)icv##FUNCNAME##_32s_##FLAG; \
tab->fn_2d[CV_32F] = (void*)icv##FUNCNAME##_32f_##FLAG; \
tab->fn_2d[CV_64F] = (void*)icv##FUNCNAME##_64f_##FLAG; \
}
#define CV_DEF_INIT_BIG_FUNC_TAB_2D( FUNCNAME, FLAG ) \
static void icvInit##FUNCNAME##FLAG##Table( CvBigFuncTable* tab ) \
{ \
assert( tab ); \
\
tab->fn_2d[CV_8UC1] = (void*)icv##FUNCNAME##_8u_C1##FLAG; \
tab->fn_2d[CV_8UC2] = (void*)icv##FUNCNAME##_8u_C2##FLAG; \
tab->fn_2d[CV_8UC3] = (void*)icv##FUNCNAME##_8u_C3##FLAG; \
tab->fn_2d[CV_8UC4] = (void*)icv##FUNCNAME##_8u_C4##FLAG; \
\
tab->fn_2d[CV_8SC1] = (void*)icv##FUNCNAME##_8s_C1##FLAG; \
tab->fn_2d[CV_8SC2] = (void*)icv##FUNCNAME##_8s_C2##FLAG; \
tab->fn_2d[CV_8SC3] = (void*)icv##FUNCNAME##_8s_C3##FLAG; \
tab->fn_2d[CV_8SC4] = (void*)icv##FUNCNAME##_8s_C4##FLAG; \
\
tab->fn_2d[CV_16UC1] = (void*)icv##FUNCNAME##_16u_C1##FLAG; \
tab->fn_2d[CV_16UC2] = (void*)icv##FUNCNAME##_16u_C2##FLAG; \
tab->fn_2d[CV_16UC3] = (void*)icv##FUNCNAME##_16u_C3##FLAG; \
tab->fn_2d[CV_16UC4] = (void*)icv##FUNCNAME##_16u_C4##FLAG; \
\
tab->fn_2d[CV_16SC1] = (void*)icv##FUNCNAME##_16s_C1##FLAG; \
tab->fn_2d[CV_16SC2] = (void*)icv##FUNCNAME##_16s_C2##FLAG; \
tab->fn_2d[CV_16SC3] = (void*)icv##FUNCNAME##_16s_C3##FLAG; \
tab->fn_2d[CV_16SC4] = (void*)icv##FUNCNAME##_16s_C4##FLAG; \
\
tab->fn_2d[CV_32SC1] = (void*)icv##FUNCNAME##_32s_C1##FLAG; \
tab->fn_2d[CV_32SC2] = (void*)icv##FUNCNAME##_32s_C2##FLAG; \
tab->fn_2d[CV_32SC3] = (void*)icv##FUNCNAME##_32s_C3##FLAG; \
tab->fn_2d[CV_32SC4] = (void*)icv##FUNCNAME##_32s_C4##FLAG; \
\
tab->fn_2d[CV_32FC1] = (void*)icv##FUNCNAME##_32f_C1##FLAG; \
tab->fn_2d[CV_32FC2] = (void*)icv##FUNCNAME##_32f_C2##FLAG; \
tab->fn_2d[CV_32FC3] = (void*)icv##FUNCNAME##_32f_C3##FLAG; \
tab->fn_2d[CV_32FC4] = (void*)icv##FUNCNAME##_32f_C4##FLAG; \
\
tab->fn_2d[CV_64FC1] = (void*)icv##FUNCNAME##_64f_C1##FLAG; \
tab->fn_2d[CV_64FC2] = (void*)icv##FUNCNAME##_64f_C2##FLAG; \
tab->fn_2d[CV_64FC3] = (void*)icv##FUNCNAME##_64f_C3##FLAG; \
tab->fn_2d[CV_64FC4] = (void*)icv##FUNCNAME##_64f_C4##FLAG; \
}
#define CV_DEF_INIT_FUNC_TAB_0D( FUNCNAME ) \
static void icvInit##FUNCNAME##Table( CvFuncTable* tab ) \
{ \
tab->fn_2d[CV_8U] = (void*)icv##FUNCNAME##_8u; \
tab->fn_2d[CV_8S] = (void*)icv##FUNCNAME##_8s; \
tab->fn_2d[CV_16U] = (void*)icv##FUNCNAME##_16u; \
tab->fn_2d[CV_16S] = (void*)icv##FUNCNAME##_16s; \
tab->fn_2d[CV_32S] = (void*)icv##FUNCNAME##_32s; \
tab->fn_2d[CV_32F] = (void*)icv##FUNCNAME##_32f; \
tab->fn_2d[CV_64F] = (void*)icv##FUNCNAME##_64f; \
}
#define CV_DEF_INIT_FUNC_TAB_1D CV_DEF_INIT_FUNC_TAB_0D
#define CV_DEF_INIT_PIXSIZE_TAB_2D( FUNCNAME, FLAG ) \
static void icvInit##FUNCNAME##FLAG##Table( CvBtFuncTable* table ) \
{ \
table->fn_2d[1] = (void*)icv##FUNCNAME##_8u_C1##FLAG; \
table->fn_2d[2] = (void*)icv##FUNCNAME##_8u_C2##FLAG; \
table->fn_2d[3] = (void*)icv##FUNCNAME##_8u_C3##FLAG; \
table->fn_2d[4] = (void*)icv##FUNCNAME##_16u_C2##FLAG; \
table->fn_2d[6] = (void*)icv##FUNCNAME##_16u_C3##FLAG; \
table->fn_2d[8] = (void*)icv##FUNCNAME##_32s_C2##FLAG; \
table->fn_2d[12] = (void*)icv##FUNCNAME##_32s_C3##FLAG; \
table->fn_2d[16] = (void*)icv##FUNCNAME##_64s_C2##FLAG; \
table->fn_2d[24] = (void*)icv##FUNCNAME##_64s_C3##FLAG; \
table->fn_2d[32] = (void*)icv##FUNCNAME##_64s_C4##FLAG; \
}
#define CV_GET_FUNC_PTR( func, table_entry ) \
func = (table_entry); \
\
if( !func ) \
CV_ERROR( CV_StsUnsupportedFormat, "" )
#endif /*_CXCORE_MISC_H_*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -