【发布时间】:2019-06-04 09:26:57
【问题描述】:
我正在以正交方式设置两个摄像头,以便每个摄像头都可以看到放置在中间的立方体的相邻表面之一,并且两个摄像头的主线之间的角度是 90 度。我正在考虑在被查看的立方体的每一侧粘贴两个棋盘图案以帮助对齐。我应该如何进行或有其他选择吗?
原则线之间的角度需要非常接近90度,或者至少我可以通过某种方式量化误差,所以我放弃了物理方法。
提前致谢。
编辑:
立方体的中心与两个摄像机的视平面之间的距离为 400 英寸;
相机焦距为0.77英寸;
FOV(视野)的水平视角为 0.95 rad;
视图的纵横比为 1280x720。
立方体用作参考对象,仅用于设置相机。它可以是大的或小的,而我认为 1m x 1m x 1m 的立方体是合理的。
这里可以忽略热条件的影响。
我瞄准的误差是+-1度。与在相机端使用气泡管之类的东西相比,在目标端进行校准似乎给了我更少的错误。
我一直在使用带有棋盘的姿势估计方法 (https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_calib3d/py_pose/py_pose.html)。但是当棋盘表面的法向量与相机视图平面的法向量对齐时,它停止工作或不再准确。
对于上述问题,还有其他合适的解决方案吗?
【问题讨论】:
-
您似乎已经用 c++ 和 python 标记了您的问题,您实际上要求的是哪个?如果您询问的是特定软件,这些标签是无关紧要的,应替换为标识您询问的软件的标签。
-
我建议深入研究第 11 章。这里www-cs.ccny.cuny.edu/~wolberg/capstone/opencv/…
-
您需要更精确地定义参数。接近90度?您可以接受的错误是什么?立方体的大小是多少?摄像机的视野是多少。请注意,如果您所需的精度接近十分之一或更少,您肯定需要开始担心设置的机械和热稳定性,并对其进行控制
标签: python c++ opencv image-processing camera-calibration