ImagePyramid.h 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /**
  2. * @file ImagePyramid.h
  3. * @brief gauss image pyramid
  4. * @author Erik Rodner
  5. * @date 02/06/2008
  6. */
  7. #ifndef IMAGEPYRAMIDINCLUDE
  8. #define IMAGEPYRAMIDINCLUDE
  9. #ifdef NOVISUAL
  10. #include <vislearning/nice_nonvis.h>
  11. #else
  12. #include <vislearning/nice.h>
  13. #endif
  14. namespace OBJREC {
  15. /** gauss image pyramid */
  16. class ImagePyramid
  17. {
  18. protected:
  19. std::vector<NICE::Image> pyramid;
  20. double scaleSpacing;
  21. public:
  22. /** simple constructor */
  23. ImagePyramid ( const NICE::Image & img,
  24. int maxLevels = 10,
  25. double scaleSpacing = 1.18921,
  26. int max_xsize = 11,
  27. int max_ysize = 11 );
  28. /** simple destructor */
  29. virtual ~ImagePyramid();
  30. const NICE::Image & getLevel ( int i ) const;
  31. int getNumLevels () const;
  32. void show() const;
  33. void getOriginalCoordinates ( int x, int y, int level, double & xo, double & yo ) const;
  34. void getLevelCoordinates ( double xo, double yo, int level, double & xl, double & yl ) const;
  35. };
  36. } // namespace
  37. #endif