攝像頭標定的主要目的就是在真實世界和我們畫素世界中建立乙個對映關係,這樣我們就可以利用畫素之間的距離得到真實世界的距離了。是不是很神奇呢?下面就跟作者來了解一下吧!
在講解攝像頭標定原理的時候(這裡先不涉及畸變),通常會涉及到四大座標系,如下圖所示:
其實本圖中只涉及到了三個座標系:
世界座標系:用來描述真實世界中點的座標的。標定中主要用於確定攝像頭位姿。
攝像頭座標系:以攝像頭為視角的座標系。
還剩下乙個座標系,那就是畫素座標系,這個座標系和座標系的區別在於:畫素座標系符合計算機處理的方式,原點在左上角,單位是畫素。
各個座標系之間的轉換不是一蹴而就的,比如在這裡我們得現在世界座標系中確立攝像頭的位姿。途徑就是將世界座標系轉換為相機座標系,在之前的文章中已經介紹過利用線性代數進行的轉換,所以這裡直接給出轉換方程:
這個轉換矩陣非常容易理解,你世界座標系轉換到相機的座標系只要做兩部就行了——首先平移,然後旋轉。這個轉換矩陣中就包含這兩個操作。
不過,這個r可不是之前那麼簡單地繞某乙個軸旋轉的矩陣了,它是繞著各個軸旋轉的產物。因此這個r中其實含有複雜的9個未知量。
當我們從世界座標系中轉換到攝像機座標系的時候,我們就可以把目光放到真實世界點在影象座標系下的位置了。
首先我們來看一張被引用很多次的:
其中p就是真實世界中的點,攝像機座標系下的座標。
p則是影象座標系下的點,影象座標系下的座標。
右側的數學推導,實際上利用了各個座標之間的相似三角形關係推導出來的。
引入了焦距f進行推理。
另外,這個推導還有乙個比較重要的地方,那就是最後的結論中含有這個,也是乙個要去計算的未知量。
之前已經介紹了影象和畫素座標系的區別了,他們就是:
座標原點不同。
單位不同。
這兩個都可以分別用平移和縮放來解決:
把之前的結論都連起來就可以獲得真實世界座標到畫素世界座標的映**:
此時的f已經不是單純的焦距了,也是乙個普通的未知量。
從圖中可以看出,相機外參矩陣和內參矩陣的乘積就是投影矩陣,利用這個矩陣就可以把真實世界的座標對映到畫素座標系中。
基於消失點的相機自動標定
as you seen,在一些場景下,比如交通監控 道路引數獲取 港口碼頭監控等,需要將相機架設在高處,此時,鑑於複雜的場景環境,基於傳統的相機標定方法 即鋪設標定板,利用張正友或者tsai標定方法進行標定,是不現實的。通俗的說 總不能在馬路上擺個標定板,告訴來往的車輛 你等一下,我拍二十張 你再走...
基於opencv的攝像頭的標定
四個座標系分別為 世界座標系 ow 攝像機座標系 oc 影象物理座標系 o1,單位mm 影象畫素座標系 o,位於視野平面的左上角,單位pix 空間某點p到其像點p的座標轉換過程主要是通過這四套座標系的三次轉換實現的,首先將世界座標系進行平移和轉換得到攝像機座標系,然後根據三角幾何變換得到影象物理座標...
基於CH374的USB攝像頭驅動設計
1 系統工作原理 1.1 usb攝像頭spca561a 比 起直接與微處理器介面的cmos感測器,使用usb攝像頭雖然成本偏高,但是易於實現,節省cpu資源,而且驅動支援非常豐富。spca561a提供了一 種單晶元攝像頭解決方案,它將乙個cif的cmos感測器 乙個影象處理器和usb控制器整合於單晶...