opencv - 在已知基线的情况下估计给定另一台摄像机的姿态

标签 opencv computer-vision

我是计算机视觉的初学者,因此我向您致歉。基本上,我要编码的想法是给定两个可以模拟多个基准立体声系统的摄像机。我正在尝试估计一台摄像机相对于另一台摄像机的姿态。

在同一场景中,我将在第二个摄像机的姿势中合并一些噪声,并给出来自摄像机1的清晰图像,以及来自摄像机2的轻微失真/偏斜图像,我想据此估算摄像机2的姿势数据以及摄像机之间的已知基线。我一直在阅读有关opencv中的单应性矩阵和相关实现的信息,但是我只是在尝试获取有关可能方法的一些建议。我所见过的单应性矩阵的大多数应用都在讨论缝合或叠加图像,但是在这里,我希望以此来寻找摄像机的六自由度姿态。

如果有人也可以阐明这些问题,那就太好了:可以将用于此的方法扩展到两个以上的摄像机吗?而且,这两个摄像机的姿势是否都有“噪点”,而且还可以在每个瞬间恢复6dof姿态?

最佳答案

让我们先澄清您的问题。我猜您正在寻找相对于另一个相机位置的相机姿势。仅通过纯照相机旋转,Homography对此进行了描述。对于包括平移的常规运动,这由旋转和平移矩阵描述。如果摄像机的视场重叠,则可以使用运动结构来解决任务,该结构仍仅估计5自由度。这意味着翻译是按比例估算的。如果摄像机视场中有尺寸已知的棋盘,则可以通过运行PnP算法轻松解决6dof问题。当然,应该首先对相机进行校准。最终,在2008年,马克·波列菲斯(Marc Pollefeys)提出了一个想法,如何在不使用任何国际象棋棋盘的情况下,从两个不重叠视场的移动摄像机中估算6自由度。为了给您更多细节,请告诉您您正在寻找的应用程序。

关于opencv - 在已知基线的情况下估计给定另一台摄像机的姿态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30696818/

相关文章:

python - 如何使用 OpenCV 在圆圈中找到最大 RGB 值?

opencv - 如何去除凸面缺陷?

image-processing - 边缘检测后的形状识别

python - 将模型从 pytorch 转换为 ONNX 后获得不同的结果

用于读取数据矩阵代码的 C++ 库

python - 在 Python 中计算图像数据集 channel 明智均值和标准差的最快方法

opencv - 无 8 位系统上的 CV_8U opencv 矩阵

python - opencv-python 基本 ORB 特征检测在函数 cv::drawKeypoints 中给出错误 -215

c# - OpenCV + 安卓 + Unity

python - opencv cap.read 有一个属性错误。如何排除故障?