我學習攝像頭矩陣的東西。我已經知道,通過在物體空間的一個平面上使用四個點,我可以獲得相機的單應性(3 * 3矩陣)。我想知道我們是否可以在不是飛機的情況下得到四點的homagraphy?如果是的話,我怎麼能得到矩陣?我應該看什麼公式?相機單應
我也糊塗了單應與另一個概念:我只需要知道三個點,如果我想從一個座標到另一個座標系統從轉換點。那麼爲什麼我們需要四點計算單應性?
我學習攝像頭矩陣的東西。我已經知道,通過在物體空間的一個平面上使用四個點,我可以獲得相機的單應性(3 * 3矩陣)。我想知道我們是否可以在不是飛機的情況下得到四點的homagraphy?如果是的話,我怎麼能得到矩陣?我應該看什麼公式?相機單應
我也糊塗了單應與另一個概念:我只需要知道三個點,如果我想從一個座標到另一個座標系統從轉換點。那麼爲什麼我們需要四點計算單應性?
單應的地圖在另一個平面上的點 1.在平面個3D點的 2.投影(沒有強制性躺在在同一平面上)一個純照相機旋轉或縮放期間。
後者可以,如果你看,雖然傳感器平面中旋轉連接點的光線很容易地驗證:綠色兩個傳感器位置和黑是一個三維物體
由於單應是凸起之間,而不是在對象之間的3D你不關心這些預測代表什麼。但是這可能會讓人困惑,我同意。例如,您可以將相機指向3D場景(不平坦!),然後旋轉相機,場景中的兩張結果圖片將通過單應相關聯。順便說一下,這是圖像全景的基礎。
您提到的三點對應關係可能會與稱爲仿射(在透視效果消失時的大變焦期間發生)或在3D空間中發現剛性旋轉和平移相關。兩者都需要3點對應,但前者只需要2D點,而後者需要3D點。後者具有6DOF(旋轉3和翻譯3),而每個對應提供2DOF,因此6/2 = 3對應。 Homography有8個自由度,所以應該有8/2 = 4的對應關係;
下面是一個小圖,解釋仿射和同形異義變換之間的差異,當原方前傾。在仿射情況下,透視效果可以忽略不計,即遠側與近側長度相同。在Homography的情況下,遠側較短。
Homography是兩個平面之間的關係,單應變換情況下的自由度是7;因此您至少需要4個對應點。
4點會給你4對(X,Y)的,因此可以計算出7個變量。因此,同形反射是homogines transfrom,因此單應矩陣中的(3,3)值始終爲1.
因此,您的第一個問題是,您可以計算平面中3個點的單應性,而不是平面上的3個點:這是不可能的。你需要在飛機上投影那個點,然後你可以計算單應性。
關於如何計算單應性矩陣的第二個問題,您可以在opencv中看到findHomography()的實現。
第4點解決了在查看圖像平面上點的投影時的透視模糊性。單應性將一架飛機映射到另一架飛機,如果你的點不在飛機上,你不想使用單應性。 – Hammer