gpt4 book ai didi

python - 有没有办法使我的相机的视平面与场景中的物体表面平行?

转载 作者:太空宇宙 更新时间:2023-11-03 23:08:44 26 4
gpt4 key购买 nike

我以正交方式设置两个摄像头,这样每个摄像头都可以看到放置在中间的立方体的相邻表面之一,并且两个摄像头的主线之间的角度为 90 度。我正在考虑在正在查看的立方体的每一侧粘贴两个棋盘图案以帮助对齐。我应该如何进行,或者还有其他选择吗?

布局基本上是这样的: enter image description here

原则线之间的角度需要非常接近 90 度,或者至少我可以用某种方式量化误差,所以我放弃了物理方法。

提前致谢。

编辑:
立方体的中心与两个摄像机的视平面之间的距离为 400 英寸;
相机焦距为0.77英寸;
FOV(field of view)的水平视角为0.95 rad;
View 的纵横比为 1280x720。

立方体用作引用对象,仅用于设置相机。它可以大也可以小,而我假设 1m x 1m x 1m 的立方体是合理的。

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

我瞄准的误差是+-1度。与在相机端使用气泡管之类的东西相比,在目标端进行校准似乎可以减少错误。

我一直在使用棋盘姿态估计方法 ( https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_calib3d/py_pose/py_pose.html )。但是当棋盘表面的法 vector 与相机视平面的法 vector 对齐时,它停止工作或不再准确。

对于上述问题,是否还有其他合适的解决方案?

最佳答案

姿势估计应该足够了(为什么它在你的情况下停止工作??)。或者您可能需要替代校准,请在下方滚动!

首先。您定义两个相机的内在参数。

第二个。您放置棋盘图案是一个不错的选择,因为您将通过检测角点获得更准确的图像点结果。您已经知道这些图案的几何形状和距离,并且像标准 opencv 一样将棋盘的左上角定义为原点 (0,0,0)(是吗?)。

第三。您使用 solvePnP 来获得姿势估计(旋转和平移)。您必须将(并小心)初始旋转和平移到 solvePnP() 中,因为这将决定您的整个结果。

第四。您将相机位置调整到所需的 90 度。在这一点上,确保你放置棋盘的立方体侧面也完全是 90 度。您可以结合使用 opencv 的手动校准和姿态估计。

备选方案:(光源校准)

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

可以借用干涉仪的概念,用自己的术语来设定。

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

关于python - 有没有办法使我的相机的视平面与场景中的物体表面平行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54112943/

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