前提・実現したいこと
pythonを用いて動画からフレームの画像を取得するプログラムを作成しようとしているのですが、途中で下記のエラーが出て止まってしまいます。
最初から止まるわけでは無く、11枚ほど画像の切り出しに成功し、保存したところでエラーが出ます。
以前は同じようなファイルの場所でエラー無く実行できていたのですが、久しぶりに同じプログラムを使おうとしたところエラーが出ました。原因として考えられるのは、pythonを再インストールしたことですが、具体的にどのような不具合が再インストールで生じうるのかが分かりませんでした。
ご助力いただければ幸いです。
発生している問題・エラーメッセージ
cv2.error: OpenCV(4.4.0) C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-9d_dfo3_\opencv\modules\imgcodecs\src\loadsave.cpp:738: error: (-215:Assertion failed) !_img.empty() in function 'cv::imwrite'
該当のソースコード
Python
1import cv2 2 3video_path = "D:/M1/200819_deer1/GH010060.MP4" 4cap = cv2.VideoCapture(video_path) 5 6count = cap.get(cv2.CAP_PROP_FRAME_COUNT) 7 8i = 1 9for num in range(1, int(count), 5): 10 cap.set(cv2.CAP_PROP_POS_FRAMES, num) 11 ret, frame_image = cap.read() 12 cv2.imwrite("200819_deer1/picture{:0=3}".format(i)+".jpg", frame_image) 13 print("save picture{:0=3}".format(i)+".jpg") 14 i += 1 15 16cap.release() 17
試したこと
for文中の、画像を何フレームごとに切り出すかという指定を5→10、5→20に変えてみたところ、エラーが出るのもそれぞれ6枚目、3枚目に変わったので、動画の時間が1秒を超えたところで何か問題が発生しているのかと思ったのですが(fps60です)、動画自体に問題はなく、また、他の動画でも同様のエラーが発生しました。
pythonを再インストールした直後だったので、PCを再起動してみたのですが解消されませんでした。
補足情報(FW/ツールのバージョンなど)
atomで実行しています。
回答1件
あなたの回答
tips
プレビュー