3

これに似た GUI (オーバーレイ ルートと FollowMe の概念)を持つ拡張現実アプリケーションを作成するタスクがあります。このタスクの興味深い部分は、Qt フレームワークの助けを借りて、デスクトップ OS (Debian/Ubuntu) 上でアプリケーションを実行する必要があることです。Python は、アプリケーションの優先言語です。

したがって、前述のモバイル アプリとの大きな違いは、私のアプリケーションは PC に接続された USB カメラを使用することです。

私はいくつかの異なるアプローチを試しましたが、どれも要件を満たしていないようです:

  • この例 は機能しません。
  • このソリューション は「2 レイヤー」アプローチを使用しますが、上部のウィジェットをレンダリングしようとすると、下部のウィジェットが完全に覆われます。
  • このソリューション は機能しますが、2 つの欠点がありOpenCVますGStreamer

Nokia の Qt cameralityソース コードもざっと調べましたが、この問題は Symbian では PC には適用できないまったく異なる方法で解決されているようです (組み込みカメラ API と PC の汎用 USB カメラ)。

私は、問題は次の 2 つの質問に分けられると考える傾向があります。

  • Qt PC アプリケーションでカメラ ビデオ ストリームをレンダリングする最良の方法は何ですか?
  • Qt PC アプリケーションで、アニメーション化された 3D 画像 (おそらく OpenGL で生成されたもの) をカメラ ビデオ ストリームにオーバーレイする最良の方法は何ですか?
4

1 に答える 1

0

デスクトップをターゲットにしている場合は、プロセス全体で openGL を使用します。
ビデオをストリーミングするテクスチャでバックグラウンドでクワッドを使用し (つまり、各ビデオ フレームを openGL テクスチャに描画します)、その上にすべての 3D モデルを openGL でレンダリングします。

一般的に、すべてのビデオ プレーヤー フレームワーク (フォノン、directshow など) は、最も単純な「ボックスでビデオを表示する」タスクのみを実行したい場合に限り、すべてうまく機能します。画像。

(もちろん、私は間違っているかもしれません。フォノンが数行のコードで openGL クワッドでビデオを表示できるようになれば、私はそれが大好きです!)

于 2012-11-14T18:25:09.530 に答える