OpenCV VideoCapture无法读取Python中的视频,但能够在VS11中读取

时间:2013-05-04 13:07:21

标签: python opencv ffmpeg

作为标题,我无法使用以下代码在python中使用VideoCapture读取视频:

v = 'C:\\test.mp4'
import cv2
cap = cv2.VideoCapture(v)
if cap.isOpened():
  print "Finally"
else:
  print "BOOM"

总是打印BOOM。 叹息

在VS11中,以下代码有效:

#include "stdafx.h"

#include <opencv2\highgui\highgui.hpp>
#include <iostream>

using namespace cv;
using namespace std;

int main(int argc, char* argv[])
{
    string v = "C:\\test.mp4";
    VideoCapture cap;
    cap.open(v);
    if (cap.isOpened()) {
        cout << "Yes!" << endl;
    } else {
        cout << "BOOM" << endl;
    }

    return 0;
}

我确实知道SO中有一些解决方案,但对我来说没有任何作用。 我在C:\ Python27和C:\ Python27 \ DLLs以及PATH中有以下dll

  • opencv_ffmpeg.dll
  • opencv_ffmpeg_64.dll
  • opencv_ffmpeg_245_64.dll
  • opencv_ffmpeg_245.dll

我不知道还没有做什么。

请帮帮我。非常感谢你。

1 个答案:

答案 0 :(得分:6)

我已通过安装download link答案提供的this二进制文件解决了这个问题。

它将所有opencv DLL复制到C:\ Python27(或者其他文件)。但我不明白为什么它不会提前工作,因为我已经将这些DLL包含在我的PATH中