Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从文件OpenCV读取avi时出现分段错误_Opencv_Segmentation Fault - Fatal编程技术网

从文件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()){

我正在尝试使用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 capmyvideo.avi修改为VideoCapture cap0来从网络摄像机捕获视频,那么一切都很好。 我正在运行Ubuntu 14.04


你知道为什么我在读取文件时会出现分段错误吗?

是的,VLC播放器在这方面没有问题。我不确定,可能完全错了,但我的问题是否与Ubuntu 14.04上缺少ffmpeg包有共同之处?正如这里所建议的,我使用的是avconv。