diff --git a/modules/core/include/opencv2/core/affine.hpp b/modules/core/include/opencv2/core/affine.hpp index 0aaf57e0a2..b4e7472a9f 100644 --- a/modules/core/include/opencv2/core/affine.hpp +++ b/modules/core/include/opencv2/core/affine.hpp @@ -99,6 +99,9 @@ namespace cv // a.rotate(R) is equivalent to Affine(R, 0) * a; Affine3 rotate(const Mat3& R) const; + // a.rotate(R) is equivalent to Affine(rvec, 0) * a; + Affine3 rotate(const Vec3& rvec) const; + // a.translate(t) is equivalent to Affine(E, t) * a; Affine3 translate(const Vec3& t) const; @@ -361,6 +364,12 @@ cv::Affine3 cv::Affine3::rotate(const Mat3& R) const return result; } +template inline +cv::Affine3 cv::Affine3::rotate(const Vec3& _rvec) const +{ + return rotate(Affine3f(_rvec).rotation()); +} + template inline cv::Affine3 cv::Affine3::translate(const Vec3& t) const {