00001
00024 #ifndef __TRANSFORMATIONS__
00025 #define __TRANSFORMATIONS__
00026
00027 #include <opencv/cv.h>
00028
00029 namespace DUtilsCV {
00030
00032 class Transformations
00033 {
00034 public:
00040 static cv::Mat rotvec(const cv::Mat &axis, double theta);
00041
00052
00053
00054
00062 static cv::Mat transl(double X, double Y, double Z);
00063
00071 static cv::Mat rotx(double theta, double X = 0, double Y = 0, double Z = 0);
00072
00080 static cv::Mat roty(double theta, double X = 0, double Y = 0, double Z = 0);
00081
00089 static cv::Mat rotz(double theta, double X = 0, double Y = 0, double Z = 0);
00090
00096 static cv::Mat inv(const cv::Mat &aTb);
00097
00105 static cv::Mat composeRt(const cv::Mat &R, const cv::Mat &t);
00106
00114 static void decomposeRt(const cv::Mat &T, cv::Mat &R, cv::Mat &t);
00115
00116 };
00117
00118 }
00119
00120 #endif