【发布时间】:2012-12-04 18:14:22
【问题描述】:
嗨所以我写了这段代码来从文件中捕获视频
#include <stdio.h>
#include <cv.h>
#include "highgui.h"
#include <iostream>
//using namespace cv
int main(int argc, char** argv)
{
CvCapture* capture=0;
IplImage* frame=0;
capture = cvCaptureFromAVI(char const* filename); // read AVI video
if( !capture )
throw "Error when reading steam_avi";
cvNamedWindow( "w", 1);
for( ; ; )
{
frame = cvQueryFrame( capture );
if(!frame)
break;
cvShowImage("w", frame);
}
cvWaitKey(0); // key press to close window
cvDestroyWindow("w");
cvReleaseImage(&frame);
}
每次我运行它,我都会收到以下错误:
CaptureVideo.cpp:在函数“int main(int, char**)”中:
CaptureVideo.cpp:13:28: 错误:“char”之前的预期主表达式
任何帮助将不胜感激。
【问题讨论】:
-
而不是
char const* filename您应该输入实际的文件名(或包含它的变量),例如capture = cvCaptureFromAVI("myvideo.avi") -
好的,我已经使用了我想要的视频的名称,但后来出现了这个错误:在抛出 'char const*' 实例后调用终止已中止(核心转储)
-
可能是因为如果视频无法打开,您会抛出
const char*...确保路径正确并且您安装了正确的编解码器。 -
我可以抛出什么异常?
-
您可以抛出任何您喜欢的异常,但您的问题是(很可能)视频无法打开(无论出于何种原因,我概述了一些可能的原因)。