2 #ifndef __SIFT_GPU_EXTRACTOR_H__
3 #define __SIFT_GPU_EXTRACTOR_H__
5 #include <opencv2/opencv.hpp>
9 #include <OpenGL/glu.h>
14 #if !defined(SIFTGPU_STATIC) && !defined(SIFTGPU_DLL_RUNTIME)
16 #define SIFTGPU_DLL_RUNTIME
22 #ifdef SIFTGPU_DLL_RUNTIME
24 #define FREE_MYLIB dlclose
25 #define GET_MYPROC dlsym
33 class SiftGPU_Extractor
37 SiftMatchGPU *matcher;
40 vector<SiftGPU::SiftKeypoint> keypoints_grid;
47 bool setDenseGrid(
int width,
int height,
int step,
int scale);
48 bool setDenseGrid(IplImage *img,
int step,
int scale);
50 bool extractSift(IplImage *img, vector<SiftGPU::SiftKeypoint> *keypoints=NULL, vector<float> *descriptors=NULL,
int feature_size=128);
51 bool extractDenseSift(IplImage *img, vector<SiftGPU::SiftKeypoint> *keypoints=NULL, vector<float> *descriptors=NULL,
int feature_size=128);
53 bool getFeatureVector(vector<SiftGPU::SiftKeypoint> *keypoints, vector<float> *descriptors,
int feature_size=128);