首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有一种方法可以使我的相机的视面平行于场景中的物体表面?

有没有一种方法可以使我的相机的视面平行于场景中的物体表面?
EN

Stack Overflow用户
提问于 2019-01-09 15:00:28
回答 1查看 711关注 0票数 1

我用一种正交的方式设置了两个摄像机,这样每个摄像机都可以看到放置在中间的立方体的一个相邻的表面,而两个相机的主线之间的角度是90度。我正在考虑在立方体的两边粘贴两个棋盘图案,以帮助对齐。我该如何进行,或是否有其他选择?

布局基本上是这样的:

主线之间的角度需要非常接近90度,或者至少我可以量化一些误差,所以我放弃了物理方法。

提前谢谢。

编辑:

立方体中心与两个摄像机的视面之间的距离为400英寸;

相机的焦距为0.77英寸;

视场的水平视角为0.95rad;

视图的纵横比为1280x720。

多维数据集作为一个参考对象工作,只是为了设置相机。它可以是大的,也可以是小的,而我假设一个1m×1m×1m立方体是合理的。

这里可以忽略热条件的影响。

我瞄准的误差是+-1度.似乎在目标侧进行校准与在摄像机一侧使用气泡管这样的方法相比误差更小。

我一直在使用棋盘(pose.html)的姿态估计方法。但当棋盘表面的法线矢量与摄像机的视面法线矢量对齐时,它就停止工作或不再精确。

对上述问题是否有其他适当的解决办法?

EN

回答 1

Stack Overflow用户

发布于 2019-02-06 20:50:08

姿态估计应该是足够的(为什么在您的情况下停止工作??)。或者你可能需要一个替代校准,滚动下面!

第一。您定义了两个摄像机的内在参数。

第二。你放置棋盘图案,这是一个很好的选择,因为你会得到更准确的图像点,通过检测角。您已经知道了这些模式的几何和距离,并将棋盘左上角定义为原始(0,0,0),就像标准的opencv (是吗?)。

第三。使用solvePnP进行姿态估计(旋转和平移)。您必须将初始旋转和转换到solvePnP(),因为这将决定您的整个结果。

第四。你把相机的位置调整到所需的90度。在这一点上,确保你的立方体边,你把你的棋盘是完美的90度。您可以将人工校准和opencv中的姿态估计结合在一起。

替代品:(光源卡尺)

您可以使用干涉仪的概念,从光学物理,更换您的相机与光源,并仔细标记其位置。用棱镜透镜代替立方体,并仔细标记它的位置。

您可以借用干涉仪的概念,并将其设置为您自己的术语。

一旦你得到你想要的,把相机放回去,并把它作为你上面第三步的初始旋转和平移位置。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54112943

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档