motion_estimation.h
Go to the documentation of this file.
00001 
00024 #ifndef RGBDTOOLS_MOTION_ESTIMATION_H
00025 #define RGBDTOOLS_MOTION_ESTIMATION_H
00026 
00027 #include <boost/thread/mutex.hpp>
00028 
00029 #include "rgbdtools/rgbd_frame.h"
00030 #include "rgbdtools/types.h"
00031 
00032 namespace rgbdtools {
00033 
00039 class MotionEstimation
00040 {
00041   public:
00042 
00043     enum MotionConstraint {NONE = 0, ROLL_PITCH = 1, ROLL_PITCH_Z = 2};
00044     
00049     MotionEstimation();
00050     
00053     virtual ~MotionEstimation();
00054 
00065     AffineTransform getMotionEstimation(
00066       RGBDFrame& frame,
00067       const AffineTransform& prediction = AffineTransform::Identity());
00068 
00073     void setBaseToCameraTf(const AffineTransform& b2c);
00074 
00075     void setMotionConstraint(int motion_constraint); 
00076 
00082     virtual int getModelSize() const { return 0; }
00083 
00084   protected:
00085   
00086     AffineTransform b2c_; 
00087 
00088     int motion_constraint_;   
00089 
00097     virtual bool getMotionEstimationImpl(
00098       RGBDFrame& frame,
00099       const AffineTransform& prediction,
00100       AffineTransform& motion) = 0;
00101 
00108     void constrainMotion(AffineTransform& motion);
00109 };
00110 
00111 } // namespace rgbdtools
00112 
00113 #endif // RGBDTOOLS_MOTION_ESTIMATION_H
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends


lib_rgbdtools
Author(s): Ivan Dryanovski
autogenerated on Tue Aug 27 2013 10:33:54