centos上读取下一帧视频时出现Segmentation fault如何解决
How to solved Segmentation fault when read the next video frame on centos
我运行这个程序在Centos6.8上,我总是Segmentation fault (core dumped)
我也用GDB调试,上面说
Program received signal SIGSEGV, Segmentation fault.
memcpy () at ../sysdeps/x86_64/memcpy.S:398
398 movq 48(%rsi), %r13
但是当我在我的 Ubuntu 18.04 上 运行 这个 相同的 程序时,它运行得很好。
Centos 上有没有我想安装的东西,或者我需要换一个 API 来读取框架。
顺便说一句,一开始我能读到四帧,之后,我得到了Segmentation fault。
Opencv 版本为 2.4.9
#include <iostream>
#include <math.h>
#include <chrono>
#include <opencv2/opencv.hpp>
#include <fstream>
using namespace std;
using namespace cv;
int main(int argc, char* argv[])
{
Mat image;
int a;
VideoCapture video("15_41_24_24670.avi");
int i = 0;
try{
while(true){
video >> image;
if(image.empty())
break;
cout << i++ <<endl;
}
}
catch(std::exception& e){
std::cerr << "Exception caught : " << e.what() << std::endl;
cout<<"error"<<endl;
return 0;
}
cout<<"successful"<<endl;
return 0;
}
输出:
0
1
2
3
4
5
6
Segmentation fault (core dumped)
尝试为 VideoCapture 设置后端:
VideoCapture 视频("15_41_24_24670.avi", cv::CAP_FFMPEG);
或
VideoCapture 视频("15_41_24_24670.avi", cv::CAP_GSTREAMER);
或其他
我运行这个程序在Centos6.8上,我总是Segmentation fault (core dumped)
我也用GDB调试,上面说
Program received signal SIGSEGV, Segmentation fault.
memcpy () at ../sysdeps/x86_64/memcpy.S:398
398 movq 48(%rsi), %r13
但是当我在我的 Ubuntu 18.04 上 运行 这个 相同的 程序时,它运行得很好。
Centos 上有没有我想安装的东西,或者我需要换一个 API 来读取框架。
顺便说一句,一开始我能读到四帧,之后,我得到了Segmentation fault。
Opencv 版本为 2.4.9
#include <iostream>
#include <math.h>
#include <chrono>
#include <opencv2/opencv.hpp>
#include <fstream>
using namespace std;
using namespace cv;
int main(int argc, char* argv[])
{
Mat image;
int a;
VideoCapture video("15_41_24_24670.avi");
int i = 0;
try{
while(true){
video >> image;
if(image.empty())
break;
cout << i++ <<endl;
}
}
catch(std::exception& e){
std::cerr << "Exception caught : " << e.what() << std::endl;
cout<<"error"<<endl;
return 0;
}
cout<<"successful"<<endl;
return 0;
}
输出:
0
1
2
3
4
5
6
Segmentation fault (core dumped)
尝试为 VideoCapture 设置后端:
VideoCapture 视频("15_41_24_24670.avi", cv::CAP_FFMPEG);
或
VideoCapture 视频("15_41_24_24670.avi", cv::CAP_GSTREAMER);
或其他