0

この単純な OpenCV コードでメモリ リークが見つかりました。

VideoCapture* capture = new VideoCapture(0);
Mat frame;
while (true) {
    capture->set( CV_CAP_PROP_FRAME_WIDTH, 1600 );
    capture->set(CV_CAP_PROP_FRAME_HEIGHT, 1200 );
    capture->read(frame);
}

これがコード全体です。while ループのたびに、数 MB がリークされます。読み取り直後に frame.release() を試しましたが、役に立ちません。set-size 行を削除すると問題は解決しますが、実際のコードではサイズを変更したいので、それは解決策ではありません。正しいサイズで画像を取得しています。

私は愚かなことをしていますか?

ちなみに、Logitech B910 ウェブカメラを使用しています。

ありがとう!

4

1 に答える 1

1

フレームごとに読み出しサイズを変更する必要がありますか?

一度設定すると、カメラはリセットするまで同じサイズを生成します

于 2013-10-21T18:08:15.240 に答える