raspberrypi4 カウントアルゴリズム







今回は


カウント関数を使って

5回はhappyの表情を認識したら

猫の鳴き声がなく

といったプログラムを作成していく。



しかし、

プログラムは動いたものの

5回happyを認識しても鳴き声がスピーカーから流れなかった。

なぜ、ならなかったかわからないので、

明日先生と一緒に

原因を解明したいと思う。



✳︎プログラム

  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. KEY = 'ad4b39c705b2493c9e8b4c9dfc7f0a18'
  9. ENDPOINT = 'https://doyolab.cognitiveservices.azure.com/face/v1.0'
  10. CF.Key.set(KEY)
  11. CF.BaseUrl.set(ENDPOINT)
  12. cnt=0
  13. while True:
  14.     with picamera.PiCamera() as camera:
  15.         camera.resolution = (512,384)
  16.         camera.capture('test.jpg')
  17.         print('capture')
  18.         img = cv.imread('test.jpg')
  19.         grayimg = cv.cvtColor(img,cv.COLOR_BGR2GRAY)
  20.         img = "test.jpg"
  21.         faces = CF.face.detect(img, attributes='emotion')
  22.         f=json.dumps(faces)
  23.         j=json.loads(f)
  24.         
  25.         
  26.         for i in range(0,len(j)):
  27.             print(j[i]['faceAttributes']['emotion']['happiness'])
  28.             happiness_val = j[i]['faceAttributes']['emotion']['happiness']
  29.             
  30.             
  31.             
  32.             
  33.             if happiness_val > 0.5 :
  34.                 cnt=cnt+1
  35.                 
  36.                 
  37.                 
  38.             if cnt==5:
  39.                 pygame.mixer.init(frequency=44100)
  40.                 pygame.mixer.music.load("/home/pi/mypython/camera/audio/cat1a.mp3")
  41.                 pygame.mixer.music.play(1)
  42.                 time.sleep(2)
  43.                 pygame.mixer.music.stop()
  44.                 
  45.                 cnt=0