我正在使用OpenCV 3.1在Ubuntu 14.04上进行编译。尝试打开视频文件时,会出现此错误:
"无法打开视频文件"
我安装了我可以安装的所有东西:ffmpeg等.Haven找不到解决方案来检查StackOF上的类似问题。
做什么?
cv::VideoCapture cap(argv[1]);
其中argv [1]是与可执行文件位于同一目录中的文件名。
答案 0 :(得分:0)
如果构造函数失败,您可能需要使用 .open()方法。因此,如果要打开项目文件夹中名为“myVideo.mp4”的文件,请执行以下操作:
cv::VideoCapture cap;
cap.open("myVideo.mp4");
有关此方法的详细信息,请查看此documentation link 此外,第26页的O'Rilley媒体上的“学习OpenCV 3”一书为您提供了一个很好的例子。这是我作为例子给你的Gist。
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <iostream>
int main() {
cv::VideoCapture cap;
cap.open("myVideo.mp4" );
cv::namedWindow( "myVideo", cv::WINDOW_AUTOSIZE );
cv::Mat frame;
while(true) {
cap >> frame;
if( frame.empty() ){
std::cout << "Could not load the video frames. \n";
break;
}
cv::imshow( "myVideo", frame );
if( cv::waitKey(27) >= 0 ){
std::cout << "Escape pressed \n";
break;
}
}
return 0;
}