我正在尝试使用代码块中的Open-CV打开视频文件。我已成功集成Open-CV,但无法理解如何打开视频文件。互联网上有一些例子,但它们会得到不同的主要参数程序,这些程序会产生错误:
int main (int arg c, char *arg v[])
并包含我不知道如何在代码块中使用的参数。
答案 0 :(得分:0)
一个例子:
#include "highgui.h"
int main(int argc, char** argv) {
cvNamedWindow( "Example", CV_WINDOW_AUTOSIZE);
CvCapture* capture = cvCreateFileCapture("sample.mkv");
IplImage* frame;
while (1) {
frame = cvQueryFrame(capture);
if (!frame)
break;
cvShowImage( "Example", frame);
char c = cvWaitKey(33);
if (c == 27)
break;
}
cvReleaseCapture(&capture);
cvDestroyWindow ( "Example" );
}
您将在 cvCreateFileCapture 函数中编写视频文件名。
对于argv-argc问题,我建议您使用本教程。
http://crasseux.com/books/ctutorial/argc-and-argv.html
编辑C ++ API
#include "opencv2/opencv.hpp"
using namespace cv;
int main(int, char**) {
namedWindow("Sample Video", 1);
VideoCapture cap("sample.mkv");
if (!cap.isOpened()) // check if we succeeded
return -1;
Mat frame;
while (1) {
cap >> frame;
imshow("Sample Video", frame);
char c = waitKey(33);
if (c == 27)
break;
}
}