立体相机的opencv世界坐标

问题描述

您好,我正在尝试计算立体相机的世界坐标,但不确定我是否完全正确。

在特征匹配之后,获得 3D 点并过滤内点,我使用了 solvePNPRansac 并获得了一个旋转和平移向量。

cv::solvePnPRansac(points3DIn_Left,currMatchesIn_Left,camMatLeft,emptydistCoeff,rVec_Left,tVec_Left);
cv::solvePnPRansac(points3DIn_Right,currMatchesIn_Right,camMatRight,rVec_Right,tVec_Right);

这些已经是真实世界坐标了吗?

在其他来源中,他们使用 Rodrigues,然后将平移向量与转置旋转矩阵相乘。

cv::Mat R = cv::Mat(3,3,CV_64F,double(0));;
cv::Rodrigues(r,R);
cv::Mat result = -(R.t() * t);

在另一个来源中,他们将值放入转换矩阵中。

cv::Mat R = cv::Mat(3,R);
cv::Mat T = cv::Mat::eye(4,4,R.type());
T(cv::Range(0,3),cv::Range(0,3) ) = R;
T(cv::Range(0,cv::Range(3,4) ) = -(R.t() * t;

这是否需要计算相机的真实世界坐标? 也许你可以帮助我了解我的相机的真实世界坐标是什么。非常感谢任何帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...