相机标定/校正(Camera Calibration)

以前DIP課程有做過Camera calibration,這次因為用Gopro做Visual SLAM,所以又要撿一下校正的過程。主要還是張正友的方法。


OpenCV:

用OpenCV自帶的Sample:路徑

C:\opencv\sources\samples\cpp\tutorial_code\calib3d\camera_calibration 

 

 

1)打印自製校正板,用相機從不同角度拍攝(理論上三次以上,實際上最好10張以上)。


2)圖片路徑寫到VID5.xml中

 

3)修改in_VID5.xml中的長寬角點數(圖中是8X6)、小格邊長(圖中28mm)、VID5.xml路徑、用於校正的圖片數、校正結果的存儲路徑output_data.xml

 

4)在camera_calibration.cpp的main函數中指定in_VID5.xml的位置,imshow後面可以加上一段code存下校正后的圖片(optional)

 

5)Run camera_calibration.cpp


6)結果:


經驗:圖片數量要夠,cover的區域要夠,剔除角度太大的圖片,否則會造成失敗。

另外,openCV sample中用的是remap,結果如上,現用

undistort(view,rview, cameraMatrix, distCoeffs);

代替remap,結果如下:


可見經過裁剪。



MATLAB:

同樣的原理,有交互界面,但是需要手動操作,所有細節都在主頁上http://www.vision.caltech.edu/bouguetj/calib_doc/index.html#examples


 

posted @ 2015-12-04 16:54  Clarence的笔记  阅读(2686)  评论(0编辑  收藏  举报