57 lines
2.6 KiB
C
Executable File
57 lines
2.6 KiB
C
Executable File
/*
|
|
Copyright (c), 2001-2022, Shenshu Tech. Co., Ltd.
|
|
*/
|
|
|
|
#ifndef OT_COMMON_MCF_CALIBRATION_H
|
|
#define OT_COMMON_MCF_CALIBRATION_H
|
|
|
|
#include "ot_type.h"
|
|
#include "ot_common_video.h"
|
|
#include "ot_errno.h"
|
|
|
|
#define OT_ERR_CALIB_FEATURE_OVERFLOW 30
|
|
#define OT_ERR_CALIB_FEATURE_LACK 31
|
|
#define OT_ERR_CALIB_RANSAC_FAIL 32
|
|
#define OT_ERR_CALIB_ILLEGAL_MATRIX 33
|
|
#define OT_ERR_CALIB_ILLEGAL_MOTION 34
|
|
#define OT_ERR_CALIB_FAIL 35
|
|
|
|
#define OT_ERR_MCF_CALIBRATION_NULL_PTR OT_DEFINE_ERR(OT_ID_MCF_CALIBRATION, OT_ERR_LEVEL_ERROR, OT_ERR_NULL_PTR)
|
|
|
|
#define OT_ERR_MCF_CALIB_FEATURE_OVERFLOW OT_DEFINE_ERR(OT_ID_MCF_CALIBRATION, OT_ERR_LEVEL_ERROR, \
|
|
OT_ERR_CALIB_FEATURE_OVERFLOW)
|
|
#define OT_ERR_MCF_CALIB_FEATURE_LACK OT_DEFINE_ERR(OT_ID_MCF_CALIBRATION, OT_ERR_LEVEL_ERROR, \
|
|
OT_ERR_CALIB_FEATURE_LACK)
|
|
#define OT_ERR_MCF_CALIB_RANSAC_FAIL OT_DEFINE_ERR(OT_ID_MCF_CALIBRATION, OT_ERR_LEVEL_ERROR, \
|
|
OT_ERR_CALIB_RANSAC_FAIL)
|
|
#define OT_ERR_MCF_CALIB_ILLEGAL_MATRIX OT_DEFINE_ERR(OT_ID_MCF_CALIBRATION, OT_ERR_LEVEL_ERROR, \
|
|
OT_ERR_CALIB_ILLEGAL_MATRIX)
|
|
#define OT_ERR_MCF_CALIB_ILLEGAL_MOTION OT_DEFINE_ERR(OT_ID_MCF_CALIBRATION, OT_ERR_LEVEL_ERROR, \
|
|
OT_ERR_CALIB_ILLEGAL_MOTION)
|
|
#define OT_ERR_MCF_CALIB_FAIL OT_DEFINE_ERR(OT_ID_MCF_CALIBRATION, OT_ERR_LEVEL_ERROR, OT_ERR_CALIB_FAIL)
|
|
#define OT_ERR_MCF_CALIBRATION_ILLEGAL_PARAM OT_DEFINE_ERR(OT_ID_MCF_CALIBRATION, OT_ERR_LEVEL_ERROR, \
|
|
OT_ERR_ILLEGAL_PARAM)
|
|
|
|
#define OT_ERR_MCF_CALIBRATION_NOMEM OT_DEFINE_ERR(OT_ID_MCF_CALIBRATION, OT_ERR_LEVEL_ERROR, OT_ERR_NO_MEM)
|
|
|
|
#define OT_MCF_COEF_NUM 9
|
|
|
|
typedef enum {
|
|
OT_MCF_CALIBRATION_AFFINE = 0, /* affine Transform mode */
|
|
OT_MCF_CALIBRATION_PROJECTIVE, /* projective mode */
|
|
OT_MCF_CALIBRATION_MODE_BUTT
|
|
} ot_mcf_calibration_mode;
|
|
|
|
typedef struct {
|
|
td_s64 correct_coef[OT_MCF_COEF_NUM]; /* matrix for match the two */
|
|
ot_rect region; /* ROI region */
|
|
} ot_mcf_calibration;
|
|
|
|
typedef struct {
|
|
td_s32 refer_feature_num; /* SURF feature number of reference image */
|
|
td_s32 register_feature_num; /* SURF feature number of image to be registered */
|
|
td_s32 match_feature_num; /* match feature number between two image after RANSAC process */
|
|
} ot_mcf_feature_info;
|
|
|
|
#endif
|