www.pudn.com > OPENCV_SIFT_VC6.rar > SIFT.h
// SIFT.h: interface for the CSIFT class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_SIFT_H__4D3AF374_E90A_4459_8436_EAA7F7C4ECF8__INCLUDED_) #define AFX_SIFT_H__4D3AF374_E90A_4459_8436_EAA7F7C4ECF8__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #include "cxcore.h" #include "cv.h" #include#include "ScaleSpace.h" #include "KeyPoint.h" class CScaleFeature { int x,y,scale; }; class CSIFT { private: void findExtrema (IplImage **fImg, int size); const int SCALE_LEVEL; const double OCTAVE_SIGMA; const double PRESMOOTH_SIGMA; const double EDGE_RATIO; const int RELOCATION_MAX; const double SCALE_ADJ_THRESH; const double OCTAVE_COUNT; // Minimum absolute DoG value of a pixel to be allowed as minimum/maximum // peak. This control how much general non-differing areas, such as the // sky is filtered. Higher value = less peaks, lower value = more peaks. // Good values from 0.005 to 0.01. Note this is related to // 'dValueLowThresh', which should be a bit larger, factor 1.0 to 1.5. const double DOG_THRESH; // D-value filter highcap value, higher = less keypoints, lower = more. // Lower: only keep keypoints with good localization properties, i.e. // those that are precisely and easily to localize (high contrast, see // Lowe, page 11. He recommends 0.03, but this seems way too high to // me.) const double DVALUE_LOW_THRESH; public: void detect (IplImage *img,std::vector * keypoints); CSIFT(); virtual ~CSIFT(); }; #endif // !defined(AFX_SIFT_H__4D3AF374_E90A_4459_8436_EAA7F7C4ECF8__INCLUDED_)