added makeTransformToGlobal() function

This commit is contained in:
Anatoly Baksheev 2013-07-13 00:00:57 +04:00
parent 6045ae856b
commit 328f0e32d8
3 changed files with 33 additions and 5 deletions

View File

@ -44,8 +44,8 @@
// //
//M*/ //M*/
#ifndef __OPENCV_VIZ_HPP #ifndef __OPENCV_VIZ_HPP__
#define __OPENCV_VIZ_HPP #define __OPENCV_VIZ_HPP__
#include <opencv2/viz/types.hpp> #include <opencv2/viz/types.hpp>
@ -53,5 +53,14 @@
#include <opencv2/viz/viz3d.hpp> #include <opencv2/viz/viz3d.hpp>
#endif __OPENCV_VIZ_HPP namespace temp_viz
{
//! takes coordiante frame data and builds transfrom to global coordinate frame
CV_EXPORTS Affine3f makeTransformToGlobal(const Vec3f& axis_x, const Vec3f& axis_y, const Vec3f& axis_z, const Vec3f& origin = Vec3f::all(0));
CV_EXPORTS Affine3f makeCameraPose(const Vec3f& position, const Vec3f& focal_point, const Vec3f& up_vector);
}
#endif /* __OPENCV_VIZ_HPP__ */

View File

@ -154,8 +154,8 @@
#include <q/viz3d_impl.hpp> #include <q/viz3d_impl.hpp>
#include <opencv2/core.hpp> #include <opencv2/core.hpp>
#include <opencv2/viz.hpp>
#include "opencv2/viz/widget_accessor.hpp" #include "opencv2/viz/widget_accessor.hpp"
#include <opencv2/viz/widgets.hpp>
#include <opencv2/calib3d.hpp> #include <opencv2/calib3d.hpp>
namespace temp_viz namespace temp_viz

View File

@ -1 +1,20 @@
#include "precomp.hpp" #include "precomp.hpp"
cv::Affine3f temp_viz::makeTransformToGlobal(const Vec3f& axis_x, const Vec3f& axis_y, const Vec3f& axis_z, const Vec3f& origin)
{
Affine3f::Mat3 R;
R.val[0] = axis_x.val[0];
R.val[3] = axis_x.val[1];
R.val[6] = axis_x.val[2];
R.val[1] = axis_y.val[0];
R.val[4] = axis_y.val[1];
R.val[7] = axis_y.val[2];
R.val[2] = axis_z.val[0];
R.val[5] = axis_z.val[1];
R.val[8] = axis_z.val[2];
return Affine3f(R, origin);
}