- 相机成像原理:相机的成像依据小孔成像原理,而只靠小孔透光并不能达到一次快速曝光所需的光照强度,因此需要凸透镜即相机镜头(Lens)来聚集更多的光线用于成像。镜头的引入使得自然光从物体表面传播到相机感光器的过程中,光轨迹发生变化,从而导致所成图像发生畸变(Distortion)。
- 相机标定简介:由于相机的成像特性导致其不能直接用于测量,但若能得到相机的成像模型,即光轨迹发生了怎样的变化,再获得相机在真实世界中的位置,方向等信息,就能求出像片与真实世界之间的映射关系,有了这个映射关系就可以由物体在像片中的坐标来解算得出其在真实世界中的坐标。
相机标定(Camera Calibration)的过程就是获得像片到真实世界之间映射关系的过程。
上述所求的相机的成像模型实际上就是相机本身的特性,比如焦距、畸变系数等,通过这些特性可以了解这台相机所成图像有什么特点,会有哪些程度的误差,这些参数就称为相机的内参数;
把相机看成一个整体,一个质点,这个质点在拍摄像片时在真实世界中的位置、所朝方向等信息就是相机的外参数。
- 所需工具:Matlab标定工具箱TOOLBOX_calib
http://www.vision.caltech.edu/bouguetj/calib_doc/
标定板的像片15-25张,采集像片时需要注意:
- 尽可能让标定板占满整幅像片,这样可以使计算出的畸变系数更精确;
- 在同一组像片拍摄过程中,相机和标定板必须固定其中一个,移动另一个进行拍摄。
标定过程:
- 像片和工具箱分别存放在Matlab工作路径下的文件夹中,在Matlab命令行窗口输入calib_gui调出标定工具箱,点击第一个选项Standard来读取像片。
- 如图所示的窗口中选择Image names来通过图片名称读取,(图片最好统一命名且有共同的关键字,如A1.jpg A2.jpg等等)
- 接下来在命令行输入图片的共同关键字以及图片格式,像片读取成功后会以缩略图形式展示。