opencv - 在没有棋盘的情况下找到相机的内在参数
问题描述
我需要使用一组历史镜头图像找到闭路电视摄像机的内在参数(这就是我所得到的,无法控制环境,因此没有棋盘校准)。
好消息是我可以访问一些真实世界的坐标,这些坐标在大多数图像中都可见。
只是想知道是否有任何可靠的方法来提出相机的内在参数。
PS 我已经在 Python 中使用 cv2.findHomography 找到了单应矩阵。
PS 我已经在两台机器上测试过QTcalib,但它一开始就无法可视化图像。不确定它有什么问题。
提前致谢。
解决方案
如果您只有一个视频和几个 3d 点,那么您最好的选择可能是匹配移动它,也就是说,使用 3D 计算机图形环境(例如 Blender)进行手动辅助束调整。网上有很多关于如何做的教程(例子)。要将 3d 点添加为约束,您需要在虚拟世界中构建一些表示它们的形状(例如一些小球体)并放置它们以使它们的相对位置与您拥有的地面实况相匹配,然后将它们添加到跟踪器解决方案中。
推荐阅读
- ios - 项目与 Xamarin iOS 10 (Xamarin.iOS,Version=v1.0) / win-x64 不兼容
- flutter - 任务':app:mergeDebugResources'的Flutter Build Execution失败
- node.js - 我如何从环回 4 上传到 MongoDB GridFS
- scala - scalaz.Heap 使用大型集合获取 StackOverflowError
- java - 如何使用比较器实现这两个堆构造函数?
- node.js - 为什么 graphql 不接受我在查询中传递的参数?
- adb - fastboot 设备不返回任何内容
- django - djoser 使用模板覆盖重置密码电子邮件
- avr - At32uc3c twim i2c 包 nack io_error
- rstudio - RStudio 意外退出