raspberrypi4 プログラム変更







今回は


この前作ったラズパイのプログラムの数値を具体化し、

実装できるプログラムを作成した。

しかし、プログラムは動くのだが、以前は下に笑顔の数値が出てきて何回笑ったのかなどが分かったのだが

今回はなぜか下に表示されなかった。



しかも、自動起動のせいなのか

猫の鳴き声が突然する。

しかし、パイソンを開いても

カメラがcaptureと表示されなくなってしまったので

なんのプログラムで泣いているのかがわからない。

今日中になんとかこの謎を解明したいものだ。。





















❇︎プログラム


  1. import cognitive_face as CF
  2. import json
  3. import picamera
  4. import time
  5. import cv2 as cv
  6. import pygame
  7. import time
  8. import random
  9. def voice(file):
  10.     pygame.mixer.init(frequency=44100)
  11.     pygame.mixer.music.load(file)
  12.     pygame.mixer.music.play(1)
  13.     time.sleep(2)
  14.     pygame.mixer.music.stop()
  15.     
  16.     
  17. voice("/home/pi/mypython/camera/audio/1.mp3")
  18. KEY = ''
  19. ENDPOINT = ''
  20. CF.Key.set(KEY)
  21. CF.BaseUrl.set(ENDPOINT)
  22. voice("/home/pi/mypython/camera/audio/1.mp3")
  23. time.sleep(60)
  24. voice("/home/pi/mypython/camera/audio/1.mp3")
  25. h_cnt=0
  26. happiness_val=0
  27. a_cnt=0
  28. anger_val=0
  29. n_cnt=0
  30. neutral_val=0
  31. houchi_cnt=0
  32. while True:
  33.     with picamera.PiCamera() as camera:
  34.         camera.resolution = (512,384)
  35.         camera.capture('test.jpg')
  36.         print('capture')
  37.         img = cv.imread('test.jpg')
  38.         grayimg = cv.cvtColor(img,cv.COLOR_BGR2GRAY)
  39.         img = "test.jpg"
  40.         faces = CF.face.detect(img, attributes='emotion')
  41.         f=json.dumps(faces)
  42.         j=json.loads(f)
  43.         print("len"+str(len(j)))
  44.         #-------------------------------------------------------------------------------------
  45.         #len(j)は認識した顔の数
  46.         if len(j)==0:
  47.             #顔の数が0だったら放置と判定
  48.             houchi_cnt=houchi_cnt+1
  49.         else:
  50.             #顔が認識されれば感情をカウント
  51.             for i in range(0,len(j)):
  52.                 print(j[i]['faceAttributes']['emotion']['happiness'])
  53.                 happiness_val = j[i]['faceAttributes']['emotion']['happiness']
  54.             if happiness_val > 0.5 :
  55.                 h_cnt=h_cnt+1
  56.                 print("h_cnt"+str(h_cnt))
  57.                 
  58.             for i in range(0,len(j)):
  59.                 print(j[i]['faceAttributes']['emotion']['anger'])
  60.                 happiness_val = j[i]['faceAttributes']['emotion']['anger']
  61.             if anger_val > 0.5 :
  62.                 a_cnt=a_cnt+1
  63.                 print("a_cnt"+str(a_cnt))
  64.                 
  65.             for i in range(0,len(j)):
  66.                 print(j[i]['faceAttributes']['emotion']['neutral'])
  67.                 happiness_val = j[i]['faceAttributes']['emotion']['neutral']
  68.             if neutral_val > 0.5 :
  69.                 n_cnt=n_cnt+1
  70.                 print("n_cnt"+str(n_cnt))
  71.             
  72.             
  73.             
  74.         #-------------------------------------------------------------------------------------
  75.         if houchi_cnt==100:
  76.             v=random.randint(1,11)
  77.             voice("/home/pi/mypython/camera/audio/"+str(v)+".mp3")
  78.             houchi_cnt=0
  79.             print("houchi_cnt"+str(houchi_cnt))
  80.             
  81.         if h_cnt==10:
  82.             v=random.randint(12,16)
  83.             voice("/home/pi/mypython/camera/audio/"+str(v)+".mp3")
  84.             h_cnt=0
  85.             print("h_cnt"+str(h_cnt))
  86.             
  87.         if a_cnt==2:
  88.             v=random.randint(22,27)
  89.             voice("/home/pi/mypython/camera/audio/"+str(v)+".mp3")
  90.             a_cnt=0
  91.             print("a_cnt"+str(a_cnt))
  92.             
  93.         if n_cnt==10:
  94.             v=random.randint(17,21)
  95.             voice("/home/pi/mypython/camera/audio/"+str(v)+".mp3")
  96.             n_cnt=0
  97.             print("cnt"+str(n_cnt))
  98.         #-------------------------------------------------------------------------------------