23 #ifndef GPU_SIFT_MATCH_H
24 #define GPU_SIFT_MATCH_H
30 typedef GLint ParameterGL;
45 ParameterGL _param_multiply_tex1;
46 ParameterGL _param_multiply_tex2;
47 ParameterGL _param_multiply_size;
48 ParameterGL _param_rowmax_param;
49 ParameterGL _param_colmax_param;
52 ParameterGL _param_guided_mult_tex1;
53 ParameterGL _param_guided_mult_tex2;
54 ParameterGL _param_guided_mult_texl1;
55 ParameterGL _param_guided_mult_texl2;
56 ParameterGL _param_guided_mult_h;
57 ParameterGL _param_guided_mult_f;
58 ParameterGL _param_guided_mult_param;
71 vector<float> sift_buffer;
73 void AllocateSiftMatch();
74 void LoadSiftMatchShadersGLSL();
75 int GetBestMatch(
int max_match, uint32_t match_buffer[][2],
float distmax,
float ratiomax,
int mbm);
80 bool Allocate(
int max_sift,
int mbm)
override;
83 void SetDescriptors(
int index,
int num,
const unsigned char * descriptor,
int id = -1);
84 void SetDescriptors(
int index,
int num,
const float * descriptor,
int id = -1);
86 int GetSiftMatch(
int max_match, uint32_t match_buffer[][2],
float distmax,
float ratiomax,
int mbm);
88 float distmax,
float ratiomax,
float hdistmax,
float fdistmax,
int mbm);
bool Allocate(int max_sift, int mbm) override
SiftMatchGL(int max_sift, int use_glsl)
void SetFeautreLocation(int index, const float *locatoins, int gap)
int GetSiftMatch(int max_match, uint32_t match_buffer[][2], float distmax, float ratiomax, int mbm)
int GetGuidedSiftMatch(int max_match, uint32_t match_buffer[][2], float *H, float *F, float distmax, float ratiomax, float hdistmax, float fdistmax, int mbm)
void SetDescriptors(int index, int num, const unsigned char *descriptor, int id=-1)
void SetMaxSift(int max_sift) override