/** * @file LocalFeatureRGBSift.h * @brief local feature with color sift * @author Björn Fröhlich, Alexander Freytag * @date 03/10/2012 (Eric Bach) */ #ifndef LocalFeatureRGBSiftINCLUDE #define LocalFeatureRGBSiftINCLUDE // nice-core includes #include // #include // #include #include // nice-vislearning includes #include "LocalFeatureSift.h" namespace OBJREC { /** local feature with sift */ class LocalFeatureRGBSift : public LocalFeatureSift { protected: ///////////////////////// ///////////////////////// // PROTECTED VARIABLES // ///////////////////////// ///////////////////////// //TODO check why those member variables have been declared here originally. In the source code, they're not used at all... // int octaves; // // int levels; // // bool normalizeFeature; // // int first_octave; // // double magnif; public: ///////////////////// ///////////////////// ///////////////////// // CONSTRUCTORS / DESTRUCTORS ///////////////////// ///////////////////// ///////////////////// /** * @brief default constructor * @date 09-02-2014 (dd-mm-yyyy ) * @author Alexander Freytag */ LocalFeatureRGBSift ( ); /** * @brief recommended constructor, calls initFromConfig * @date 09-02-2014 (dd-mm-yyyy ) * @author Alexander Freytag */ LocalFeatureRGBSift ( const NICE::Config * _conf ); /** * @brief simple destructor */ virtual ~LocalFeatureRGBSift(); /** * @brief Jobs previously performed in the config-version of the constructor, read settings etc. * @author Alexander Freytag * @date 09-02-2014 ( dd-mm-yyyy ) */ virtual void initFromConfig ( const NICE::Config * _conf, const std::string & _confSection = "LocalFeatureRGBSift"); ///////////////////// ///////////////////// ///////////////////// // FEATURE STUFF ///////////////////// ///////////////////// ////////////////// /** * returns the size of each the SIFT-Feature * @return 128 */ int getDescSize() const { return 384; }; /** * get the descriptor * @param img input color image * @param positions positions for the SIFT features * @param descriptors output * @return 0 */ virtual int getDescriptors ( const NICE::ColorImage & cimg, NICE::VVector & positions, NICE::VVector & descriptors ) const; ///////////////////// INTERFACE PERSISTENT ///////////////////// // interface specific methods for store and restore ///////////////////// INTERFACE PERSISTENT ///////////////////// /** * @brief Load object from external file (stream) * @author Alexander Freytag * @date 09-02-2014 ( dd-mmyyyy) */ virtual void restore ( std::istream & is, int format = 0 ); /** * @brief Save object to external file (stream) * @author Alexander Freytag * @date 09-02-2014 ( dd-mmyyyy) */ virtual void store( std::ostream & os, int format = 0 ) const; /** * @brief Clear object * @author Alexander Freytag * @date 09-02-2014 ( dd-mmyyyy) */ virtual void clear (); }; } // namespace #endif