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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

逆透视变换详解 及 代码实现(一)

發(fā)布時(shí)間:2025/3/11 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 逆透视变换详解 及 代码实现(一) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

逆透視變換詳解 及 代碼實(shí)現(xiàn)(一) 中主要是原理的說明:


一、世界坐標(biāo)軸和攝像機(jī)坐標(biāo)軸

從下圖中可以看到,世界坐標(biāo)為(X,Y,Z) ?相機(jī)坐標(biāo)為(Xc,Yc,Zc)

而世界坐標(biāo)變換到相機(jī)坐標(biāo)存在一個(gè)旋轉(zhuǎn)矩陣變換R以及一個(gè)位移變換T。



根據(jù)上圖可以得到世界坐標(biāo)到相機(jī)坐標(biāo)的公式變換!!

? ? ? ? ? ? ??? ? ??? ?世界坐標(biāo)到相機(jī)坐標(biāo)的公式


如果假設(shè)沒有坐標(biāo)的平移存在即t在這里不起作用,可以簡化公式為:



接下來我們來說下不同坐標(biāo)軸變換的旋轉(zhuǎn)矩陣

從二維圖像入手,坐標(biāo)變換如下圖所示

如果假設(shè)不存在位移變換,那么x0 和y0 將變?yōu)?。


現(xiàn)在從二維圖像變到三維圖像上的變換,假設(shè)固定一個(gè)(X,Y,Z)軸 旋轉(zhuǎn)其他兩個(gè)軸組成的平面。

1、繞X軸旋轉(zhuǎn) theta?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

2、繞Y軸旋轉(zhuǎn)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

3、繞Z軸旋轉(zhuǎn)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

-------------------------------------------------------------------------------------------------------------------

-------------------------------------------------------------------------------------------------------------------

下面為相機(jī)坐標(biāo)和平面坐標(biāo)系(成像投影關(guān)系)


根據(jù)上述的關(guān)系我們可以推得:

? ? ??

? ? 矩陣形式為: ?

??


---------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------

3、從平面坐標(biāo)得到的我們看到的(照片)圖像坐標(biāo)系

數(shù)字圖像在計(jì)算機(jī)內(nèi)為MXN數(shù)組,M行N列的圖像中每一個(gè)元素(pixel)數(shù)值就是圖像點(diǎn)的亮度(灰度)。

如圖,在圖像上定義直角坐標(biāo)系U,V,每一個(gè)像素為單位的圖像坐標(biāo)系坐標(biāo),

由于(u,v)只能表示像素位于數(shù)組中的列數(shù)與行數(shù),并沒有使用物理單位表示該像素在圖像中位置,

所以需要再建立以物理單位(mm)表示的圖像坐標(biāo)系,該圖像坐標(biāo)系以圖像內(nèi)某一點(diǎn)uv(0,0)為原點(diǎn),x軸和y軸分別平行于u、v。



如圖中,(u、v)表示以像素為單位的圖像坐標(biāo)系的坐標(biāo),(X、Y)表示以mm為單位的圖像坐標(biāo)系的坐標(biāo)。

假設(shè)每一個(gè)像素在X軸與Y軸方向上的物理尺寸為dx、dy,則圖像任意一個(gè)像素在兩個(gè)坐標(biāo)系下的坐標(biāo)有如下關(guān)系,

?其中(u0 ,v0) = xy(0,0)

進(jìn)而得到如下的矩陣表達(dá):


---------------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------------

到此 逆透視變換就全部完成了!!!!


下面要說下 逆透視變換需要注意的問題, ? 因?yàn)橛邢c(diǎn)的存在,也就是說當(dāng)我們看火車軌道的時(shí)候總在某個(gè)距離上看到兩條軌道重合到一起后消失。

對(duì)于空間中任一點(diǎn)(XW,YW,ZWT,投影之后的對(duì)應(yīng)像點(diǎn)為(u,v,1)T,寫成矩陣形式:


其中AR為變換矩陣,假設(shè)M = AR


將矩陣展開,這里去Zc = 1 可以得到如下關(guān)系式。



消失點(diǎn)可以認(rèn)為是空間直線上無窮遠(yuǎn)處的點(diǎn)投影在圖像上所成的像點(diǎn)。對(duì)于空間中某一直線L,方向?yàn)?#xff08;dx,dy,dz),給定直線上坐標(biāo)(ax,ay,az),所以直線上任一點(diǎn)A可以表示為:



?

當(dāng)趨于無窮時(shí)可以得到



從而得到消失點(diǎn)的坐標(biāo)。


注:逆透視變換的范圍不能到達(dá)消失點(diǎn),否則不能還原。


整體變換的示意圖:


逆透視變換詳解 及 代碼實(shí)現(xiàn)(二)

根據(jù)上述原理,結(jié)合應(yīng)用場景,列出代碼的實(shí)現(xiàn)!!



</div><link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-258a4616f7.css" rel="stylesheet"></div>

總結(jié)

以上是生活随笔為你收集整理的逆透视变换详解 及 代码实现(一)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。