前提・実現したいこと
ラズパイで動画を撮影しようとして、下記のプログラムを回しましたが、cv2.waitKeyで処理が止まらず、
ctr+cで処理を止めると、動画ファイルが欠損していて?再生することができません。
cv2.imshow('frame',frame) の部分をコメントアウトしなければ、cv2.waitKeyは正常に動きます。
しかし、この場合でも下記のようなエラーメッセージが出て、再生することはできません。
対処法があれば教えていただけないでしょうか。
再生できません ファイルを再生できません。このアイテムのファイル形式がサポートされていないか、ファイル拡張子が正しくないか、ファイルが破損している可能性があります。 0xc10100be
該当のソースコード
python3
1import numpy as np 2import cv2 3import time 4 5cap = cv2.VideoCapture(0) 6 7# Define the codec and create VideoWriter object 8fourcc = cv2.VideoWriter_fourcc(*'XVID') 9out = cv2.VideoWriter('output1280720_100ms.avi',fourcc, 20.0, (1280,720)) 10#out = cv2.VideoWriter('output640480.avi',fourcc, 20.0, (640,480)) 11tsub = [] 12 13print('here') 14while(cap.isOpened()): 15 t1 = time.time() 16 ret, frame = cap.read() 17 if ret==True: 18 frame = cv2.flip(frame,0) 19 20 # write the flipped frame 21 out.write(frame) 22 23 #cv2.imshow('frame',frame) ########## ここの行です 24 if cv2.waitKey(100) & 0xFF == ord('q'): 25 print('break') 26 print(tsub) 27 break 28 t2 = time.time() 29 tsub.append(t2-t1) 30 #print(tsub) 31 else: 32 break 33 34# Release everything if job is finished 35cap.release() 36out.release() 37#cv2.destroyAllWindows()
試したこと
カメラがちゃんと動いていないことも疑って、
raspivid -o video.h264 -t 10000
としたところ、
return
1mmal: mmal_vc_component_enable: failed to enable component: ENOSPC 2mmal: camera component couldn't be enabled 3mmal: main: Failed to create camera component 4mmal: Failed to run camera app. Please check for firmware updates
となってしまったので、
$ vcgencmd get_camera
を試したところ、
return
1supported=1 detected=1
となったので、カメラ自体には問題ないのかな、と考えています。
補足情報(FW/ツールのバージョンなど)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/06 00:24
2020/08/06 06:55 編集
2020/08/07 01:29
2020/08/07 01:57
2020/08/07 03:37