您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

OpenCV取消投影2D指向深度为Z的3D

OpenCV取消投影2D指向深度为Z的3D

我发现了问题所在 !我假设无论我选择什么3D坐标点,重建都将照顾到它。但是,我注意到了一些奇怪的事情:当使用一系列3D点时,这些点中只有一部分被正确地重建。经过进一步调查,我发现只有在摄像机视场内的图像才能被正确地重建。视场是固有参数的函数(反之亦然)。

为使以上代码正常工作,请尝试按以下方式设置参数(本机来自我的相机):

...
const double f_x = 2746.;
const double f_y = 2748.;
const double c_x = 991.;
const double c_y = 619.;
...
const cv::Point3d point_single(10.0, -2.0, 30.0);
...

另外,请不要忘记在相机坐标中负y坐标为UP:)

我尝试使用以下方式访问内部函数时出现一个错误

...
double f_x = intrinsic.at<double>(0, 0);
double f_y = intrinsic.at<double>(1, 1);
double c_x = intrinsic.at<double>(0, 3);
double c_y = intrinsic.at<double>(1, 3);
...

但是intrinsic一个3x3矩阵。

编写单元测试!!!

其他 2022/1/1 18:47:13 有429人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶