相機畸變與標定

2022-02-04 09:01:24 字數 2922 閱讀 6200

相機畸變與標定

一、相機畸變

定義:相機鏡頭的畸變實際上是光學透鏡固有的透視失真的總稱。

相機畸變的分類:

1、枕形畸變:又稱鞍形形變,視野中邊緣區域的放大率遠大於光軸中心區域的放大率,常用在遠攝鏡頭中(下圖左);

2、桶形畸變,與枕形畸變相反,視野中光軸中心區域的放大率遠大於邊緣區域的放大率,常出現在廣角鏡頭和魚眼鏡頭中(下圖中);

3、線性畸變:光軸與相機所拍攝的諸如建築物類的物體的垂平面不正交,則原本應該平行的遠端一側和近端一側,以不相同的角度匯聚產生畸變。這種畸變本質上是一種透視變換,即在某一特定角度,任何鏡頭都會產生相似的畸變(下圖右)。

二、相機的畸變模型

相機的針孔模型,只是真實相機的乙個近似,由於存在各種鏡頭的畸變和變形,所以真實的相機要比模型複雜的多。在引入各種非線性的畸變修正之後,就形成看複雜的非線性成像模型。鏡頭的畸變主要分為徑向畸變、離心畸變和薄稜鏡畸變三類。

2.1 徑向畸變

定義:使像點產生徑向位置的偏差。徑向畸變又分為正向畸變和負向畸變,正向畸變稱為枕形畸變,負向畸變稱為桶形畸變;

特點:由鏡頭的形狀缺陷所造成的畸變,關於相機主光軸對稱。

其中,為像點到中心店的距離;為徑向畸變係數。

2.2 離心畸變

定義:光學系統的光學中心和幾何中心不一致(鏡頭各器件的光學中心)所造成的畸變;

特點:既包含徑向畸變,又包含鏡頭主光軸不對稱多造成的切向畸變。

2.3 薄稜鏡畸變

定義:鏡頭設計缺陷與加工安裝誤差所造成;

特點:同時引起徑向畸變和切向畸變,**位鏡頭可以忽略薄稜鏡畸變。

三.相機畸變矯正

在用相機進行單目測距時,需要用到乙個叫相機內參的東西,而這需要靠相機標定來得到。這些大概要從相機模型說起了:

小孔成像模型就是最簡單通用的一種相機模型,這個模型用下面乙個圖說明一下。

其中f為熟知的相機引數——焦距,而光軸與成像平面的交點稱為主點,x表示箭頭長度,z是相機到箭頭的距離。在上圖這個簡單且理想的小孔成像"相機"中,可以輕鬆的寫出黃色箭頭在現實世界座標系與成像平面座標系之間的轉換關係。

但是在實際相機中,成像平面就是相機感光晶元,針孔就是透鏡,然而主點卻並不再在成像平面的中心了(也就是透鏡光軸與感光晶元中心並不在一條線上了),因為在實際製作中是無法做到將相機裡面的成像裝置以微公尺級別的精度進行安裝的,因此需要引入兩個新的引數cx和cy,來對硬體的偏移進行矯正。

上式中引入了兩個不同的焦距fx和fy,這是因為單個畫素在低價成像裝置上是矩形而不是正方形。其中,fx是透鏡的物理焦距長度與成像裝置的每個單元尺寸sx的乘積。

通過上式可以知道相機內參的四個引數了,分別是fx,fy,cx,cy。但在計算中,常通過一些數學技巧來進行一定的變換,從而得到下式。

其中:

通過上面的式子,可以將空間中的點和中的點一一對應起來。式中的矩陣m就是常聽說的相機內參矩陣了。

四.相機外參

而有相機內參,就有相機外參了,相機外參**於相機自身的畸變,畸變可以分為徑向畸變(有透鏡的形狀造成)和切向畸變(由整個相機自身的安裝過程造成)。

映象畸變是由凸透鏡本身形狀引起的,好的透鏡,經過一些精密處理,畸變並不明顯,但在普通網路相機上畸變顯得特別突出。可以把畸變看作r=0附近的泰勒奇數展開的前幾項來便是。一般為前兩項k1 , k2,對於魚眼透鏡 ,會用前三項k3 。成像裝置上某點的徑向位置可以根據以下等式進行調整,這時便有了3個或2個的未知變數。

這裡(x,y)是成像裝置上畸變點的原始位置,(xcorrected,ycorrected)是矯正後的新位置。

切向畸變是由於製造上的缺陷使透鏡不與成像平面平行而產生的。切向畸變可以用兩個引數p1 和p2 來表示:

至此,得到了共五個引數:k1 k2 k3 p1 p2,這五個引數是消除畸變所必須的,稱為畸變向量,也叫相機外參。

五.相機標定

在上文,相機內參加上相機外參一共有至少8個引數,而要想消除相機的畸變,就要靠相機標定來求解這8個未知引數。

說完相機模型,又要說一下相機標定了,相機標定是為了求解上面這8個引數的,那求解出這8個引數可以幹什麼呢?可以進行軟體消除畸變,也就是在得知上面8個引數後,利用上面羅列的數學計算式,將每個偏移的畫素點歸位。

標定需要用到乙個叫標定板的東西,有很多種類,但常用的大概就是棋盤圖了, 棋盤要求精度需要很高,格仔是正方形,買一張標定板很貴的,在csdn上下棋盤圖也要畫好多c幣,所以大家可以用word畫一張,很簡單的,只要做乙個5列7行的**,拉大到全頁,再設定每個格仔的寬高來將它設為正方形再塗色就可以了。這張圖里有符號,但列印出來就沒有了,建議大家自己畫一張就ok了。

標定過程是就不在這裡說了,csdn上的教程一抓一大把,在完成標定後會返回相機的內參和外參。有了相機內參外參後,就可以進行相機消畸變了。

相機畸變以及相機標定

相機畸變的種類 徑向畸變 產生原因 由透鏡形狀引起的畸變稱為徑向畸變,徑向畸變主要分為桶形畸變和枕型畸變。在針孔模型中,一條直線投影到畫素平面上還是一條直線。但在實際中,相機的透鏡往往使得真實環境中的一條直線在中變成了曲線。越靠近影象的邊緣現象越明顯。由於透鏡往往是中心對稱的,這使得不規則畸變通常徑...

相機標定 三 畸變校正

根據針孔模型,物體和成像之間引數會滿足相似三角形的關係。但現實中會存在裝配誤差和透視失真等原因,導致這種關係無法成立,使理想成像與實際成像存在誤差,這種誤差即稱為畸變。畸變分為徑向畸變,切向畸變和薄稜鏡畸變。徑向畸變字面意思是影象座標產生徑向位置的誤差,是由鏡頭形狀缺陷造成的。徑向畸變效果可以分為枕...

0019 畸變矯正(單相機標定)

影象形狀發生了變形 本來是直線,變成了向內凹或者向外凸的弧線 1.使用標定板,在halcon中使用標定助手,得到相機的內外引數 可以將內外引數據生成到halcon中 2.標定後的初始內參形成無畸變的內參 3.標定後的初始內參與無畸變內參之間形成map對映關係 4.將map對映作用到影象上 形成無畸變...