2011-02-14 50 views
2


我有一個圖像,用戶選擇一個任意的四角多邊形。
我想拉伸這個多邊形到整個圖像。
我試過用單應性和cvWarpPerspective做,
但結果是透視轉換,這不是我想要的。
任何想法如何與OpenCV/EMGU做到這一點?

感謝,
SW如何在OpenCV中進行非視角圖像變形?

+0

什麼樣的變換你要?而仿射投影只能擬合3個點(平行四邊形)。 – Niki 2011-02-14 22:55:27

回答

0

什麼你想應該工作。通過使多邊形的四個角對應於(0,0)(0,高度)(寬度,0)和(寬度,高度)來計算單應性。

看一看GetPerspectiveTransform

0

我想你想要的是視角的變換逆轉。

以下是您必須考慮的事情。假設您在屏幕上最初出現的位置(x1,y1)....(x4,y4)上有多邊形(0,0)....(w,h)。 使用cvWarpPerspective/getPerspectiveTransform應用透視變換,您將能夠獲得原始座標到已知的座標。所以你應該基本上乘以已知座標與透視變換矩陣的倒數(除非它是不可逆的,在這種情況下,你必須在均勻協調項上增加一個三角項)