相机校准

时间:2010-08-30 04:51:53

标签: opencv computer-vision camera-calibration

我正在使用OpenCV,这是整个事情的新手。

我有一个场景,我正在墙上投影,我正在建造一种带摄像头的机器人。我想知道如何处理图像,以便能够获得我的相机跟踪的斑点坐标的真实值?

1 个答案:

答案 0 :(得分:9)

首先,您需要校准相机的固有内容。使用印在纸板上的棋盘图案来做到这一点,OpenCV有这方面的方法,尽管也有完成的工具。 为了得到一个想法,我写了一些python代码来从实时视频流校准,沿着相机以不同的角度和距离移动纸板。看看这里:http://svn.ioctl.eu/pub/opencv/py-camera_intrinsic/

然后你需要校准相机的外在物体,即相机的位置。你的世界坐标。您可以在墙上放置一些标记,定义这些标记的3D位置,然后让OpenCV校准外部标记(cvFindExtrinsicCameraParams2)。 在我的示例代码中,我计算了外在的wrt。棋盘,所以我可以在相机的正确视角渲染茶壶。你必须根据自己的需要进行调整。

我假设你只投射到平坦的表面上。您必须知道几何体才能获得检测到的斑点的3D坐标。然后,您可以在相机图像中找到斑点,并了解内在,外在和几何,您可以根据内在/外在对照相机为每个斑点投射光线,并计算每条光线与已知几何体的交点。然后,交点就是投射斑点的世界空间中的3D点。

相关问题