我正在使用 openCV 在 C 中为 Windows 编写一个应用程序。我想从网络摄像头捕获视频并将其显示在窗口中。该应用程序即将完成,但无法正常工作。我认为这是因为 cvQueryFrame() 总是返回 NULL 而我不知道为什么。我尝试在进入一段时间之前捕获一些帧,但没有解决问题。
编译器没有显示任何错误。这不是编译问题,而是执行问题。我一步一步调试它并在行中
if(!originalImg) break;
它总是跳出来。这就是应用程序不会继续执行的原因。它打开和关闭非常快。这是代码:
void main()
{
cvNamedWindow("Original Image", CV_WINDOW_AUTOSIZE);
while (1)
{
originalImg = cvQueryFrame(capture);
if(!originalImg) break;
cvShowImage("Original Image", originalImg);
c = cvWaitKey(10);
if( c == 27 ) break;
}
cvReleaseCapture(&capture);
cvDestroyWindow("Original Image");
}
让我们看看是否有人有一些想法并可以帮助我解决这个问题,谢谢!