diff --git a/modules/core/include/opencv2/core/affine.hpp b/modules/core/include/opencv2/core/affine.hpp index 3f072e78f6..62720b572a 100644 --- a/modules/core/include/opencv2/core/affine.hpp +++ b/modules/core/include/opencv2/core/affine.hpp @@ -134,8 +134,24 @@ namespace cv static cv::Vec3f operator*(const cv::Affine3f& affine, const cv::Vec3f& vector); static cv::Vec3d operator*(const cv::Affine3d& affine, const cv::Vec3d& vector); -} + template class DataType< Affine3<_Tp> > + { + public: + typedef Affine3<_Tp> value_type; + typedef Affine3::work_type> work_type; + typedef _Tp channel_type; + + enum { generic_type = 0, + depth = DataType::depth, + channels = 16, + fmt = DataType::fmt + ((channels - 1) << 8), + type = CV_MAKETYPE(depth, channels) + }; + + typedef Vec vec_type; + }; +} ///////////////////////////////////////////////////////////////////////////////////