前提
pythonでopencv、deepfaceを用いて、表情から得られる7つの感情のパラメータを使用したプログラムを作成中です。
フレームで更新されるリストで、60フレーム分以上足していきたい。
2フレームを足す方法は調べてできるようになったが、同じように60フレーム以上(可能であれば既定の数値に達するまで足し続けたい)やるのは頭が悪いと思い、お力添えいただきたく質問いたします。
実現したいこと
- 既定の数値に達するまでフレームで変わるリストを足し続けていきたい。
- そのためにまず60フレーム分は少なくとも足し続けられるようになりたい。
該当のソースコード
python
1≀ 2≀ 3≀ 4while True: 5#1フレーム目の感情分析 6 ret,frame = cap.read() 7 result = DeepFace.analyze(img_path = frame , actions=['emotion'], enforce_detection=False) 8 9 gray = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY) 10 faces = face_cascade.detectMultiScale(gray,1.1,4) 11 12 emotion1 = result['emotion'] 13 A1 = list(emotion1.values()) 14 B1 = [math.floor(i) for i in A1] 15 16 print(B1) 17# -> [0, 0, 0, 36, 63, 0, 0] 18 19#2フレーム目の感情分析 20 ret,frame2 = cap.read() 21 result2 = DeepFace.analyze(img_path = frame2 , actions=['emotion'], enforce_detection=False) 22 23 gray2 = cv2.cvtColor(frame2,cv2.COLOR_BGR2GRAY) 24 faces2 = face_cascade.detectMultiScale(gray2,1.1,4) 25 26 emotion2 = result2['emotion'] 27 A2 = list(emotion2.values()) 28 B2 = [math.floor(i) for i in A2] 29 30 print(B2) 31# -> [0, 0, 0, 99, 0, 0, 0] 32 33 BB = [B1, B2] 34 Bsum = [functools.reduce(operator.add, x) for x in zip(*BB)] 35 36 print(Bsum) 37# -> [0, 0, 0, 135, 63, 0, 0] 38"みたいなことを60フレーム分以上したい" 39≀ 40≀ 41≀
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/12/06 09:08