相機標定——MATLAB


    相機標定是計算機視覺中最基礎的模塊,要問我為什么要搞這個東西。我只能說這是作!業!  

    不說了,說多了都是淚

 

    用Matlab做相機標定,使用的是matlab提供的標定工具箱,需要下載,如果英文好可以看這篇文章,里面還提供了例子圖片。

1. 啟動標定的工具箱

    打開matlab,在進入工具箱目錄,運行calib.m,有一個standard還有Memory efficient。當圖像非常多時,需要選擇第二種。

    我選擇了Standard。

2. 選擇圖像載入

    我是將圖片都放到了工具箱目錄里面,在接着點擊Image names按鈕,之后就出現下面這樣的情況了

    

    輸入Image(<-因為這東西是文件的前綴),因為我們圖片類型是.tif,因此再輸入t

    如果這里出現了OUT OF MEMORY,RAM太小了。你可以選擇memory efficient mode試試。。。

    標定后面的步驟就剩下grid corner extraction 以及 calibration

3. 提取角點

    點擊xtract grid corners進行腳點的提取。

    接着你就要選擇你要處理的圖像,如果直接點擊回車,他會選擇所有的圖像,如果你輸入2 5 8 10 12,它會選出這幾幅圖像讓你去處理。這里我的選擇是直接回車,處理所有的圖像。

    再接着,它會讓你選擇窗口的大小,這里默認使用了默認窗口的大小,即再次回車。具體發生的情況如下圖:

    

 

    經過這些操作之后,我們要開始選擇區域了

在這樣選擇好區域,matlab程序會詢問你中間的角點是否與實際圖像中的有變形,如果有進行調整。

    這邊輸入dx,dy=30 ......我也不知道為什么,文檔里面就是這樣,應該是實際的長度吧。輸入后,圖像里面會出現紅色的十字點。這個是角點。看一下是否與實際圖像中的角點一致,如果不對,輸出除了[](就是Enter),如果不一致,就輸入其他的,我輸入了1....為了方便。 之后輸入kc值來進行修改(first order lens distortion coefficient kc) 

    在取完所有角點之后,calib_data.mat文件會自動生成,還有什么文件會自動產生。具體的我不說了 

    再接着我們要進行最主要的標定過程,該步驟主要分為兩個部分:first initialization以及接下來要做的nonlinear optimization 

    處理了幾張以后以后應該可以按clibration按鈕了吧,這個主要是在處理first initialization的步驟

    再接着按reproject on image 會出現以下幾個圖

    在這些操作都做完以后,可以直接點擊alibration進行標定

未完待續……


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM