1. ホーム
  2. opencv

[解決済み] OpenCVで作る拡張現実SDK【終了しました

2023-02-11 01:31:27

質問

私は、OpenCV上で拡張現実SDKを開発しています。このトピックに関するチュートリアル、どのステップに従うべきか、可能なアルゴリズム、リアルタイム性能のための高速で効率的なコーディングなどを見つけるのに、いくつかの問題がありました。

今のところ、私は次の情報と有用なリンクを集めました。

OpenCVのインストール

ダウンロード 最新リリース版 .

インストールガイドを見ることができます はこちら (プラットフォーム: linux, mac, windows, java, android, iOS).

オンライン ドキュメンテーション .

拡張現実

初心者の方へ こちら は、OpenCVによるシンプルな拡張現実感のコードです。これは良いスタートです。

よく設計された最先端のSDKを探している人のために、OpenCVの機能を考慮し、マーカートラッキングに基づくすべての拡張現実が持つべき一般的なステップを見つけました。

  1. メインプログラム:すべてのクラスを作成し、初期化します。 キャプチャ フレームをキャプチャします。

  2. AR_Engineクラス。拡張現実アプリケーションのパーツを制御します。主に2つの状態があるはずです。

    • 検出 : シーン内のマーカーを検出しようとします。
    • 追跡 マーカーが検出されると、次のフレームでマーカーを追跡するために、より低い計算機技術を使用します。

また、すべてのフレームでカメラの位置と向きを見つけるためのいくつかのアルゴリズムがあるはずです。これは、シーンで検出されたマーカーと、オフラインで処理したマーカーの2D画像との間のホモグラフィー変換を検出することによって実現されます。この手法の説明 はこちら (をご覧ください(18ページ)。Pose Estimationsの主な手順は以下の通りです。

  1. カメラ固有のパラメータを読み込む . キャリブレーションによりオフラインで抽出された以前のもの。

  2. パターンを読み込む (マーカー)を追跡します。追跡する平面マーカの画像です。特徴量を抽出し、記述子を生成する必要がある( キーポイント ) を生成し,後でシーンの特徴と比較できるようにする必要があります.このタスクのためのアルゴリズム。

  3. フレーム更新ごとに、以下の検出アルゴリズムを実行します。 シーンから特徴を抽出する を実行し、記述子を生成します。ここでもいくつかのオプションがあります。

  4. 探す に一致する というパターンとシーンディスクリプタの間にある

  5. 検索 ホモグラフィー 行列を生成します.RANSACは,マッチの集合の中のインライア/アウトライア(異常値)を見つけるために,以前から使うことができます.

  6. 抽出 カメラポーズ をホモグラフィから抽出する。

完全な例です。

どのように解決するのですか?

ARアプリケーションはモバイル端末で動作することが多いので、他の機能検出器・記述子も検討するとよいでしょう。