【问题标题】:open cv stereo camera calibrationopencv立体相机标定
【发布时间】:2021-09-01 12:37:48
【问题描述】:

我正在尝试使用 open cv 进行立体校准。我已经成功地对每台相机进行了内在校准。之后我尝试了打开 cv“stereoCalibrate”函数来查找外部参数。我想稍后用它们来进行立体声整流。

我从立体校准中获得的外部参数非常糟糕,我发现,在此过程中获取的图像点的顺序会发生变化。在第一幅图像中,图像点从左上角开始,到右下角结束。在第二张图片中,它们从右下方开始。

结果像点与物点不吻合,参数不好。

问题仅出现在两个摄像头之一。

任何想法我可以如何“强制”校准板的方向,以便正确分配图像点?

提前致谢!

【问题讨论】:

  • 以交互方式运行棋盘检测,绘制棋盘角(两个摄像头或一个摄像头)。观察点的顺序何时翻转。然后让你远离那个方向。有些板类型没有 180 度旋转对称。 “不对称圆形网格”就是其中之一,IIRC。

标签: python opencv camera-calibration


【解决方案1】:

我比较两个对角的y坐标:

if ((pointBuf1[num - 1].y < pointBuf1[0].y))
    std::reverse(std::begin(pointBuf1), std::end(pointBuf1));
if ((pointBuf2[num - 1].y < pointBuf2[0].y))
    std::reverse(std::begin(pointBuf2), std::end(pointBuf2));

pointBuf1 和 pointBuf2 是来自左右相机的图像点。 这段代码在 C++ 上,但是,我认为,思路很清晰

【讨论】:

    猜你喜欢
    • 2012-09-05
    • 2012-12-30
    • 1970-01-01
    • 2014-07-30
    • 1970-01-01
    • 2018-02-13
    • 2017-02-10
    • 1970-01-01
    相关资源
    最近更新 更多