gpt4 book ai didi

c++ - OpenCV 将 3D 坐标投影到 2d 相机坐标

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:43:14 27 4
gpt4 key购买 nike

我有一个物体的 3D 世界坐标,我想获得它在相机 2D 平面中的坐标。我已经使用 cv::calibrateCamera 校准了相机,因此我拥有了相机矩阵distortionCoeffs

为了将 3D 点投影到 2d 相机坐标,我使用了 cv::projectPointsDocumentation说:

void projectPoints(InputArray objectPoints, InputArray rvec, InputArray tvec, InputArray cameraMatrix, InputArray distCoeffs, OutputArray imagePoints, OutputArray jacobian=noArray(), double aspectRatio=0 )

我如何获得 rvec/tvec,我的方法是否正确?calibrateCamera 给我 rvecstvecs ,但它们是针对每个输入的棋盘图像,我猜,它们是棋盘的旋转和平移,而不是相机的旋转和平移。

最佳答案

因为我有投影矩阵 (P),所以我可以像这样计算相机平面中的二维坐标 (x) 3D 坐标 X(使用齐次坐标):

x (u,v,w) = P * X (x1,x2,x3,w)

我只是有一个校正问题,所以我无法准确投影到我的 2d 图像。看这里:OpenCV stereo vision 3D coordinates to 2D camera-plane projection different than triangulating 2D points to 3D

关于c++ - OpenCV 将 3D 坐标投影到 2d 相机坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36955020/

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