2

次のコードを使用して、ビデオ キャプチャ カードに接続されたカメラからビデオをキャプチャしています。

int main() {
    cv::VideoCapture cap(2);    
    if(!cap.isOpened())  
    {
       std::cerr << "ERROR: Could not open camera." << std::endl;
       return -1;
    }
    cv::Mat frame;
    while(1){
       cap >> frame;
       cv::imshow("frame",frame);
       cvWaitKey(10);
    }
}

USB ウェブカメラを使用する場合、問題はなく、コードは完全に機能します。ただし、ビデオ キャプチャ カードを使用すると、ビデオ ストリームが表示されません。こちらもエラーなし!ループ内にブレーク ポイントを配置すると、数回の反復後にビデオが表示されます。最初は、この問題は遅延に関連していると考え、待ち時間を増やしましたcvWaitKey(30)が、それも役に立ちませんでした。それが機能する唯一の方法は、ブレークポイントを使用することです! ブレークポイントの何が特別なのかわからない!

助けてください!このビデオ キャプチャ カードを使用する必要があり、このコードから実行可能ファイルを作成したいのですが、ブレーク ポイントがないと機能しません!!! どんなコメントでも大歓迎です。

注: Windows を使用しています。

4

0 に答える 0