2017-04-05 77 views
0

我使用OpenCV從一個平面計算單應投影,讓我們說平面1到另一個平面,稱爲CenitalView。計算平行平面單應

單應矩陣(H1)通過在Plane1和CenitalView中選擇一些點來計算。

僅僅通過獲得這個信息,就有可能獲得第二個單應矩陣(H2),它將平行平面與Plane1和相同的CenitalView相關聯?

恢復:

平面1 - > H1 - > CenitalView
平面2(//基準面1) - > H2? - > CenitalView

回答

0

您需要知道Plane2中的原點(0,0)和x軸和y軸。不然你不能。

假設你身邊平面2的正常verctor旋轉平面2,你會得到Plane3,Plane4,....

所有這些飛機都基準面1的平行平面。很顯然,他們對Cenital View有不同的單應矩陣。

+0

Plane1和Plane2只會在z軸上有所不同。飛機之間只有距離d。這就是爲什麼我問這兩個矩陣之間是否有任何關係,因爲它們都與平行平面有關的CenitalView平面 – Alex

+0

已知距離d?相機內在知識是否已知? – Micka

+0

d和相機本身都是已知的。 – Alex

1

如果知道plane1和plane2之間的單應性關係,這是可能的。

平面1 - > H1 - > CenitalView

若平面1 - > HP - >平面2然後 平面2 - > HP^-1 * H1 - > CenitalView

所以只知道飛機1和平面2並行是不夠的,afaik。

+0

謝謝!這可能是一種方法。 – Alex

+0

嗨Micka,如果我知道它們是平行的,它們之間的真實世界距離以及相機的校準參數,請給我任何關於如何計算平面1和平面2之間的單應性的線索?謝謝。 – Jackypengyu

+0

@Jackypengyu您可以根據已知參數創建3D平面。然後通過任何像素從您的相機中心拍攝照片。這條射線將在一些座標中撞擊plane1和plane2。做到這一點爲4點,你應該能夠計算這些飛機之間的單應性。 – Micka