0

2 つのスレッド (間もなく 3 つになる予定) を持つプログラムを作成しました。このプログラムは、両方のスレッドから同時に Web カメラから画像を取得しようとしています。これを行う方法はありますか、またはこれを行うためのより良い方法はありますか? (openCV 1.1 を使用)

4

2 に答える 2

1

スレッドの 1 つ (プライマリ スレッドと呼びましょう) がカメラと通信し、画像を取得してすべてを設定することをお勧めします。設定されてメモリ内の場所に配置されると、その場所がどこにあるかを 2 番目のスレッドに通知でき (これを行うにはミューテックスを使用します)、両方のスレッドが停止して処理を実行できます。両方のスレッドがそのイメージを処理したら (ここでもミューテックスを使用します)、プライマリ スレッドに別のイメージを取得させ、プロセスを最初からやり直すことができます。

カメラが大量の画像を生成していて、両方のスレッドが終了する前に作業を開始したい場合は、3 つのスレッドに移動することをお勧めします。 2種類の加工。複数のバッファが必要になるため、これはさらに複雑になります。また、おそらく複数のミューテックスと、おそらくいくつかのキューも必要になるでしょうが、それはすべて実行可能です:-)

于 2009-10-26T20:57:34.697 に答える