从文件OpenCV读取avi时出现分段错误
我正在尝试使用OpenCV和以下代码从文件中读取和显示avi:从文件OpenCV读取avi时出现分段错误,opencv,segmentation-fault,Opencv,Segmentation Fault,我正在尝试使用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()){
#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 capmyvideo.avi修改为VideoCapture cap0来从网络摄像机捕获视频,那么一切都很好。
我正在运行Ubuntu 14.04
你知道为什么我在读取文件时会出现分段错误吗?是的,VLC播放器在这方面没有问题。我不确定,可能完全错了,但我的问题是否与Ubuntu 14.04上缺少ffmpeg包有共同之处?正如这里所建议的,我使用的是avconv。