非平面钻机的摄像机校准

时间:2015-05-05 15:22:53

标签: opencv camera-calibration intrinsics extrinsic-parameters

根据我得到的结果和提供的文档,我得出结论,使用非平面钻机的校准在OpenCV中不起作用(它们在很大程度上取决于初始猜测)。根据他们对函数calibrateCamera

的文档
  

该算法执行以下步骤:

     
      
  • 计算初始内部参数(该选项仅可用   对于平面校准模式)或从输入中读取它们   参数。失真系数最初都设置为零   除非一些CV_CALIB_FIX_K?是指定的。
  •   
  • 估计最初的   相机姿势好像内在参数已经知道。   这是使用solvePnP
  • 完成的   
  • 运行全球Levenberg-Marquardt   优化算法,以减少重投影错误,即,   观察到的特征点之间的平方距离的总和   imagePoints和投影(使用相机的当前估计值   参数和姿势)对象指向objectPoints。看到   projectPoints了解详情。
  •   

同样在强制性中,如果使用非平面钻机作为输入,则需要提供内在的初始估计,从而确认第一点。

所以,我的问题是,是否有任何可用的库(任何语言)都可以为非平面钻机找到内在函数(或者可能与extrinsics一起)?

2 个答案:

答案 0 :(得分:1)

如果您可以访问Matlab,或者可以理解Matlab语法并将其翻译成您最喜欢的语法(从Matlab轻松到Python并获得openCV集成)。你可以看看他们的非平面钻机。此代码基于Heikkilä的作品:

"Geometric Camera Calibration Using Circular Control Points", IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 22, No. 10, pp. 1066-1077, Oct 2000.

并且包括这种校准的示例,这些链接包含相应的代码:

http://www.vision.caltech.edu/bouguetj/calib_doc/htmls/example3.html

http://www.ee.oulu.fi/~jth/calibr/

我希望这个广泛的答案很有用。

答案 1 :(得分:0)

来自MVTec的Halcon允许您指定任何校准装备的3D坐标。 http://www.halcon.com/download/reference/camera_calibration.html