gpt4 book ai didi

c++ - OpenCv C++ 透视变换

转载 作者:太空狗 更新时间:2023-10-29 20:30:45 26 4
gpt4 key购买 nike

我正在尝试使用 OpenCv 校正图像的失真,然后在给定像素坐标的情况下计算真实世界的坐标。我无法在网上或 OpenCv 书中找到有关如何执行此操作的任何示例。

我已经用棋盘图像完成了相机校准。现在,我只需要一个基本函数,我可以为其提供像素坐标,它将根据相机矩阵、失真系数、旋转和平移 vector 为我提供真实世界的坐标。

有人知道怎么做吗?

最佳答案

看看 findHomography() 函数。如果您知道一组点在现实世界中的位置,则可以使用此函数创建转换矩阵,您可以将其与函数 perspectiveTransform()

一起使用
std::vector<Point2f> worldPoints;
std::vector<Point2f> cameraPoints;

//insert somepoints in both vectors

Mat perspectiveMat_= findHomography(cameraPoints, worldPoints, CV_RANSAC);

//use perspective transform to translate other points to real word coordinates

std::vector<Point2f> camera_corners;
//insert points from your camera image here

std::vector<Point2f> world_corners;
perspectiveTransform(camera_corners, world_corners, perspectiveMat_);

您可以找到有关函数 here 的更多信息

关于c++ - OpenCv C++ 透视变换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6012316/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com