RFStruct.h 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. /**
  2. * @file RFStruct.h
  3. * @brief computes histogram over gradients for each region
  4. * @author Björn Fröhlich
  5. * @date 02-10-2010
  6. */
  7. #ifndef RFStructINCLUDE
  8. #define RFStructINCLUDE
  9. #include <vislearning/nice.h>
  10. #include "core/basics/Config.h"
  11. #include "vislearning/cbaselib/LabeledSet.h"
  12. #include "vislearning/segmentation/RegionGraph.h"
  13. #include "vislearning/features/localfeatures/LocalFeature.h"
  14. #include "vislearning/features/regionfeatures/RegionFeatures.h"
  15. //!TODO: eventuell eine Rotationsinvariante Normierung durchführen
  16. namespace OBJREC {
  17. class RFStruct: public RegionFeatures
  18. {
  19. protected:
  20. int numBins;
  21. bool usesigned;
  22. public:
  23. /** simple constructor */
  24. RFStruct( const NICE::Config *conf);
  25. /** simple destructor */
  26. virtual ~RFStruct();
  27. /**
  28. * extracts the features for region rg (displayed in mask)
  29. * @param img input image
  30. * @param rg input region graph
  31. * @param mask input region map
  32. * @param feats output features (in order of rg)
  33. * @return
  34. */
  35. virtual void extract ( const NICE::Image & img, const RegionGraph &rg, const NICE::Matrix &mask, NICE::VVector & feats );
  36. /**
  37. * extracts the features for region rg (displayed in mask)
  38. * using colorimages
  39. * @param cimg input image
  40. * @param rg input region graph
  41. * @param mask input region map
  42. * @param feats output features (in order of rg)
  43. * @return
  44. */
  45. virtual void extractRGB ( const NICE::ColorImage & cimg, const RegionGraph &rg, const NICE::Matrix &mask, NICE::VVector & feats );
  46. /**
  47. * extracts the features for region rg (displayed in mask)
  48. * @param imgd_gradient allready computed gradientsmagnitudes
  49. * @param imgd_graddir allready computed gradientsdirection
  50. * @param rg input region graph
  51. * @param mask input region map
  52. * @param feats output features (in order of rg)
  53. */
  54. virtual void extract ( const NICE::FloatImage &imgd_gradient, const NICE::Image &imgd_graddir, const RegionGraph &rg, const NICE::Matrix &mask, NICE::VVector & feats );
  55. };
  56. } // namespace
  57. #endif