stm32-fmt-code/access_control_python/face_analyzer.py

41 lines
979 B
Python

import numpy as np
import cv2
import base64
import requests
import json
import threading
import time
cam = cv2.VideoCapture(1)
global img
global frame_ready
frame_ready = False
def read_webcam():
global img
global frame_ready
while True:
ret, img = cam.read()
frame_ready = True
threading.Thread(target=read_webcam).start()
while True:
while not frame_ready:
time.sleep(1)
ret, jpg_buffer = cv2.imencode('.jpg',img)
b64_img = base64.b64encode(jpg_buffer)
data = {"image":b64_img.decode("utf-8")}
res = requests.post("https://racist.siwatsystem.com/process_image",json=data)
res = res.content.decode("utf-8")
res = json.loads(res)
#print(res)
if len(res) >0:
if (res[0]['dominant_race']=="asian"):
print("Ching Chong")
elif(res[0]['dominant_race']=="black"):
print("CRIMINAL!!")
elif (res[0]['dominant_race']=="white"):
print("Ding Dong")