我尝试过的方法:
- OpenCV内置的校准方法
- Matlab校准工具箱
- Matlab校准应用程序
- 手动调整数值。
- 对于每个摄像头,使用大约20张不同方向和位置的图像
- 对于尺寸为25mm、32mm和50mm块的9x6棋盘格
- 在1280x720和1920x1080两种分辨率下
- 距离范围从小板子的500mm到大板子的2000mm
在所有情况下,我都按照此链接的严格指南进行操作如何验证网络摄像头校准的正确性?
在上述因素的所有组合中,我得到的结果偏差几毫米(+-15mm)
我的25mm块1280x720方法的内参如下:- OpenCV内置的标定方法 > fx = 1269.4 fy = 1269.49 cx = 639.5 cy = 359.5
- Matlab标定工具箱 > fx = 1259.53 fy = 1260.76 cx = 661.3 cy = 306.5
- Matlab标定应用程序 > fx = 1255.1 fy = 1254.8 cx = 652.6 cy = 340.7
- 手动调整值。>各种结果,除了cx = 639.5 cy = 359.5之外都不稳定
这不应该是这种情况。相机相对于板子原点的位置精度应该平均为一毫米或两毫米,如果距离小于1米,则精度甚至可能达到亚毫米级别。除非我搞错了?
我的问题是,对于一个带有少量畸变的高清网络摄像头,什么是理想的简单校准方法?