51

次の手順でインストールされたOpenCV2.4へのPythonバインディングを使用しています。

私の問題はこれに似ていますが、Windowsマシンソリューションが必要です。

問題:使用しようとすると

cap = cv2.VideoCapture(0)
print cap.grab()

正常に動作しますが、次のコード

cap = cv2.VideoCapture(filename)
print cap.grab()

常にFalseを返します。

ファイルへのパスは正しく、絶対的であり、スペースはありません。

WindowsXPとWindows7を搭載した2台のマシンで試してみたところ、同様の結果が得られました。Linux(Ubuntu)では、問題なく動作します。

4

9 に答える 9

73

C:\OpenCV\3rdparty\ffmpeg\Windows PATH環境変数に追加するかopencv_ffmpeg.dll、そのディレクトリからC:\Python27\PATH内のディレクトリにコピーします。または、 http: //www.lfd.uci.edu/~gohlke/pythonlibs/#opencvのOpenCVバイナリを使用します。

ファイルの名前変更opencv_ffmpeg.dllも必要になる場合があります。

OpenCVバージョンXYZの場合
opencv_ffmpeg.dll==>opencv_ffmpegXYZ.dll

64ビットOpenCVバージョンXYZの場合
opencv_ffmpeg.dll==>opencv_ffmpegXYZ_64.dll

于 2012-07-28T19:28:35.310 に答える
30

opencv_ffmpeg.dllをコピーするだけでは不十分でした。Python2.7.5でOpenCV2.4.6を使用した場合、名前をopencv_ffmpeg246.dllに変更する必要がありました。

于 2013-07-16T09:25:51.860 に答える
10

最初にコピーしてから、Windowsのパス環境を変更してみました。openCVバージョン2.4.5とpython 2.7の名前をopencv_ffmpeg245.dllに変更するまで、機能しませんでした。(注意** 245.dllはopencvバージョン2.4.5のものです)

于 2014-03-21T13:02:20.383 に答える
8

64ビットバージョンの場合、opencv_ffmpeg_64.dllの名前をopencv_ffmpeg249_64.dllに変更します。249をopencvバージョンに変更します。

于 2014-06-13T18:44:55.357 に答える
6

64ビット環境のOpenCV3.0.0の場合は、opencv_ffmpeg_64.dllをコピーし、名前をopencv_ffmpeg300_64.dllに変更します。

また、このパスをPATH環境変数に追加して、JavaでOpenCVを使用できるようにします。

于 2014-10-05T21:34:21.637 に答える
5

更新:これはOpenCV 2.4.9にも当てはまり、すべてのファイルをコピーして、dllの名前をopencv_ffmpeg249.dllに変更します。

于 2014-06-09T12:42:43.113 に答える
4

Python2.7とopencv2.4.10でも同じ問題が発生しました。opencv_ffmpeg2410_64.dllファイルをC:\ Applications \ opencv \ build \ x64 \ vc10 \ binからpythonパス(私のものはC:\ Users \ mohammad \ Anacondaにあります)にコピーしましたが、解決しました!

于 2015-03-03T04:22:39.837 に答える
3

最初はwindows8.132bitとopencv2.4.10を使用します。LogicoolC270で作成された
ファイルを使用する場合にも同じ問題が発生しました。デジカメ(キヤノンSX160)製 の他のファイルを使ってみました。だから私はパスを追加するために遊ぶことができます。 しかし、再生できない ので、VLC(から)を使用して形式test1.wmvをtest1a.mp4に変更しようとします。 その後、Ubuntu 14.04 LTSで 試したプレイができ、簡単にプレイできます。 Windows8.1とUbuntu14.04LTSのデフォルトのffmpegバイナリでいくつかの違いが発生する可能性があります。test1.wmv
test2.movtest2.movC:\opencv\build\x86\vc12\bin
test1.wmv.
Video for youtube HD
test1a.mp4.
test1.wmv

于 2014-11-23T10:11:41.960 に答える
0

anaconda環境の場合、opencv_ffmpeg249_64.dllをC:\ Python27 \からコピー、opencvの正しいバージョンに従ってバージョンの名前を変更し、 C:\ Users \ KHALID \ Anaconda2 \ Library\binに貼り付けます。

于 2017-07-08T11:30:21.780 に答える