📅 2015-Jun-16 ⬩ ✍️ Ashwin Nanjappa ⬩ 🏷️ opencv, point, rotate ⬩ 📚 Archive
It is common to use the cv::Point
types for points in C++ code that uses OpenCV. Rotating such a point around origin or rotating it around another center point is straightforward. Remember that positive angle is counter-clockwise.
const cv::Point2f& p, float rad)
cv::Point2f RotatePoint(
{const float x = std::cos(rad) * p.x - std::sin(rad) * p.y;
const float y = std::sin(rad) * p.x + std::cos(rad) * p.y;
const cv::Point2f rot_p(x, y);
return rot_p;
}
const cv::Point2f& cen_pt, const cv::Point2f& p, float rad)
cv::Point2f RotatePoint(
{const cv::Point2f trans_pt = p - cen_pt;
const cv::Point2f rot_pt = RotatePoint(trans_pt, rad);
const cv::Point2f fin_pt = rot_pt + cen_pt;
return fin_pt;
}
Tried with: OpenCV 2.4.9 and Ubuntu 14.04