50#define BINARY_FEATURE 1
64# define KPM_EXTERN __declspec(dllexport)
66# define KPM_EXTERN __declspec(dllimport)
74#define KpmPoseHomography 2
83#define KpmDefaultProcMode KpmProcFullSize
88#define KpmDefaultComp KpmCompNull
90#define KpmChangePageNoAllPages (-1)
190#define kpmCreatHandle kpmCreateHandle
193#define kpmCreatHandle2 kpmCreateHandle2
209#define kpmCreatHandleHomography kpmCreateHandleHomography
315#define kpmMargeRefDataSet kpmMergeRefDataSet
artoolkitX core routines.
unsigned char ARUint8
Definition: ar.h:92
KPM_EXTERN int kpmSetProcMode(KpmHandle *kpmHandle, KPM_PROC_MODE procMode)
Definition: kpmHandle.cpp:150
KPM_EXTERN int kpmAddRefDataSet(ARUint8 *refImage, int xsize, int ysize, float dpi, int procMode, int compMode, int maxFeatureNum, int pageNo, int imageNo, KpmRefDataSet **refDataSet)
Definition: kpmRefDataSet.cpp:287
KPM_EXTERN int kpmGetRefDataSet(KpmHandle *kpmHandle, KpmRefDataSet **refDataSet)
Definition: kpmResult.cpp:42
KPM_EXTERN int kpmDeleteHandle(KpmHandle **kpmHandle)
Finalise and dispose of structures for KPM tracking.
Definition: kpmHandle.cpp:228
KPM_EXTERN int kpmGetProcMode(KpmHandle *kpmHandle, KPM_PROC_MODE *procMode)
Definition: kpmHandle.cpp:195
KPM_PROC_MODE
Definition: kpm.h:76
@ KpmProcOneThirdSize
Definition: kpm.h:80
@ KpmProcTwoThirdSize
Definition: kpm.h:81
@ KpmProcQuatSize
Definition: kpm.h:79
@ KpmProcFullSize
Definition: kpm.h:77
@ KpmProcHalfSize
Definition: kpm.h:78
KPM_EXTERN int kpmGetInDataSet(KpmHandle *kpmHandle, KpmInputDataSet **inDataSet)
Definition: kpmResult.cpp:52
KPM_EXTERN int kpmSetRefDataSet(KpmHandle *kpmHandle, KpmRefDataSet *refDataSet)
Load a reference data set into the key point matcher for tracking.
Definition: kpmMatching.cpp:171
KPM_EXTERN int kpmChangePageNoOfRefDataSet(KpmRefDataSet *refDataSet, int oldPageNo, int newPageNo)
Definition: kpmRefDataSet.cpp:639
KPM_EXTERN int kpmLoadImageDb(const char *filename)
KPM_EXTERN int kpmSaveRefDataSet(const char *filename, const char *ext, KpmRefDataSet *refDataSet)
Definition: kpmRefDataSet.cpp:444
KPM_EXTERN int kpmSetSurfThreadNum(KpmHandle *kpmHandle, int surfThreadNum)
Definition: kpmHandle.cpp:217
struct _KpmRefData KpmRefData
KPM_EXTERN int kpmSetMatchingSkipPage(KpmHandle *kpmHandle, int *skipPages, int num)
KPM_EXTERN int kpmHandleGetXSize(const KpmHandle *kpmHandle)
Definition: kpmHandle.cpp:138
KPM_EXTERN int kpmSetRefDataSetFileOld(KpmHandle *kpmHandle, const char *filename, const char *ext)
Definition: kpmMatching.cpp:321
KPM_EXTERN int kpmGetPose(KpmHandle *kpmHandle, float pose[3][4], int *pageNo, float *error)
Definition: kpmResult.cpp:76
KPM_EXTERN KpmHandle * kpmCreateHandle(ARParamLT *cparamLT)
Allocate and initialise essential structures for KPM tracking, using full six degree-of-freedom track...
Definition: kpmHandle.cpp:48
KPM_EXTERN int kpmUtilGetCorner(ARUint8 *inImagePtr, int xsize, int ysize, int procMode, int maxPointNum, CornerPoints *cornerPoints)
Definition: kpmUtil.cpp:62
KPM_EXTERN KpmHandle * kpmCreateHandleHomography(int xsize, int ysize)
Allocate and initialise essential structures for KPM tracking, using homography-only tracking.
Definition: kpmHandle.cpp:53
KPM_EXTERN int kpmSetRefDataSetFile(KpmHandle *kpmHandle, const char *filename, const char *ext)
Loads a reference data set from a file into the KPM tracker.
Definition: kpmMatching.cpp:302
KPM_EXTERN int kpmLoadRefDataSetOld(const char *filename, const char *ext, KpmRefDataSet **refDataSetPtr)
Definition: kpmRefDataSet.cpp:560
KPM_EXTERN int kpmMatching(KpmHandle *kpmHandle, ARUint8 *inImageLuma)
Perform key-point matching on an image.
Definition: kpmMatching.cpp:381
KPM_EXTERN KpmHandle * kpmCreateHandle2(int xsize, int ysize)
Definition: kpmHandle.cpp:58
KPM_EXTERN int kpmGenRefDataSet(ARUint8 *refImage, int xsize, int ysize, float dpi, int procMode, int compMode, int maxFeatureNum, int pageNo, int imageNo, KpmRefDataSet **refDataSet)
Definition: kpmRefDataSet.cpp:54
KPM_EXTERN ARUint8 * kpmUtilResizeImage(ARUint8 *imageLuma, int xsize, int ysize, int procMode, int *newXsize, int *newYsize)
Definition: kpmUtil.cpp:164
KPM_EXTERN int kpmGetDetectedFeatureMax(KpmHandle *kpmHandle, int *detectedMaxFeature)
Definition: kpmHandle.cpp:211
#define KPM_EXTERN
Definition: kpm.h:70
KPM_EXTERN int kpmGetResult(KpmHandle *kpmHandle, KpmResult **result, int *resultNum)
Definition: kpmResult.cpp:95
KPM_EXTERN int kpmMergeRefDataSet(KpmRefDataSet **refDataSetPtr1, KpmRefDataSet **refDataSetPtr2)
Merge a second KPM dataset into the first, and dispose of second.
Definition: kpmRefDataSet.cpp:308
KPM_EXTERN int kpmLoadRefDataSet(const char *filename, const char *ext, KpmRefDataSet **refDataSetPtr)
Load a reference data set from the filesystem into memory.
Definition: kpmRefDataSet.cpp:493
KPM_EXTERN int kpmHandleGetYSize(const KpmHandle *kpmHandle)
Definition: kpmHandle.cpp:144
KPM_EXTERN int kpmDeleteRefDataSet(KpmRefDataSet **refDataSetPtr)
Dispose of a reference data set and its allocated memory.
Definition: kpmRefDataSet.cpp:423
KPM_EXTERN int kpmSetDetectedFeatureMax(KpmHandle *kpmHandle, int detectedMaxFeature)
Definition: kpmHandle.cpp:202
int kpmSetMatchingSkipRegion(KpmHandle *kpmHandle, SurfSubRect *skipRegion, int regionNum)
Definition: kpmMatching.cpp:360
int kpmGetMatchingResult(KpmHandle *kpmHandle, KpmMatchResult **preRANSAC, KpmMatchResult **aftRANSAC)
Definition: kpmResult.cpp:62
int kpmUtilGetPose2(ARParamLT *cparamLT, KpmMatchResult *matchData, KpmRefDataSet *refDataSet, int *redDataIndex, KpmInputDataSet *inputDataSet, float camPose[3][4], float *error)
Definition: kpmUtil.cpp:297
int kpmUtilGetPose(ARParamLT *cparamLT, KpmMatchResult *matchData, KpmRefDataSet *refDataSet, KpmInputDataSet *inputDataSet, float camPose[3][4], float *error)
Definition: kpmUtil.cpp:184
int kpmUtilGetPoseHomography(KpmMatchResult *matchData, KpmRefDataSet *refDataSet, KpmInputDataSet *inputDataSet, float camPose[3][4], float *error)
Definition: kpmUtil.cpp:408
Definition: kpmPrivate.h:60
int ysize
Definition: kpmPrivate.h:70
KpmResult * result
Definition: kpmPrivate.h:88
KPM_PROC_MODE procMode
Definition: kpmPrivate.h:71
ARParamLT * cparamLT
Definition: kpmPrivate.h:68
KpmSkipRegionSet skipRegion
Definition: kpmPrivate.h:85
int surfThreadNum
Definition: kpmPrivate.h:74
KpmRefDataSet refDataSet
Definition: kpmPrivate.h:77
KpmMatchResult preRANSAC
Definition: kpmPrivate.h:80
int xsize
Definition: kpmPrivate.h:70
KpmMatchResult aftRANSAC
Definition: kpmPrivate.h:81
int detectedMaxFeature
Definition: kpmPrivate.h:72
KpmInputDataSet inDataSet
Definition: kpmPrivate.h:78
int resultNum
Definition: kpmPrivate.h:89
FreakFeature featureVec
Definition: kpm.h:113
KpmCoord2D coord2D
Definition: kpm.h:110
int pageNo
Definition: kpm.h:117
KpmCoord2D coord3D
Definition: kpm.h:111
int refImageNo
Definition: kpm.h:118
Structure holding camera parameters, in lookup table form.
Definition: param.h:151
float y
Definition: kpm.h:94
float x
Definition: kpm.h:93
int width
Definition: kpm.h:98
int height
Definition: kpm.h:99
int imageNo
Definition: kpm.h:100
KpmImageInfo * imageInfo
Definition: kpm.h:104
int imageNum
Definition: kpm.h:105
int pageNo
Definition: kpm.h:106
int pageNum
Definition: kpm.h:135
KpmRefData * refPoint
Definition: kpm.h:132
int num
Definition: kpm.h:133
KpmPageInfo * pageInfo
Definition: kpm.h:134
float error
Definition: kpm.h:168
int camPoseF
Definition: kpm.h:170
int skipF
Definition: kpm.h:171
int pageNo
Definition: kpm.h:167
int inlierNum
Definition: kpm.h:169