1.先介紹下攝像機成像原理
一個攝像機可以大致分為三個部分:鏡頭 、感光元件(CCD和CMOS)、處理電路。當光線透過鏡頭,會在感光元件上形成一個物體的“像”。(小孔成像原理,不懂得自行百度)然后經過一系列處理就變成了電子版的圖片。當然這種變換過程中會產生一定的誤差(就好像透過貓眼看人會是一個曲面)。所以為了消除或者矯正這些誤差,標定技術就出現了(就是還原成正常人眼看到的圖像)。PS:這是簡單版的介紹,下面才是詳細介紹
2.接著來說四個坐標系的關系
我們可以把現實生活遇到的任何事物用坐標系表示出來,當然也可以用坐標系表示整個世界,于是便建立起了世界坐標系。想象一下,攝像機拍攝的是一張二維圖片,因此整個攝像機可以用一個坐標系去標識它獲取到的某個物體的位置,這是相機坐標系。像素坐標系就是相片的坐標系。成像平面坐標系類似于像素坐標系。
這就是四個坐標系
世界坐標系
相機坐標系
像素坐標系
成像平面坐標系
原本我們期望的拍攝效果;是每個坐標系中的像素都相互對應,類似于一種一元一次方程,但由于鏡頭或者其他關系,現在這條“直線”彎了,得到的圖像也會出現“彎曲”,因此我們需要把它矯正。
大概圖就這樣,都不許笑。
3.接著還得聊相機
都拿筆記下,現在劃重點
相機都有不同的內部參數、外部參數;
內部參數:有一個參數矩陣(fx,fy,cx,cy)和一個畸變系數(三個徑向k1,k2,k3;兩個切向p1,p2);內部參數是唯一的,就是一部相機只有一組內部參數。
外部參數:攝像機在世界坐標系中的位姿,由攝像機與世界坐標系的相對位姿關系決定。其參數有:旋轉向量R(大小為1x3的矢量或旋轉矩陣3x3)和平移向量T(Tx,Ty,Tz);對不同的標定圖,外部參數也是不同的,就是外部參數不唯一,你拿了多少不同的圖去標定就會有多少不同的外部參數。
4.最后聊下標定完之后要干啥
標定完成后,你會得到標定的內部參數,標定完之后就可以直接用內參數和畸變參數得到畸變校正圖像。接下來就可以使用OpenCV了,即用內參數和畸變參數作為initUndistortRectifyMap()函數的輸入,得到原圖像與畸變校正圖像的x,y坐標映射關系,即兩個變換矩陣。再以這兩個變換矩陣作為remap()函數的輸入,得到畸變校正圖像。到這一步,單目標定的目的已經達到了5.小結
①普通的工業視覺的標定,僅僅只是分辨率的標定,具體表現為從一系列的標定圖片中獲取x和y方向的各種比例關系,主要用于各種尺寸和定位檢測中。
②關于相機姿態標定的說明,一般情況下大部分人都用不到這一塊。這方面的一個非常主要的體現為人臉識別中人臉的姿態判斷,只有先標定出相機的姿態,才能根據相機的姿態找到人臉的姿態,從而判斷當前是抬頭還是低頭或者其他操作。
審核編輯:郭婷
-
CCD
+關注
關注
32文章
879瀏覽量
142144 -
攝像機
+關注
關注
3文章
1583瀏覽量
59958
原文標題:攝像相機標定到底是啥?標定完成得到的參數有什么用?
文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論