int main(int argc, char** argv) { if (argc < 3) { printf("Usage: salienpoints <image file> <# of salien points>\n"); exit(1); } ImageFeature imgFeature; imgFeature.load(argv[1]); SalientPoints sp(imgFeature); vector<Point> points = sp.getSalientPoints(atoi(argv[2])); DBG(10) << points.size() << " salient points extracted, wanted " << atoi(argv[2]) << endl; for (uint i = 0; i < points.size(); i++) { Point p = points[i]; DBG(10) <<"(" << p.x << ", " << p.y << ")" << endl; } ImageFeature newImage; newImage.createFromPixelset(imgFeature.xsize(), imgFeature.ysize(), sp.getPixels()); newImage.display(); }
int main(int argc, char** argv) { GetPot cl(argc,argv); if (cl.search(2,"--help","-h")) { USAGE(); } vector<string> images; if (cl.search("--images")) { string filename = cl.next(" "); while (filename != " ") { images.push_back(filename); filename = cl.next(" "); } } else if (cl.search("--filelist")) { string filename = "test"; igzstream ifs; ifs.open(cl.follow("list","--filelist")); if(!ifs.good() || !ifs) { ERR << "Cannot open filelist " <<cl.follow("list","--filelist") << ". Aborting." << endl; exit(20); } while(!ifs.eof() && filename!="") { getline(ifs,filename); if(filename!="") { images.push_back(filename); } } ifs.close(); } else { USAGE(); exit(20); } bool forceGray; if (cl.search(1, "--gray")) { forceGray = true; } else if (cl.search(1, "--color")) { forceGray = false; } else { USAGE(); exit(20); } int numPatches = 200; if (cl.search(2, "-n", "--num")) { numPatches = cl.next(200); } for(uint i = 0; i < images.size(); i++) { string filename=images[i]; DBG(10) << "Processing '"<< filename << "'.(" << i << "/" << images.size()<< ")" <<endl; ImageFeature img; img.load(filename,forceGray); DifferenceOfGaussian sift(img); vector<InterestPoint> interestPoints = sift.getInterestPoints(numPatches); ImageFeature padded = img; vector<double> color(3,1.0); for (int i = 0; i < (int) interestPoints.size(); i++) { InterestPoint ip = interestPoints[i]; box(padded, ip.x, ip.y, color, ip.scale / 2); } padded.display(); break; } DBG(10) << "cmdline was: "; printCmdline(argc,argv); }