/** * @file RFStruct.h * @brief computes histogram over gradients for each region * @author Björn Fröhlich * @date 02-10-2010 */ #ifndef RFStructINCLUDE #define RFStructINCLUDE #include #include "core/basics/Config.h" #include "vislearning/cbaselib/LabeledSet.h" #include "vislearning/segmentation/RegionGraph.h" #include "vislearning/features/localfeatures/LocalFeature.h" #include "vislearning/features/regionfeatures/RegionFeatures.h" //!TODO: eventuell eine Rotationsinvariante Normierung durchführen namespace OBJREC { class RFStruct: public RegionFeatures { protected: int numBins; bool usesigned; public: /** simple constructor */ RFStruct( const NICE::Config *conf); /** simple destructor */ virtual ~RFStruct(); /** * extracts the features for region rg (displayed in mask) * @param img input image * @param rg input region graph * @param mask input region map * @param feats output features (in order of rg) * @return */ virtual void extract ( const NICE::Image & img, const RegionGraph &rg, const NICE::Matrix &mask, NICE::VVector & feats ); /** * extracts the features for region rg (displayed in mask) * using colorimages * @param cimg input image * @param rg input region graph * @param mask input region map * @param feats output features (in order of rg) * @return */ virtual void extractRGB ( const NICE::ColorImage & cimg, const RegionGraph &rg, const NICE::Matrix &mask, NICE::VVector & feats ); /** * extracts the features for region rg (displayed in mask) * @param imgd_gradient allready computed gradientsmagnitudes * @param imgd_graddir allready computed gradientsdirection * @param rg input region graph * @param mask input region map * @param feats output features (in order of rg) */ virtual void extract ( const NICE::FloatImage &imgd_gradient, const NICE::Image &imgd_graddir, const RegionGraph &rg, const NICE::Matrix &mask, NICE::VVector & feats ); }; } // namespace #endif