Pythonで防犯カメラの映像内にリアルタイムの時刻を見れるようにしたい。
発生している問題・エラーメッセージ
Webカメラでpythonを使って防犯カメラを作っているのですが、録画した映像内に当時の日時と時間がわかるように表示するというのができません。別ウィンドでの表示はできるのですが映像内に入れることができないです。どなたか教えていただけると幸いです。よろしくお願いいたします。
質問文を訂正させていただきました。映像内に時刻を入れることができないというのは、別ウィンドで生まれてしまうということです。録画用codeの中に埋め込むなどしてみましたが、構文が違うというエラー文が発生し私の知識では対処できませんでした。
録画に使っているコードは以下の通りです。
該当のソースコード
python
1import datetime 2import os 3import cv2 4from time import time 5import shutil 6 7 8 9 10fps = 30 11while(True): 12 d=datetime.datetime.now() 13 dt1=d.strftime("%Y%m%d") 14 dt1=str(dt1) 15 path1 = './'+ dt1 16 if os.path.isdir(path1): 17 pass 18 else: 19 os.makedirs(path1) 20 print(dt1) 21 d=datetime.datetime.now() 22 d = d.replace(microsecond = 0) 23 aa=d.strftime("%Y%m%d%H%M%S") 24 filerename=str(aa)+'.avi' 25 cameraCapture = cv2.VideoCapture(0) 26 size = (int(cameraCapture.get(cv2.CAP_PROP_FRAME_WIDTH)), 27 int(cameraCapture.get(cv2.CAP_PROP_FRAME_HEIGHT))) 28 videoWriter = cv2.VideoWriter('./'+dt1+'/output.avi', cv2.VideoWriter_fourcc('D', 'I', 'V', 'X'), fps, size) 29 start=time() 30 print(start) 31 while(True): 32 ret, frame = cameraCapture.read() 33 34 if ret == True: 35 cv2.imshow('frame', frame) 36 videoWriter.write(frame) 37 if cv2.waitKey(1) & 0xFF == ord('q'): 38 break 39 end=time() 40 if end-start >= 121: 41 break 42 cameraCapture.release() 43 videoWriter.release() 44 os.rename('./'+dt1+'/output.avi','./'+dt1+'/'+ filerename) 45 dt2=(datetime.timedelta(days=2)) 46 dt3=d-dt2 47 dt3=dt3.strftime("%Y%m%d") 48 path2 = './'+ dt3 49 if os.path.isdir(path2): 50 shutil.rmtree(path2) 51 52 if cv2.waitKey(1) & 0xFF == ord('q'): 53 break 54 55cv2.destroyAllWindows()
Python
1from tkinter import * 2import time 3 4root = Tk() 5root.option_add('*font', ('FixedSys', 14)) 6 7buff = StringVar() 8buff.set('') 9 10Label(textvariable = buff).pack() 11 12def st(): 13 buff.set(time.strftime('%I:%M:%S')) 14 root.after(1000, show_time) 15 16st() 17root.mainloop()
補足情報(FW/ツールのバージョンなど)
Python3
OpenCV2