/** * @file LocalFeatureLFInterface.h * @brief Interface to use a LocalFeature (Descriptor only) with routines of LocalFeatureRepresentations (Detector + Descriptor) * @author Björn Fröhlich * @date 09/07/2010 */ #ifndef LocalFeatureLFInterfaceINCLUDE #define LocalFeatureLFInterfaceINCLUDE #include "core/vector/VectorT.h" #include "core/vector/MatrixT.h" #include "core/image/ImageT.h" #include "core/basics/Config.h" #include "LocalFeature.h" #include "LocalFeatureRepresentation.h" namespace OBJREC { /** @class LocalFeatureLFInterface * @brief Interface to use a LocalFeature (Descriptor only) with routines of LocalFeatureRepresentations (Detector + Descriptor) * */ class LocalFeatureLFInterface : public LocalFeature { protected: LocalFeatureRepresentation *lfpres; public: /** simple constructor */ LocalFeatureLFInterface ( const NICE::Config *conf, LocalFeatureRepresentation *_lfpres ); /** simple destructor */ virtual ~LocalFeatureLFInterface(); /** * @brief returns the size of each the SIFT-Feature */ int getDescSize() const { return lfpres->getDescSize(); }; /** * @brief get the descriptor * @param img input image * @param positions positions for local features * @param descriptors output * @return 0 */ int getDescriptors ( const NICE::Image & img, NICE::VVector & positions, NICE::VVector & descriptors ) const; /** * @brief get the descriptor * @param img input color image * @param positions positions for the SIFT features * @param descriptors output * @return 0 */ int getDescriptors ( const NICE::ColorImage & img, NICE::VVector & positions, NICE::VVector & descriptors) const; void visualizeFeatures ( NICE::Image & mark, const NICE::VVector & positions, size_t color ) const; }; } // namespace #endif