【问题标题】:OpenCV calibration parameters and a 3d point transformation from stereo camerasOpenCV 校准参数和立体相机的 3d 点变换
【发布时间】:2012-02-10 01:16:27
【问题描述】:

我有 4 个 ps3eye 相机。我已经使用 OpenCV 库的 cvStereoCalibrate() 函数校准了 camera1 和 camera2 通过查找角并将其 3d 坐标传递给此函数来使用棋盘图案。

我还使用相机2和相机3查看的另一组棋盘图像校准了相机2和相机3。

使用我校准过 camera3 和 camera4 的相同方法。

所以现在我有了 camera1 和 camera2 的外在参数和内在参数, camera2 和 camera3 的外在参数和内在参数, 以及camera3和camera4的外参和内参。

其中外部参数是旋转和平移矩阵,内部参数是焦距和主点矩阵。

现在假设有一个 3d 点(世界坐标)(而且我知道如何从立体相机中找到 3d 坐标),它被 camera3 和 camera4 看到,而 camera1 和 camera2 没有看到。

我的问题是:您如何获取camera3和camera4查看的这个3d世界坐标点并相对于camera1和camera2进行转换 使用旋转、平移、焦点和主点参数的世界坐标系?

【问题讨论】:

    标签: opencv camera transformation coordinate-systems extrinsic-parameters


    【解决方案1】:

    OpenCV 的立体校准只为您提供两个相机之间的相对外在矩阵。

    根据其文档,您不会获得世界坐标中的转换(即与校准模式相关)。它建议在其中一张图像上运行常规相机校准,并且至少知道它的转换。 cv::stereoCalibrate

    如果校准完美,您可以使用菊花链设置推导出任何相机的世界变换。

    据我所知,这不是很稳定,因为在运行校准时应该考虑到您有多个摄像头这一事实。

    多相机校准并不是最简单的问题。看看:

    我也在寻找解决此问题的方法,因此如果您了解有关此问题和 OpenCV 的更多信息,请告诉我。

    【讨论】:

    • 谢谢亚历克斯。我会查看链接。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-30
    • 1970-01-01
    • 2020-10-16
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多