opencv - 相机姿势对测量的影响
问题描述
我正在用 OpenCV calibrateCamera 做一些实验,试图弄清楚我的相机姿势的变化对我的测量有多大影响。
例如,我有一个 16 毫米焦距的镜头和 400 毫米的工作距离。我使用棋盘格图案和 calibrateCamera 校准相机。然后我抓取包含两个基准点的图像,将基准点的位置转换为真实世界坐标,然后计算基准点之间的距离为 10 毫米。
现在,如果我在 x 或 y 轴上移动相机,而不改变我的工作距离,我的读数应该是一样的正确吗?(假设我正在纠正失真)
如果我在 z 方向上移动,我的 10 毫米读数会改变。我可以通过仅查看对象大小与工作距离的比率来计算通过更改工作距离而引入的“误差”吗?例如 10mm/400mm = .025,如果我将相机远离物体 1mm,则 10mm/401mm = 0.02494,所以我可以预测大约 0.02494 * 400 = 9.936mm 的测量值。?更复杂的场景呢?如果我将相机向后移动 5 毫米并向上移动 5 毫米会怎样,所以现在有效地发生了倾斜。我可以计算出这个错误是什么吗?我只是想弄清楚在我需要重新校准之前我的相机的姿势可以改变多少。
解决方案
推荐阅读
- unicode - 将字符与 unicode 组合是否有限制?
- r - 如何根据 R 中现有列的值和名称创建新列?
- ios - IOS启动画面不显示
- python-2.7 - 如何在 Shapely 多边形中舍入多边形坐标?
- autodesk-forge - IFC 转换方法更改生成的 SVF 的位置
- php - Etsy OAuth 1.0 中的 PHP URL 查询参数不起作用
- c - SDL 应用程序退出而不进入 main - SDL Image
- java - 如何使用正则表达式解析字符串
- javascript - 尝试使用从另一个页面加载的函数会导致函数未定义
- c# - 我将 caliburn.micro 与多项目解决方案一起使用,需要在主项目中识别要引导的程序集,以便它找到其他项目