LoginSignup
5
5

More than 5 years have passed since last update.

PythonのOpenCVで VideoCapture 関数が動画ファイルを読み込んでくれない

Last updated at Posted at 2017-10-24

pythonのopencvで動画ファイルを読み込んでなにやらしようとしたら、動画ファイルを読み込んでくれなかった。

(pythonファイル内)
cap = cv2.VideoCapture(video_path)
while True:
    ret, img = cap.read()
    # あとは img 好きなように...

(実行時の出力)
OpenCV: Couldn't read video stream from file "*****"

いろいろ調べたところ、よく出る解決策が skvideo.io をimportして使え、というもの。

言われるがままにやってみた。

まず、pipでインストール

(以下を実行)
pip install sk-video

そして、pythonのソースコード

import skvideo.io #追加

#cap = cv2.VideoCapture(video_path) ← 削除

reader = skvideo.io.FFmpegReader(video_path) #追加


#while True:  ← 削除
#    ret, img = cap.read() ← 削除  

for img in reader.nextFrame(): #追加
    #あとは img を好きなように...

これで動きました。
上のコードでいうretが取得できていませんが、都合の悪い人はすみませんが調べてみてください...

python
python3
skvideo.io
opencv
OpenCV: Couldn't read video stream from file

5
5
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5