2

私はいくつかのコードを書きました。それは現在、いくつかの処理アルゴリズムの異なる段階を示すために2つのウィンドウで構成されています。簡単に言うと、で2つのウィンドウを作成しcv::namedWindow()、で表示しcv::Matていcv::imshow()ます。時々、ランダムに(常にではありませんが)cv::imshow()2つのウィンドウの更新を拒否するという問題があります。プログラムはハングしていません。プログラムはまだ機能していて、着信フレームを処理していることがわかります(これを表示するために端末に印刷しているため)。ウィンドウに新しいフレームが表示されていないだけです。cv::waitKey(2)への各呼び出しの後に含めましたがcv::imshow()、これは役に立ちません。

これは非常に迷惑で、オンラインで何も見つからないようです。これは常に発生するとは限りませんが、多くの場合発生します。数分かかることもあれば、数秒かかることもあります。

私はOpenCV2.3.1でUbuntu12.04(およびUbuntu 11.10-2つの異なるカメラを搭載した両方のマシンで発生します)を使用しています。

4

1 に答える 1

1

この問題を回避する方法の1つは、ウィンドウを呼び出した後にcv :: destroyWindow()を使用することです。これは、一連の画像を表示している場合はうまく機能しますが、ビデオを表示している場合はうまく機能しません。

于 2012-07-19T13:32:40.930 に答える