2008-09-23 59 views
4

我正在研究檢測圖像中最突出矩形的應用程序,然後設法旋轉它,以便矩形的左下角位於原點處,類似於IUPR的OSCAR系統的工作方式。但是,一旦檢測到最突出的矩形,我不確定如何考慮深度分量或z軸,因爲矩形不總是「正面」。任何例子,以進一步我的理解將不勝感激。以下是IUPR OSCAR系統的一個例子。快速平面旋轉算法?

alt text http://quito.informatik.uni-kl.de/oscar/oscar.php?serverimage=img_0324.jpg&montage=use

回答

3

你實際上並不需要處理在這種情況下,3D信息,它只是一個mappping功能,從一組座標到另一個。

看看仿射變換,它們能夠校正簡單的偏斜和透視效果。您應該能夠在某處找到代碼,以便計算矩形拐角處4個點的變換。

幾乎忘了 - 如果「快速」真的很重要,可以簡化系統以僅使用簡單的剪切變換組合,儘管這會對高度傾斜的主體的圖像質量產生不良影響。

2

其實,我認爲你可以用比Mark's approach簡單得多的東西逃脫。

  1. 一旦在傾斜圖像上有二維座標,重新將這些座標作爲紋理座標。

  2. 在渲染器中,繪製一個簡單的矩形,其中每個角的頂點都映射到在傾斜的2D圖像上找到的頂點(標準化或以其他方式轉換到渲染系統的紋理座標平面)。

現在你可以依靠硬件(使用OpenGL或類似)爲你做的修正,或者你可以寫你自己的紋理映射:

長寬比將需要在因爲我們猜測正在處理實際的3D信息。但是,只需採用傾斜矩形的最大寬度和最大高度即可擺脫困境。

Perspective Texture Mapping by Chris Hecker