ライブ進行中のビデオから特定のオブジェクトを検出したいので、フレーム抽出部分(opencv、c++)を一部として実装し、別の検出機能(emgucv、c#)を別の部分として実装します。これらの部分を統合するために、c++ プロジェクトの exe ファイルを c# プロジェクトに追加しましたが、うまく機能しています。しかし今、このプロジェクトをオフラインでテストしたいと思っています。つまり、ハードディスクに保存されたビデオを使用して、このプロジェクトをテストしたいということです。統合前は、c++ プロジェクトはオンラインとオフラインの両方の状況で実行できました。しかし、統合後はオンライン状態でしか実行できませんでした。これを解決するのを手伝ってください。
1813 次
2 に答える
3
Magic Camera や Fake Webcam などのウェブカメラ エミュレーターをいつでも試すことができます (Google で検索してみてください。インターネットにはたくさんのソフトウェアがあります)。
ただし、ストリームとファイル入力の両方を受け入れることができるように、ソフトウェア設計を再編成することを検討することもできます。処理ロジックをキャプチャ ロジックから分離すると、非常に簡単になります。
于 2012-11-09T17:31:47.627 に答える
0
ライブ ビデオ カメラは、基本的に画像フレームの非同期ソースです。おそらく、コールバック関数をカメラ API に渡し、そのコールバックは新しいフレームが利用可能になったときにトリガーされますか? この機能は、かなり単純な方法で模倣できます。
動画ファイルを開いてループで実行する関数を作成します...ループの各反復で、ファイルからフレームを取得し、適切にパッケージ化してから、コールバック関数を呼び出します。その後、数ミリ秒間スリープ状態になり、ループを繰り返します。この関数を独自のスレッドで実行します。コールバックの観点からは、ライブ カメラと同じです。
于 2012-11-09T17:35:21.507 に答える