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")
