2012-09-05 25 views
87

增強現實SDK我開發的OpenCV的增強現實SDK。我有一些問題找的話題,哪些步驟按照教程,可能算法,實時性能等快捷,高效的編碼與OpenCV的

到目前爲止,我已經收集到的下一個信息和有用的鏈接。

OpenCV的安裝

下載latest release version

您可以找到安裝指導here(平臺:Linux操作系統,在Mac,Windows,JAVA,Android裝置,iOS)。

在線documentation

增強現實

對於begginers here是OpenCV的一個簡單的增強現實代碼。這是一個好的開始。

對於任何人尋找一個設計良好的國家的最先進的SDK我發現基於標記跟蹤每一個增強現實應該有一些基本步驟,考慮OpenCV的功能。

  1. 主程序:從視頻創建所有類,初始化,capture幀。

  2. AR_Engine類:控制增強現實應用的部分。應該有2個主要國家:

    • 檢測:嘗試檢測場景
    • 跟蹤標記:一旦檢測,使用較低的計算技術,在即將到來的幀traking標記。

此外應該有用於尋找在每個幀的相機的位置和方向的一些算法。這是通過檢測場景中檢測到的標記與離線處理的標記的2D圖像之間的單應性轉換來實現的。這種方法的解釋here(第18頁)。對於姿態估計的主要步驟爲:

  1. 負載攝像機內參數。以前通過校準離線提取。 intrinsic parameters

  2. 裝入圖案(標記)來跟蹤:這是我們要跟蹤平面標記的圖像。有必要爲這個模式提取特徵並生成描述符(keypoints),以便我們稍後可以與場景中的特徵進行比較。這個任務的算法:

  3. 對於每一幀更新,從現場運行提取特徵檢測算法,並生成描述符。我們再次有幾個選擇。

    • SIFT
    • FAST
    • SURF
    • FREAK:supossed是最快的新方法(2012)。
    • ORB
  4. 查找匹配模式和場景描述符之間

  5. 查找那些比賽Homography矩陣。之前可以使用RANSAC在比賽組中找到內線/外線。

  6. 提取照相機姿勢來自單應性。

完整的例子:

+1

不幸的是,這是「不建設性」,你是否在尋找建議。 – bfavaretto

+3

關於安裝任務,現在OpenCV已經遷移到GIT,因此爲了下載源代碼,需要做一個「git clone git://code.opencv.org/opencv.git」。 –

+11

47由於愚蠢的規則,增選還沒有結束。 – SvaLopLop

回答

19

由於AR應用通常在移動設備上運行,你也可以考慮其他功能檢測儀/描述:

+3

謝謝!還有一個「快速」版本的FAST,在移動設備上實時運行,它是金字塔形的,SIFT描述符被縮小 –

+2

我使用ORB得到了近乎完美的結果 – dynamic

+0

其實,閱讀ORB它說它是金字塔中的FAST –

13

一般來說,如果你能選擇的標記您使用邊緣檢測器檢測第一方目標,然後或者霍夫或簡單輪廓 - 然後從內部設計識別特定的標誌物。而不是使用一般的點匹配器。

查看Aruco,瞭解詳細的示例代碼。

+4

是的,基準方法是最簡單的方法,但它並不是最新的。我認爲現在應該指出紋理標記。謝謝。這個例子非常有趣,因爲它很好地解釋了。 –

+1

如果您想知道姿勢,則需要將標記要素的3D位置與相應的圖像座標進行匹配。規則形狀的目標使這更容易,但它們不需要是平面的 –

+0

但是,如果它們不是平面的,則需要3d模型或CAD模型,否則從2d到3d的單應性不再是有效的方法,是它?我的意思是直線變換用於findhomography –