基於matlab的雙目攝像頭標定

利用matlab對雙目攝像頭進行標定,本文使用的matlab版本爲Matlab R2018b。

(1)下載標定工具箱

網址:http://www.vision.caltech.edu/bouguetj/calib_doc/download/index.html

(2)將下載的TOOLBOX_calib工具箱添加到matlab的文件路徑下

主頁->設置路徑->添加幷包含子文件夾

(3)在matlab的命令行窗口啓動Camera Calibration Toolbox

輸入calib_gui,啓動工具箱

(4)該工具箱有兩種讀入圖片的方式,Standard和Memory efficient兩種

Standard方式是將標定圖片一次性讀入計算機內存,但是該種方式會造成計算機內存的溢出,Memory efficient方式是將標定圖片一張一張的讀入。本文選擇Standard方式將標定圖片讀入計算機內存

開始標定

(1)下載標定圖像

網址:http://www.vision.caltech.edu/bouguetj/calib_doc/htmls/calib_example.zip

(2)將20張圖片放入自己建立的文件夾calib_example

(3)在matlab中,定位到calib_example,點擊Image names按鈕,結果如下

(4)提取角點

點擊Extract grid corners按鈕,提取角點

(5)輸入每一個方塊格子的大小dx和dy,輸出結果如下所示。

 

(6)利用以上步驟對所有的圖片進行標定

(7)當對標定結果不滿意時,可以進行人爲的調整,輸入想要偏移的像素大小

(8)當對20張圖片均標定完成後,顯示如下結果,會生成calib_data.mat

(9)當對角點提取完成後,點擊Calibration按鈕,運行攝像機標定程序

(10)當完成攝像機的標定後,點擊Reproject on images,對標定點進行重新投影,此時可以得出標定的誤差

如果想要更加直觀的查看網格相對於標定板的位置,點擊Show Extrinsic按鈕,結果如下所示。

 

當誤差過大時,點擊Recomp.corners按鈕,之後點擊Calibration按鈕,重新進行自動標定,標定完成後,點擊Save按鈕,將標定後雙目相機的內參和外參進行保存。

此時錯誤分析結果如下所示

 

雙目攝像機標定原始文檔如下:

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

對兩個相機分別進行標定得到各自的內外參數,教程步驟參考:

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

對兩個相機進行雙目系統標定,教程步驟參考:

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

經過以上兩個步驟之後,得到如下所示的相機內外參數,具體參數描述參考:

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章