【发布时间】:2013-08-16 00:52:31
【问题描述】:
我正在使用 openCV 为 Windows 编写一个 C 应用程序。我想从网络摄像头捕获视频并将其显示在窗口中。 该应用程序即将完成,但无法正常工作。我认为这是因为 cvQueryFrame() 总是返回 NULL 而我不知道为什么。我尝试在进入 while 之前捕获一些帧,但没有解决问题。
编译器没有显示任何错误。这不是编译问题,而是执行问题。我一步步调试,在行中
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");
}
让我们看看是否有人有一些想法并可以帮助我解决这个问题,谢谢!
【问题讨论】:
-
capture是如何定义的?