【问题标题】:Camera Calibration相机校准
【发布时间】:2011-04-05 14:31:47
【问题描述】:

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

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

【问题讨论】:

  • 您使用的是一台相机还是两台相机?所有的斑点都位于墙上吗?这些斑点是否具有标准化的颜色和形状,还是可变的?
  • 您好,我使用的是一台相机。斑点在墙上,但我在我的软件中获得了斑点的图像提要。这些斑点总是黑色的,形状总是圆形的。
  • 如果您负担得起,请购买 Xbox Kinect(145 美元)。它会让你的生活变得更简单(即如果运动结构不是你的目标)。

标签: opencv computer-vision camera-calibration


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-24
    • 2013-01-28
    • 2014-10-23
    • 2013-11-02
    • 1970-01-01
    • 1970-01-01
    • 2020-10-16
    • 2012-04-18
    相关资源
    最近更新 更多