4

ハイ ダイナミック レンジ ビデオをリアルタイムで生成するプロジェクトに取り組んでいます。目標は、3 つの既製の Web カメラ (Microsoft LiveCam Studio) を使用して実行することです。私は OpenCV を使おうと始めましたが、カメラを開くのに苦労しました。だから私はまっすぐにジャンプしましたvideoInput。任意の 2 台のカメラを相互に連携させることができます。また、任意の 2 つの Web カメラをラップトップの内蔵 Web カメラと連携させることができます。しかし、3 つの Web カメラをすべて一緒に実行しようとすると、

エラー: グラフを開始できませんでした'

調査videoInput.cppに数時間を費やした後、同じタイプの 2 台のカメラで問題が発生しない理由がわかりませんが、3 台目を追加すると失敗します。

この予想外の壁にたどり着いたとき、私は自分のプロジェクトがほぼ完成したと思っていました。

これについて何か考えはありますか?

ウィンドウズ7(64)

ビジュアル スタジオ 2011

同期された方法で 3 つのカメラすべてからフレームを取得する必要があります。これを実現する方法についての提案をお待ちしています。DirectShow や MediaFoundation を回避できる他のフレームワークはありますか? 複数のカメラを開き、ストリームからフレームを引き出すことができるコードを持っている人はいますか?

4

2 に答える 2

3

カメラは、(少なくとも Windows では) directshow を介してのみ接続する可能性があります。カメラと直接通信するために Microsoft が提供する低レベル API については知りません。

通常のウェブカメラ ビューアーを使用して 3 台のカメラを同時に実行できますか?

DirectShow または USB の帯域幅の制限である可能性があります - それらを別のポートに接続してみてください。

それでも、directshow を使用してカメラを正確に同期することはできません。タイミングは最大でフレーム間隔 (1/10 秒?) になります。

于 2011-05-04T20:15:02.667 に答える
1

典型的な問題は、USB 帯域幅が 2 台のカメラを同時に実行するには不十分であることです。両方のカメラは独立して動作しますが、両方を試してみると失敗します。頻度の低いもう 1 つの理由は、カメラ ドライバーです。おそらく、低解像度モードで試してみることができます。この試みが成功した場合、帯域幅が不十分なバージョンである可能性が最も高いです。

場合によっては、カメラを別の USB ホスト/コントローラー (同じホストのポートではなく!) に接続することで問題を回避できます。API 自体は、一度に 1 つのカメラしか使用できないという制限はありません。

于 2012-04-17T13:14:55.957 に答える