Camera calibration(相机校正)

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

主要還是張正友的方法。


OpenCV:

用OpenCV自帶的Sample:路徑C:\opencv\sources\samples\cpp\tutorial_code\calib3d\camera_calibration

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

Camera calibration(相机校正)_第1张图片

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

Camera calibration(相机校正)_第2张图片

結果:

Camera calibration(相机校正)_第3张图片

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

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

undistort(view, rview, cameraMatrix, distCoeffs);

代替remap,結果如下:

Camera calibration(相机校正)_第4张图片

可見經過裁剪。



MATLAB:

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


你可能感兴趣的:(图像处理)