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