EMDDistance.h 650 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. /**
  2. * @file EMDDistance.h
  3. * @brief Earth Movers Distance
  4. * @author Erik Rodner
  5. * @date 10/24/2007
  6. */
  7. #ifndef EMDDistanceINCLUDE
  8. #define EMDDistanceINCLUDE
  9. #include "core/vector/VectorT.h"
  10. #include "core/vector/MatrixT.h"
  11. #include <core/vector/Distance.h>
  12. namespace OBJREC {
  13. /** Earth Movers Distance */
  14. class EMDDistance : public NICE::VectorDistance<double>
  15. {
  16. protected:
  17. int descriptor_size;
  18. double doCalculate (const NICE::Vector & x, const NICE::Vector & y) const;
  19. public:
  20. /** simple constructor */
  21. EMDDistance( int descriptor_size );
  22. /** simple destructor */
  23. virtual ~EMDDistance();
  24. };
  25. } // namespace
  26. #endif