質問編集履歴

2

加筆

2022/10/24 15:48

投稿

Kokku
Kokku

スコア39

test CHANGED
File without changes
test CHANGED
@@ -298,3 +298,76 @@
298
298
  素人質問なのかもしれませんが何か解決方法があれば教えていただきたいです。
299
299
 
300
300
 
301
+
302
+ 送信側pythonコード
303
+ ```python
304
+ from deepface import DeepFace
305
+ import cv2
306
+ import datetime
307
+ import schedule
308
+ import time
309
+ import os
310
+ from threading import Thread
311
+ import argparse
312
+ from pythonosc import osc_message_builder
313
+ from pythonosc import udp_client
314
+ from pythonosc import osc_message
315
+
316
+
317
+ #カメラ起動
318
+ deviceid = 0
319
+ capture = cv2.VideoCapture(deviceid)
320
+ #感情推定の結果をリストに格納
321
+ dominant_emotion = []
322
+ max_v = []
323
+ def job():
324
+ #OSC通信処理
325
+ parser = argparse.ArgumentParser()
326
+ parser.add_argument("--ip", default="192.11.1.1",
327
+ help="The ip of the OSC server")
328
+ parser.add_argument("--port", type=int, default=8000,
329
+ help="The port the OSC server is listening on")
330
+ args = parser.parse_args()
331
+ client = udp_client.SimpleUDPClient(args.ip, args.port)
332
+ #カメラ起動して画像を保存
333
+ ret,frame = capture.read()
334
+ strdate = datetime.datetime.now().strftime('%Y%m%dT%H%M%S')
335
+ fname = f'C:/Users/shota/anaconda3/envs/shota1/images/' + strdate + ".jpg"
336
+ cv2.imwrite(fname,frame)
337
+ # 表情推定処理 and 例外処理
338
+ try:
339
+ face_analysis = DeepFace.analyze(img_path=fname)
340
+ dominant_emotion.append(face_analysis['dominant_emotion'])
341
+ max_v.append(max(face_analysis['emotion'].values()))
342
+ #OSC通信でfloat型の値を送信
343
+ msg = osc_message_builder.OscMessageBuilder(address="/Emotion")
344
+ #順に左側にデータが入っていくため、一番左の値を送信
345
+ msg.add_arg(dominant_emotion[-1])
346
+ msg.add_arg(max_v[-1])
347
+ msg = msg.build()
348
+ client.send(msg)
349
+ except ValueError:
350
+ print('ValueError')
351
+ pass
352
+
353
+ # do job every 10 seconds
354
+ schedule.every(1/12).minutes.do(job)
355
+ cond = True
356
+
357
+ def f():
358
+ global cond
359
+ time.sleep(600)
360
+ cond = False
361
+
362
+ thread = Thread(target=f)
363
+ thread.start()
364
+
365
+ while cond:
366
+ schedule.run_pending()
367
+ time.sleep(1)
368
+
369
+
370
+ ```
371
+
372
+
373
+ 良い終了方法がわからなかったので600秒で強制終了するようにしています

1

加筆

2022/10/23 18:44

投稿

Kokku
Kokku

スコア39

test CHANGED
File without changes
test CHANGED
@@ -294,6 +294,7 @@
294
294
 
295
295
 
296
296
  ```
297
-
297
+ void keyPressedの処理で文章が変わってからも更新が続けられてるため、スペースキーを押しても文章が表示されないのではないかと考えて調べてみたのですが、中々解決せず投稿させていただきました。
298
-
298
+ 素人質問なのかもしれませんが何か解決方法があれば教えていただきたいです。
299
-
299
+
300
+