gpt4 book ai didi

c - 使用opencv进行视频采集

转载 作者:太空宇宙 更新时间:2023-11-04 08:54:02 26 4
gpt4 key购买 nike

我正在使用 openCV 在 C 语言中为 Windows 编写一个应用程序。我想从网络摄像头捕获视频并将其显示在窗口中。该应用程序即将完成,但无法正常运行。我认为这是因为 cvQueryFrame() 总是返回 NULL,我不知道为什么。我尝试在进入 while 之前捕获一些帧,但没有解决问题。

编译器没有向我显示任何错误。这不是编译问题,而是执行问题。我是一步一步调试的,在行里

if(!originalImg) break;

它总是跳出 while。这就是应用程序不会继续执行的原因。它打开和关闭的速度非常快。这是代码:

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");

让我们看看是否有人有一些想法并且可以帮助我解决这个问题,谢谢!

最佳答案

假设编译没问题(包括所有相关的库),可能是相机没有正确安装。你能检查一下你是否能够使用网络摄像头吗(使用其他软件)

如果确实是编译问题,请引用以下相关问题: https://stackoverflow.com/a/5313594/1218748

快速总结:

Recompile opencv_highgui changing the "Preprocesser Definitions" in the C/C++ panel of the properties page to include: HAVE_VIDEOINPUT HAVE_DSHOW

还有其他好的答案提出了一些相关的优点,但我的直觉是上述解决方案可行:-)

关于c - 使用opencv进行视频采集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18252709/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com