關於相機標定的理解

2021-08-14 14:57:22 字數 1315 閱讀 8470

平時我們都說要做視覺識別、測量云云,然後我們就會去拍照,再對數字影象做各種處理,顏色處理、灰度化、濾波、邊緣檢測、霍夫變換,最後得到了希望得到的特徵,是這樣的對吧?

不過請注意!到了這一步,其實我們僅僅是得到了一坨坨感興趣的畫素而已!究竟要怎樣才能把這些畫素轉化到現實世界的物件中呢?也就是說,究竟要怎樣對這些僅存在於影象中的東西進行測量,才能得到具有實際意義和尺度的資料呢?這個時候我們就懵逼了……

沒錯, 攝像機標定的存在意義就是解決這個問題!!!

我們繼續看看,通過攝像機標定我們可以知道些什麼:

1.外引數矩陣。告訴你現實世界點(世界座標)是怎樣經過旋轉和平移,然後落到另乙個現實世界點(攝像機座標)上。

2.內引數矩陣。告訴你上述那個點在1的基礎上,是如何繼續經過攝像機的鏡頭、並通過針孔成像和電子轉化而成為畫素點的。

3.畸變矩陣。告訴你為什麼上面那個畫素點並沒有落在理論計算該落在的位置上,還tm產生了一定的偏移和變形!!!

好了,到這裡是不是明白了一點?上述3點的每乙個轉換,都有已經有成熟的數學描述,通過計算,我們完全可以精確地重現現實世界的任意乙個點到其數字影象上對應畫素點的投影過程。

對於雙目視覺系統,通過立體標定還能進一步得到下面的引數:

4.結構引數。告訴你右攝像機是怎樣相對於左攝像機經過旋轉和平移達到現在的位置。

通過結構引數,便能把左右攝像機獲取的影象的每乙個畫素點之間的關係用數學語言定量描述,保證兩個相機都處於我們「可求」的狀態。

總的來說,攝像機標定是通過尋找物件在影象與現實世界的轉換數學關係,找出其定量的聯絡,從而實現從影象中測量出實際資料的目的。

當然,其實上述的各個轉換過程大部分都不需要使用者自己乙個個寫程式實現,比如opencv就整合了單目標定函式calibracamera()、畸變校正函式undistortinitialmap()、雙目標定函式stereocalibrate()

其實自己親自走一遍流程就很容易領會到整個視覺測量的邏輯。比如說,在畸變校正中需要用到單目標定的畸變引數輸出和內引數輸出,在雙目標定中需要用到單目標定的外引數輸出,在外極線校準中需要用到雙目標定的結構引數輸出,在立體匹配中中需要用到外極線校準的輸出引數,在三維反求中需要用到立體匹配的輸出引數。使用者自己走完一遍這個流程,基本上就發現沒有做標定的話,幾乎什麼都幹不了。

通常我們在做3d視覺的時候,為了從2d影象中提取矩陣資訊相機標定是相當有必要的一步。

典型的相機標定方法:

1)攝影測量的標定方法。 該方法通過觀察3d空間的幾何特性,擁有著相當好的精度。標定可以做到很好的效果。標定的物件需要兩到三個正交的平面,這種方法需要**的標定裝置和精細的操作過程。

2)自標定方法。這種標定技術不需要使用任何標定的物件,僅僅需要在靜態的場景當中移動相機

關於相機標定的幾點思考

今天在上影象處理課,神遊之餘想到了本科時的畢業設計 相機標定演算法研究與實現。當時我的標定系統標定結果相當不穩定,後續進行雙目標定 雙目測距等試驗時,試驗結果也相當不理想。我認為有以下幾點原因 1.棋盤格標定板簡易,精確度不高 2.雙目相機裝置簡陋,是用兩個同型別的相機手動拼合在一起,準確度不高,這...

深度學習 相機標定 相機標定

術語 內參矩陣 intrinsic matrix 焦距 focal length 主點 principal point 徑向畸變 radial distortion 切向畸變 tangential distortion 旋轉矩陣 rotation matrices 平移向量 translation ...

關於相機標定的問題答覆網友

snow2012720 我剛開始學習計算機視覺的雙目三維重建內容,感覺好多內容不懂,看到你的博文,了解到你對雙目標定三維重建這些有深入的研究,您是過來人了,能否幫忙給我在學習標定匹配三維重建過程中給予指點?包括看什麼資料,用什麼演算法程式等等,非常感謝!答覆 其實雙目三維重建這一塊我也沒有深入的原理...