ImagePyramid.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  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. #include "core/image/ImageT.h"
  10. #include "core/vector/VectorT.h"
  11. #include "core/vector/MatrixT.h"
  12. #include "core/image/FilterT.h"
  13. #include "core/imagedisplay/ImageDisplay.h"
  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