Point2f srcPoint[4];
Point2f dstPoint[4];
//数组赋值省略
...
//图像变换
Mat matTra = cv::getPerspectiveTransform(srcPoint, dstPoint);
cv::warpPerspective(mat, mat, matTra, mat.size());
//点变换,先将Point2f转换为Point3f
cv::Matx33f M = cv::getPerspectiveTransform(srcPoint, dstPoint);
cv::Point3f p(x, y, 1);
p = M * p; // src -> dst
// p = M.inv() * p; // dst -> src
p = p * (1.0 / p.z);
//将Point3f转换为Point2f
cv::Point2f point(p.x, p.y);
OpenCV使用warpPerspective变换单个点
最新推荐文章于 2024-07-16 08:36:11 发布