透視投影屬于中心投影。透視投影圖簡稱為透視圖或透視,它是從某個(gè)投射中心將物體投射到單一投影面上所得到的圖形。透視圖與人們觀看物體時(shí)所產(chǎn)生的視覺效果非常接近,所以它能更加生動形象地表現(xiàn)建筑外貌及內(nèi)部裝飾。在已有實(shí)景實(shí)物的情況下,通過拍照或攝像即能得到透視圖;對于尚在設(shè)計(jì)、規(guī)劃中的建筑物則作圖(手工或計(jì)算機(jī))的方法才能畫出透視圖。透視圖以渲染、配景,使之成為形象逼真的效果圖。由于是中心投影,因此平行投影中的一些重要性質(zhì)(如平行性、定比性等)和作圖規(guī)律,在這里已不適用。
透視投影是用中心投影法將形體投射到投影面上,從而獲得的一種較為接近視覺效果的單面投影圖。它具有消失感、距離感、相同大小的形體呈現(xiàn)出有規(guī)律的變化等一系列的透視特性,能逼真地反映形體的空間形象。
透視投影符合人們心理習(xí)慣,即離視點(diǎn)近的物體大,離視點(diǎn)遠(yuǎn)的物體小,遠(yuǎn)到極點(diǎn)即為消失,成為滅點(diǎn)。它的視景體類似于一個(gè)頂部和底部都被切除掉的棱椎,也就是棱臺。這個(gè)投影通常用于動畫、視覺仿真以及其它許多具有真實(shí)性反映的方面。
投影線垂直于投影面的投影屬于正交投影 ,也稱為平行投影。
我們將一個(gè)3維坐標(biāo)表示為列向量,那么一個(gè) 3*3 的矩陣乘以這個(gè)列向量就可以得到一個(gè)新的列向量。如下,三維笛卡爾坐標(biāo)與矩陣的乘法只能實(shí)現(xiàn)三維坐標(biāo)的縮放和旋轉(zhuǎn),而無法實(shí)現(xiàn)坐標(biāo)平移。
也稱為相機(jī)反切(camera resectioning),主要用于估計(jì)圖像或者視頻攝像機(jī)的透鏡和圖像傳感器的相關(guān)參數(shù)。使用這些參數(shù)可以糾正透鏡畸變,度量真實(shí)世界中物體的大小,或者相機(jī)在一個(gè)場景中的定位。因而可以被用于機(jī)器視覺,去檢測或者度量事物,也可用于機(jī)器人中,幫助導(dǎo)航系統(tǒng)和3D重建。
相機(jī)矩陣分解為兩個(gè)矩陣的乘積:內(nèi)參矩陣 K 和外參矩陣 [R|?RC]
內(nèi)參矩陣是將3D相機(jī)坐標(biāo)變換到2D齊次圖像坐標(biāo)。透視投影的一個(gè)理想模型就是針孔相機(jī),有縮放的效果成像為倒影。市面上的相機(jī)都是透視投影。
內(nèi)參矩陣如下:
內(nèi)參矩陣的每一個(gè)參數(shù)都有意義:
其它的參數(shù) fy,x0,y0 也可以被轉(zhuǎn)換為對應(yīng)的世界單元 Fx,X0,Y0:
第二個(gè)等式右邊三個(gè)矩陣依次是:2D平移、2D縮放、2D切變。
另一種等價(jià)的分解是將切變放在縮放前面:
有一點(diǎn)需要注意: 內(nèi)參不影響可見性 —— 阻隔對象(occluded objects)在圖像空間中無法通過簡單的2D變換顯示出來。這里的 occluded objects 就是那些你希望看到,但是由于某些原因看不到的對象,比如目標(biāo)跟蹤的時(shí)候,一個(gè)目標(biāo)被另一個(gè)目標(biāo)遮擋了。
相機(jī)的外參矩陣描述的是世界坐標(biāo)中相機(jī)的位置,及其指向方向。有兩個(gè)成分:旋轉(zhuǎn)矩陣 R 和平移向量 t 。它們并非恰好對應(yīng)相機(jī)的旋轉(zhuǎn)和平移。
外參矩陣以剛體變換矩陣的形式可以記為:左邊一個(gè) 3?3 旋轉(zhuǎn)矩陣,右邊一個(gè) 3?1 的平移列向量;
常見的做法是在底部增加一行 (0,0,0,1) ,這使得矩陣為方形的,允許我們進(jìn)一步將矩陣分解為旋轉(zhuǎn)和平移矩陣;
這個(gè)矩陣描述的就是如何將世界坐標(biāo)系中的點(diǎn)變換到相機(jī)坐標(biāo)系中,向量 t 描述的是世界坐標(biāo)系原點(diǎn)在相機(jī)坐標(biāo)系中的位置, R 的列代表的是相機(jī)坐標(biāo)系中世界坐標(biāo)系軸的方向。
從上可以發(fā)現(xiàn),外參主要作用就是描述世界坐標(biāo)系到相機(jī)坐標(biāo)系的轉(zhuǎn)換。與我們經(jīng)常想的相機(jī)坐標(biāo)系到世界坐標(biāo)系的轉(zhuǎn)換剛好相反。
實(shí)際中,直接指定相機(jī)的姿態(tài)比指定世界坐標(biāo)系中的點(diǎn)如何轉(zhuǎn)換到相機(jī)坐標(biāo)系中更加自然,通過建立一個(gè)剛體變換矩陣描述相機(jī)姿態(tài),然后對其取逆即可建立相機(jī)的外參矩陣。
因而可以這樣做:定義一個(gè)描述相機(jī)中心在世界坐標(biāo)系中的位置的向量 C ,然后讓 Rc 代表相機(jī)在世界坐標(biāo)系旋轉(zhuǎn)到當(dāng)前姿態(tài)需要的旋轉(zhuǎn)矩陣。那么描述相機(jī)姿態(tài)的變換矩陣就是 (Rc|C) 。同樣在底部添加一個(gè)行向量 (0,0,0,1) ,那么外參矩陣就是相機(jī)姿態(tài)矩陣的逆。
倒數(shù)第三個(gè)等式變換到倒數(shù)第二個(gè)等式,使用的轉(zhuǎn)置是因?yàn)?Rc 是正交陣,此外,平移矩陣的逆就是他的負(fù)數(shù)平移向量,進(jìn)而可以得到外參矩陣參數(shù)和相機(jī)姿態(tài)是直接相關(guān)。