|
@@ -1,77 +0,0 @@
|
|
|
-/**
|
|
|
-* @file testSift.cpp
|
|
|
-* @brief test sift implementation
|
|
|
-* @author Björn Fröhlich
|
|
|
-* @date 06/08/2010
|
|
|
-*/
|
|
|
-#include "objrec/nice.h"
|
|
|
-
|
|
|
-#include "objrec/baselib/Config.h"
|
|
|
-
|
|
|
-#include "objrec/features/localfeatures/LocalFeatureSift.h"
|
|
|
-#include "objrec/features/localfeatures/LocalFeatureOpponnentSift.h"
|
|
|
-#include "objrec/features/localfeatures/LocalFeatureRGBSift.h"
|
|
|
-
|
|
|
-#include "objrec/features/localfeatures/LFColorSande.h"
|
|
|
-#include "objrec/features/localfeatures/LocalFeatureLFInterface.h"
|
|
|
-
|
|
|
-
|
|
|
-#include "objrec/baselib/Globals.h"
|
|
|
-
|
|
|
-using namespace OBJREC;
|
|
|
-using namespace NICE;
|
|
|
-using namespace std;
|
|
|
-
|
|
|
-int main (int argc, char **argv)
|
|
|
-{
|
|
|
- if(argc < 1)
|
|
|
- {
|
|
|
- cerr << "Bitte Bild angeben" << endl;
|
|
|
- return -1;
|
|
|
- }
|
|
|
-
|
|
|
- string filename;
|
|
|
- filename += argv[1];
|
|
|
-
|
|
|
- Image img(filename);
|
|
|
- ColorImage cimg(filename);
|
|
|
-
|
|
|
- Globals::setCurrentImgFN ( filename );
|
|
|
-
|
|
|
- Config *conf = new Config();
|
|
|
- string section = "SIFT";
|
|
|
- conf->sS(section, "scales", "1");
|
|
|
- conf->sI(section, "descriptor_size", 128);
|
|
|
- conf->sI(section, "grid", 100);
|
|
|
- conf->sB(section, "usegrid", true);
|
|
|
- conf->sS(section, "params", "--descriptor sift");
|
|
|
-
|
|
|
-
|
|
|
- LocalFeatureRepresentation *cSIFT = new LFColorSande ( conf, section );
|
|
|
- LocalFeature *lSIFT = new LocalFeatureLFInterface(conf, cSIFT);
|
|
|
-
|
|
|
- //LocalFeature *oSIFT = new LocalFeatureSift (conf);
|
|
|
- LocalFeatureOpponnentSift *oSIFT = new LocalFeatureOpponnentSift (conf);
|
|
|
-
|
|
|
- VVector features1;
|
|
|
- VVector features2;
|
|
|
- VVector positions;
|
|
|
- //cSIFT->extractFeatures ( cimg, features1, positions );
|
|
|
- lSIFT->getDescriptors( img, positions, features1 );
|
|
|
- //showImage(cimg);
|
|
|
- oSIFT->getDescriptors( img, positions, features2 );
|
|
|
- cout << "f1.size: " << features1.size() << " f2.size: " << features2.size() << " p.size() " << positions.size() << endl;
|
|
|
-
|
|
|
-
|
|
|
- double max[2] = {0.0,0.0};
|
|
|
- int feat = 1;
|
|
|
- for(int i = 0; i < (int)features1[feat].size(); i++)
|
|
|
- {
|
|
|
- max[0] = std::max(max[0], features1[feat][i]);
|
|
|
- max[1] = std::max(max[1], features2[feat][i]);
|
|
|
- cout << features1[feat][i] << "\t" << features2[feat][i] << endl;
|
|
|
- }
|
|
|
- cout << "max: " << max[0] << "\t" << max[1] << endl;
|
|
|
-
|
|
|
- return 0;
|
|
|
-}
|