OpenCV!如何捕获视频?
问题描述:
我参与了一个团队项目,并且我有一个源代码。该代码需要OPEN CV,因为我们正在进行图像处理。OpenCV!如何捕获视频?
我们需要捕捉视频,然后执行一些功能。该视频位于项目的路径中。
偏偏捕捉视频,我们首先定义一个路径,如:
char *videofile = "video-tp2.avi";
然后,我们已经捕获:
CvCapture *capture;
capture = cvCaptureFromFile(videofile);
最后,我们检查,如果我们有一个捕获并且如果我们没有视频文件,系统可能会提醒您。正是反过来,当视频存在并且是在项目中
if (!capture)
{
fprintf(stderr, "Erro ao abrir o ficheiro de vídeo!\n");
return 1;
}
答
cvCapture是一个结构,其中documentations是指系统警报为black-box
:
注意:在C API中,使用黑盒结构CvCapture而不是 VideoCapture。
您可以尝试cv.QueryFrame(capture)
。它会返回NULL如果失败(见本example):
IplImage* frame;
frame = cvQueryFrame(capture);
if(!frame) {
// FAIL
}
但是因为C
API已被弃用,你应该切换到C++
接口(见here)
如果答案解决您的问题或帮助你,请考虑接受它,另请参阅: http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work –