2017-03-01 11 views
0

PythonとOpenCVの両方に全く新しいですが、OpenCV(3.2.0)をPythonで使用したいのですが(残念ながら) 2.7.13)バインディングを使用して.mp4ファイルから特定のフレームを抽出します。openCV(3.2.0) - Python(2.7.13)でMP4ファイルを読むことができません

私はVideoCapture(0)(つまりウェブカメラをストリーミングできる)にもかかわらず、ビデオファイル(http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_gui/py_video_display/py_video_display.html)を再生する方法を学ぶために、「Getting Started with Videos」チュートリアルに従おうとしましたが、動画ファイル(MP4):私は "Untitled.py" という名前の次のコードを使用:

import numpy as np 
import cv2 

cap = cv2.VideoCapture('PathToVideoFile\film.mp4') 
while(cap.isOpened()): 
    ret, frame = cap.read() 
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) 
    cv2.imshow('frame',gray) 
    if cv2.waitKey(25) & 0xFF == ord('q'): 
     break 

cap.release() 
cv2.destroyAllWindows() 

をそして、これは私が得るすべてである:

================== RESTART: C:\Python27\Scripts\Untitled.py ================== 

(何もない...)

私はffmpegをダウンロードし、opencv\build\x64\vc14\binからC:\Python27にopencv_ffmpeg320_64.dllをコピーしましたが、それは役に立たなかった...この問題で私を助けてくれますか?

私はあなたの問題についての詳細が必要な場合は私の質問は私が何かが些細なものを欠落している場合はごめんなさい知らせてください。

ありがとうございます!

エイドリアン

答えて

0

ビデオカメラのキャプチャ出力は、RGBで再生用のビデオファイルと同じ形式ではありません。ビデオファイルは通常圧縮され、デコードするには正しいコーデックが必要です。

opencv_ffmpeg320_64.dll%OPENCV_DIR%\binにない場合、ビデオの再生は機能しません。環境変数の設定OPENCV_DIRの場合、インストールの例と件名は次のとおりです。

  • Path=%OPENCV_DIR%\bin;%Path%
  • OPENCV_DIR=C:\Program Files\OpenCV 3.2.0\x64\vc14

    • はまた、あなたのopencv_ffmpeg320_64.dllファイルのプロパティを確認してください。 Python 2.7用のWin10 64ビットプラットフォームでVS2015によってコンパイルされた場合、そのサイズは約16.5 MB (17,397,760 bytes)です。

      あなたのPythonコードは私のPCで動作します。上の質問から、FFMPEG DLLをPythonのディレクトリに間違ってコピーしたようです。

    関連する問題