from flask import Blueprint, request import service blueprint = Blueprint("routes", __name__) @blueprint.route("/") def home(): return "

Welcome to DeepFace API!

" @blueprint.route("/represent", methods=["POST"]) def represent(): input_args = request.get_json() if input_args is None: return {"message": "empty input set passed"} img_path = input_args.get("img") if img_path is None: return {"message": "you must pass img_path input"} model_name = input_args.get("model_name", "VGG-Face") detector_backend = input_args.get("detector_backend", "opencv") enforce_detection = input_args.get("enforce_detection", True) align = input_args.get("align", True) obj = service.represent( img_path=img_path, model_name=model_name, detector_backend=detector_backend, enforce_detection=enforce_detection, align=align, ) return obj @blueprint.route("/verify", methods=["POST"]) def verify(): input_args = request.get_json() if input_args is None: return {"message": "empty input set passed"} img1_path = input_args.get("img1_path") img2_path = input_args.get("img2_path") if img1_path is None: return {"message": "you must pass img1_path input"} if img2_path is None: return {"message": "you must pass img2_path input"} model_name = input_args.get("model_name", "VGG-Face") detector_backend = input_args.get("detector_backend", "opencv") enforce_detection = input_args.get("enforce_detection", True) distance_metric = input_args.get("distance_metric", "cosine") align = input_args.get("align", True) verification = service.verify( img1_path=img1_path, img2_path=img2_path, model_name=model_name, detector_backend=detector_backend, distance_metric=distance_metric, align=align, enforce_detection=enforce_detection, ) verification["verified"] = str(verification["verified"]) return verification @blueprint.route("/analyze", methods=["POST"]) def analyze(): input_args = request.get_json() if input_args is None: return {"message": "empty input set passed"} img_path = input_args.get("img_path") if img_path is None: return {"message": "you must pass img_path input"} detector_backend = input_args.get("detector_backend", "opencv") enforce_detection = input_args.get("enforce_detection", True) align = input_args.get("align", True) actions = input_args.get("actions", ["age", "gender", "emotion", "race"]) demographies = service.analyze( img_path=img_path, actions=actions, detector_backend=detector_backend, enforce_detection=enforce_detection, align=align, ) return demographies