1

我是opencv的新手。我想从网络摄像头(intex it-105wc)捕获图像。我在 Windows XP 上使用 Microsoft Visual C++ 2008 Express Edition。构建解决方案没有问题,但是当我尝试调试它给出的代码时(这发生在执行 cvCaptureFromCAM(CV_CAP_ANY);)

已加载C:\Program Files\Common Files\Ahead\DSFilter\NeVideo.ax,二进制文件未使用调试信息构建。

然后退出代码。

那么,我的代码有问题还是与网络摄像头的兼容性问题?

#include "stdafx.h"
#include<stdio.h>
#include <cv.h>
#include <highgui.h>

void main(int argc,char *argv[])
{
    int c;
    IplImage* color_img;
    CvCapture* cv_cap = cvCaptureFromCAM(CV_CAP_ANY);

    if(!cv_cap)
        {
            printf( "ERROR: Capture is null!\n");
        }

    cvNamedWindow("Video",0); // create window

    for(;;) 
            {
        color_img = cvQueryFrame(cv_cap); // get frame

        if(color_img != 0)
            cvShowImage("Video", color_img); // show frame

        c = cvWaitKey(10); // wait 10 ms or for key stroke

        if(c == 27)
            break; // if ESC, break and quit
    }

    /* clean up */
    cvReleaseCapture( &cv_cap );
    cvDestroyWindow("Video");
}
4

1 回答 1

0

此错误消息似乎与 nero 刻录工具中的视频编解码器有关。如果您不需要此编解码器,您可以取消注册并查看是否可以解决您的问题。

为此,请在命令行上执行以下命令:

regsvr32 /u "C:\Program Files\Common Files\Ahead\DSFilter\NeVideo.ax"

您应该看到以下消息:

DllUnregisterServer in C:\Program Files\Common Files\Ahead\DSFilter\NeVideo.ax succeeded.

要撤消此操作,请执行

regsvr32 "C:\Program Files\Common Files\Ahead\DSFilter\NeVideo.ax"
于 2013-01-11T16:08:15.557 回答