VideoCapture :: read总是返回false

时间:2016-03-19 01:26:57

标签: c++ opencv video-capture osx-elcapitan

我正在运行OS X El Capitan并尝试使用OpenCV VideoCapture来读取.avi文件。我在opencv 2.4.1和3上都试过了,两者都有相同的结果。

cv::VideoCapture capture("filename.avi");
cv::Mat currentFrame, prevFrame;
bool capPrevSuccess = capture.read(prevFrame);
bool capCurrSuccess = capture.read(currentFrame);

我已验证filename.avi位于当前工作目录中,并且我在控制台中看不到任何错误。

我开始怀疑它是否与我的机器有关。我在同一台机器上运行MATLAB中的VideoReader时遇到了类似的问题。我相信MATLAB也使用OpenCV VideoReader,也许他们已经连接了。

  

使用VideoReader / init时出错(第619行)无法初始化内部   资源。

     

VideoReader出错(第172行)               obj.init(文件名);

编辑:看起来这与我正在使用的视频文件有关。我下载了一个mp4视频,并没有遇到任何麻烦。不幸的是,我需要使用我使用的视频文件(所有.avi),但它们似乎都不适用于VideoCapture。

0 个答案:

没有答案