00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00024
00025 #ifndef QVSIFTGPU_H
00026 #define QVSIFTGPU_H
00027
00028 #include <QList>
00029 #include <QVImage>
00030 #include <QVSiftFeature>
00031
00034 typedef enum {
00035 CUDA_METHOD = 0,
00036 GLSL_METHOD = 1,
00037 CG_METHOD = 2
00038 } nvidia_method;
00039
00040 bool resetSiftGPU();
00041
00058 const QList<QVSiftFeature> getSiftGPUFeatures(const QVImage<uChar> &image,
00059 nvidia_method method = CUDA_METHOD,
00060 bool computeDescriptors = FALSE,
00061 double filterWidthFactor = 4.0,
00062 double orientationSampleWindow = 2.0,
00063 double descriptorGridSize = 3.0,
00064 int firstOctave = 0,
00065 double thresholdDoG = 0.02/3,
00066 double thresholdEdge = 10.0,
00067 int d = 3,
00068 int v = 0);
00069
00082 QList< QPair<int, int> > matchSiftGPUFeatures( const QList<QVSiftFeature> img1features,
00083 const QList<QVSiftFeature> img2features,
00084 const float distmax = 0.7,
00085 const float ratiomax = 0.8,
00086 const bool mutual_best_match = true
00087 );
00088
00089 #endif // QVSIFTGPU_H