openCV Python 相机标定 - 裁剪与 ROI

2 投票
1 回答
859 浏览
提问于 2025-04-18 03:00

我正在使用OpenCV-Python来修正图片中的镜头畸变。我用的是这个教程里的脚本。

当我把这个脚本应用到作者提供的图片上时,它能正常工作。

但是,当我用自己的图片时,我要么得到一个ROI = (0,0,0,0),要么得到一个裁剪效果不好的ROI。

我不明白为什么会这样。我不知道该怎么办 :./

  • 拍摄棋盘格时有没有特别的要求?
    • 棋盘格应该离相机近一点还是远一点?
    • 我需要拍几张照片吗?
    • 相机在拍摄时应该保持不动吗?
  • 我需要在某个地方定义棋盘格方块的大小吗?

谢谢你的回答。

M.

1 个回答

1

好的,终于可以用了,我来回答我自己的问题 ^^

  • 拍摄棋盘有什么特别的要求吗?

    • 棋盘应该离相机近一点还是远一点?

      --> 棋盘应该靠近照片的边缘。

    • 我需要拍很多张照片吗?

      --> 至少要10张,如果能拍20张更好。

    • 相机不能动吗?

      --> 相机可以动。

  • 我需要在某个地方定义棋盘格子的大小吗?

    --> 看起来不需要,但如果棋盘不是正方形会更好(比如9x9的小格子,4x8的棋盘会更好)。

    --> 不过,我还是不太确定这个问题的答案。

我注意到的一些重要事项:

  • 照片应该保持相同的方向(横向)。
  • 裁剪后的照片不一定和原始照片的尺寸相同。

谢谢我自己 :D

撰写回答