我正在尝试使用OpenCV从以下代码中读取和显示avi:
#include <cv.h>
#include <highgui.h>
#include <iostream>
using namespace cv;
using namespace std;
int main(int argc, char* argv[]){
VideoCapture cap("myvideo.avi");
if (!cap.isOpened()){
cout << "!!! Failed to open file: " << endl;
return -1;
}
Mat frame;
while(1){
if (!cap.read(frame))
break;
imshow("window",frame);
char key = cvWaitKey(10);
if (key == 27) // ESC
break;
}
return 0;
}
当我尝试阅读下一帧时,我遇到了分段错误。 如果我尝试通过修改VideoCapture cap(“myvideo.avi”)到VideoCapture cap(0)来捕获来自网络摄像头的视频一切正常。 我正在运行Ubuntu 14.04。
知道为什么我在从文件中读取时会出现分段错误?