日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

鱼眼图像校正(球面等距投影模型)

發布時間:2023/12/14 编程问答 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 鱼眼图像校正(球面等距投影模型) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

為了真正的理清魚眼圖像校正的原理,查閱了很多的資料,本文主要從以下幾個方面詳細闡述基于球面透視投影等距模型的魚眼圖像校正算法。
1,魚眼相機的構造原理。
2,透視投影。
3,等距投影算法

魚眼相機的構造

成像模型的不同,魚眼相機的成像原理不同于一般的小孔成像模型。對于一般的小孔成像模型其成像的示意圖如下所示:


我們先展示了小孔成像的相關知識,不同于小孔成像 魚眼圖像由于為了獲得更加寬廣的視角,因此允許了圖像畸變的存在。其成像也就不同于小孔成像的線性模型。對于魚眼相機,我們一般將其成像模型用球面,拋物面模型來代替。下面先來看看魚眼相機的成像光路圖:

從圖中可以看出,魚眼相機的成像路徑是完全不同于一般的小孔成像的相機。一般的魚眼相機由以下幾個部分組成:

為了更好的描述,魚眼相機的成像原理,以及其成像過程,通常根據應用場景的不同將魚眼相機等效為以下的幾種模型:

圖中的等距投影模型就是本文算法所采用的模型,對于實際的理解,我們可以認為相機的成像模型實際上表征的是成像的像高與入射角之間的關系。以等距投影模型為例來說明,公式中r表示的是傳感器上成像的像高。f表示的是相機的焦距。theta表示的是入射角的大小。成像模型實際上是為了用來描述入射角與成像像高之間的映射關系,等距投影是以線性關系來定義,等立體角投影模型是用正弦函數來定義,立體視覺投影是以正切函數來定義的。那么如何來理解所謂的等距投影呢?先來看看等距投影的示意圖:

從圖中可以看出以相同增量的入射角theta來進行投影,等距投影模型將這些相同增量位置的像素投影到成像面上的時候所得到的像高是相等的。其實這個關系從等距投影的r的表達式上也可以看出來。
明白了等距投影的概念時候,下一個需要理解的概念就是圖像畸變。圖像的畸變分為徑向畸變和切向畸變。所謂的徑向畸變意思就是沿著成像半徑方向的圖像位置的偏移,切向畸變表示的是沿著成像點切線方向圖像像素點位置的偏移。可以借助于下面這張圖來理解下圖像畸變的概念。

根據成像形狀的不同可以將魚眼相機分為普通魚眼相機和對角型。不同的相機模型所采用的原理是不同的,這對我們選擇圖像的校正方案是很重要的。

透視投影

關于透視投影的相關知識可以參考下面這篇博客,作者詳細的講解了透視投影的相關知識。
http://www.cnblogs.com/graphics/archive/2012/07/25/2582119.html

等距投影算法


(考慮到我們項目的魚眼相機實際上是屬于壁掛式的安裝方式,采用球面模型等距投影算法相比于經緯度法會更好一點。)

算法說明:
如圖中所示將魚眼成像模型等效為一個半球面,
P(x,y,z):為現實空間(CCS)中的一點;
P1(x1,y1,z1):為P點與虛擬成像光心連線交成像半球面的一點。
P2(u,v):過點P1作XOY平面垂線,交XOY平面一點P2。(注意在實際的成像過程中XOY平面并非實際的成像面,這里畫出來只是為了方便理解。真實的成像面實際上是上圖中最下方的xoy平面。)
r:不同角度的景物通過魚眼相機的投影在傳感器上的像高。r的不同表達式代表著不同的成像模型,本次算法由于采用等距投影模型故r的表達式為r = f*arg(入射);

公式的推導:
魚眼圖像的等距投影模型:r = f* ,其中f表示的是攝像機的焦距。 表示的是光線的入射角。
設魚眼圖像上的像素的坐標為(x,y)。目標圖像的平面即為上圖中P(X,Y,Z)所在的平面。一般我們取Z=R,其中R為魚眼圖像的半徑。由上圖的示意圖可得到:

平面的投影。同時也是實際成像面中像高r與實際圖像坐標x軸之間的夾角。具體理解可參考上圖。當得到了theta ,alpha , 這兩個值之后,實際上也就得到了球面上一點P1(x1,y1,z1)的極坐標的表達式。2維的平面坐標實際上是通過極坐標這個橋梁映射到三維坐標系中的。此時P1可用極坐標表示出來。P1( theta,alpha ).
由空間一點的極坐標轉化為空間點的三維坐標:
P1點的三維坐標為:

在得到空間的點的三維坐標之后,下一步就是要將這個空間點進行球面透視變換。將虛擬球面上的點P1,映射到目標圖像平面。根據相似三角形的關系,考慮圖中三角形OPP3,OP3P3’,與 可知:

實際上我們校正后的目標圖像的平面就是Z = R平面。因此假設校正后的目標圖像的坐標為(u,v)。可以得到魚眼圖像的源圖像(x,y)和目標圖像之間的映射關系。

根據變換之后的魚眼圖像的效果,調整魚眼圖像半徑以達到最好效果。同時編程時建議采用矩陣運算的形式進行,減少循環迭代次數,提高算法運行效率。
當然,對于最后的推到公式實際上有許多的方法,除了使用空間三角形的相似定理之外。還可以使用兩個具有相同夾角的三角形,其相同角的三角函數值相同。再結合球面模型的空間表達式x2+y2+z2=R2,以及拋物面的空間表達式來求解目標圖像與源圖像之間的像素映射關系。

總結

以上是生活随笔為你收集整理的鱼眼图像校正(球面等距投影模型)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。