EMDDistance.h 680 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  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. #ifdef NOVISUAL
  10. #include <vislearning/nice_nonvis.h>
  11. #else
  12. #include <vislearning/nice.h>
  13. #endif
  14. #include <core/vector/Distance.h>
  15. namespace OBJREC {
  16. /** Earth Movers Distance */
  17. class EMDDistance : public NICE::VectorDistance<double>
  18. {
  19. protected:
  20. int descriptor_size;
  21. double doCalculate (const NICE::Vector & x, const NICE::Vector & y) const;
  22. public:
  23. /** simple constructor */
  24. EMDDistance( int descriptor_size );
  25. /** simple destructor */
  26. virtual ~EMDDistance();
  27. };
  28. } // namespace
  29. #endif