0

我写了一些程序。但是他们没有工作..现在,我有一个基本程序。编译没问题。

1>------ Build started: Project: tracker6, Configuration: Debug Win32 ------
1>  Skipping... (no relevant changes detected)
1>  trancker6.cpp
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========

但是我然后单击运行按钮:

This program is out of date:
  tracker6 - Debug Win32
Would you like to build it?

我说是的。在那之后:

Unhandled exception at 0x0321ef3d in tracker6.exe: 0xC0000005: Access violation
reading location 0x00000000.

Break     Continue    Ignore

我说继续,但它不起作用。这个错误又来了。

请帮助我运行此代码:

#include<opencv\highgui.h>
int main( int argc, char** argv ) {
    cvNamedWindow( "Example2", CV_WINDOW_AUTOSIZE );
    CvCapture* capture = cvCreateFileCapture( argv[1] );
    IplImage* frame;
    while(1) {
        frame = cvQueryFrame( capture );
        if( !frame ) break;
        cvShowImage( "Example2", frame );
        char c = cvWaitKey(33);
        if( c == 27 ) break;
    }
    cvReleaseCapture( &capture );
    cvDestroyWindow( "Example2" );
}
4

2 回答 2

0

问题似乎是您的程序需要一个命令行参数(这就是argv[1]意思),但您没有提供一个。所以你的程序崩溃了。

我猜想命令行参数是一个文件名。

你大概知道这个程序是做什么的,为什么你认为你可以在不提供文件名的情况下运行它?

如果你想让它运行,我会尝试的第一件事就是用硬编码的文件名替换对命令行参数的引用。即替换

CvCapture* capture = cvCreateFileCapture( argv[1] );

CvCapture* capture = cvCreateFileCapture( "somefile" );

编辑:

显然这是一个视频流媒体程序,因此将“somefile”替换为包含您尝试流式传输的视频的文件的名称。

于 2013-10-12T15:25:23.363 回答
0

只需在检查“Mycrosoft Symbols Server”调试->选项和设置->符号后尝试

于 2013-10-12T17:42:08.297 回答