使用OpenCV进行棋盘相机校准

问题描述 投票:0回答:1

我正在尝试使用立体视觉方法计算物体与相机的距离。但在计算视差图之前,我必须确保我的相机已经过校准。

我按照opencv python教程进行了相机校准。他们使用棋盘来校准他们的相机。现在我的问题是,如果我想校准我的相机,我是否需要手动从各个角度点击棋盘的照片?或者我可以使用他们提供的14个棋盘图像吗?

我的下一个问题(取决于上一个问题的答案)是,如果我可以使用他们的图像来校准我的相机,这背后的逻辑是什么?如何从相机中点击图像来校准我的相机,即获取相机的相机矩阵?我想在这个相机校准过程中获得更多直觉。

任何帮助将不胜感激。谢谢。

python opencv camera-calibration stereo-3d
1个回答
1
投票

1-不,您打印类似于棋盘图案的东西,并使用它来校准您自己的相机。您可以在here上使用代码。

2-过程基本上如下:要确定图像中像素的坐标,您需要知道两个(仅计算最基本的,当前我排除失真参数)参数集。第一组参数是相机的内部参数(内部参数)是相机的光学中心(基本上是传感器/镜头的中心像素)和相机的焦距。除非您更改设备的某些设置或某些设置随时间变化,否则相机的固有参数是固定的。第二组参数是位置和旋转矢量,用于描述摄像机在3D世界中的位置(这些是外部参数)。您拥有的每个示例图像的外部参数都会发生变化。您可以将相机校准视为一个优化过程,该过程试图找到您给出的示例图像的最佳参数(给出最小重投影误差的参数)。

© www.soinside.com 2019 - 2024. All rights reserved.