Update 'face_recognition/app/app.py'
This commit is contained in:
		@@ -7,6 +7,8 @@ import pickle
 | 
			
		||||
import face_recognition
 | 
			
		||||
from werkzeug.datastructures import ImmutableMultiDict
 | 
			
		||||
import base64
 | 
			
		||||
import cv2
 | 
			
		||||
import numpy as np
 | 
			
		||||
app = Flask(__name__)
 | 
			
		||||
minioClient = Minio('minio:9000', access_key=os.environ['s3-name'], secret_key=os.environ['s3-password'], secure=False)
 | 
			
		||||
 
 | 
			
		||||
@@ -39,11 +41,13 @@ def new_user_id():
 | 
			
		||||
def new_face():
 | 
			
		||||
    id  = request.args.get('id', None)
 | 
			
		||||
    img = request.args.get('encoded_string', None)
 | 
			
		||||
    print(img, flush=True)
 | 
			
		||||
    imgdata = base64.b64decode(img)
 | 
			
		||||
    with open('/tmp/'+str(id), 'wb') as file:
 | 
			
		||||
        file.write(bytearray(imgdata))
 | 
			
		||||
    minioClient.fput_object('users', str(id)+'.jpg', '/tmp/'+str(id))
 | 
			
		||||
    #print(img, flush=True)
 | 
			
		||||
    #imgdata = base64.b64decode(img)
 | 
			
		||||
    #with open('/tmp/'+str(id), 'wb') as file:
 | 
			
		||||
    #    file.write(bytearray(imgdata))
 | 
			
		||||
    save_img(encoded_string, '/tmp/'+str(id)+'.jpg')
 | 
			
		||||
    #to debug send img
 | 
			
		||||
    minioClient.fput_object('users', str(id)+'.jpg', '/tmp/'+str(id)+'.jpg')
 | 
			
		||||
    face = face_recognition.load_image_file('/tmp/'+str(id))
 | 
			
		||||
    face_encoding = face_recognition.face_encodings(face)[0]
 | 
			
		||||
    with open('/tmp/'+str(id)+'.pkl', 'wb') as file:
 | 
			
		||||
@@ -79,6 +83,11 @@ def check_id(id):
 | 
			
		||||
            pass
 | 
			
		||||
    return known
 | 
			
		||||
 | 
			
		||||
def save_img(encoded_data, filename):
 | 
			
		||||
    nparr = np.fromstring(base64.b64decode(encoded_data), np.uint8)
 | 
			
		||||
    img = cv2.imdecode(nparr, cv2.IMREAD_ANYCOLOR)
 | 
			
		||||
    return cv2.imwrite(filename, img)
 | 
			
		||||
          
 | 
			
		||||
def setup():
 | 
			
		||||
    try:
 | 
			
		||||
        minioClient.make_bucket("users")
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user