【问题标题】:openCV cameracalibration processopenCV相机标定流程
【发布时间】:2015-04-10 21:06:16
【问题描述】:

根据http://docs.opencv.org/doc/tutorials/calib3d/camera_calibration/camera_calibration.html

“通过校准,您还可以确定相机的自然单位(像素)和现实世界单位(例如毫米)之间的关系。”

有人可以具体解释一下这是如何完成的吗?我想我理解 calibratecamera 函数计算的重投影误差。如果我用距相机未知距离的图案校准相机,如何使用重投影误差将该相机带到其他地方并使用相机矩阵或使用校准获得的其他信息对不同未知距离的物体进行测量功能?

【问题讨论】:

    标签: c++ opencv


    【解决方案1】:

    如果您使用一些有意义的单位(cm、mm、m 而不是通常的“嘿,它是某种网格”表示)传递对象点的坐标,您会发现 rvect 和 tvecs 填充了信息这允许您将过程中使用的校准模式放置在度量正确的 3D 空间中。但这只是可能的,因为有一些关于您观察到的物体的物理尺寸的先验信息,因为您正在处理单目情况。此附加信息用于在您观察的场景上施加适当的比例。获取对象的 3D 位置和方向的一种可能(并且非常简单)的方法是使用 solvePnP 函数或其 RANSAC 驱动的版本。不确定您的应用程序的详细信息,因此我将在此停止。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-01
      • 2021-05-20
      • 2019-11-06
      • 2012-03-28
      • 1970-01-01
      • 2013-01-27
      • 1970-01-01
      相关资源
      最近更新 更多