rakibulinux's picture
Update UI
add9725
Raw
History Blame Contribute Delete
1.26 kB
import os
import requests
import cv2
import numpy as np
API_URL = os.environ.get(
"LIVENESS_API_URL",
"http://127.0.0.1:8092/api/check_liveness"
)
def _load_image(image):
if image is None:
return None
if isinstance(image, str):
img = cv2.imread(image)
if img is None:
return None
return img
return image
def check_liveness(image) -> dict:
img = _load_image(image)
if img is None:
return {"error": "No image provided"}
success, img_encoded = cv2.imencode('.jpg', img, [cv2.IMWRITE_JPEG_QUALITY, 95])
if not success:
return {"error": "Failed to encode image"}
try:
response = requests.post(
API_URL,
files={"image": ("image.jpg", img_encoded.tobytes(), "image/jpeg")},
timeout=30
)
response.raise_for_status()
return response.json()
except requests.exceptions.ConnectionError:
return {"error": "Cannot connect to liveness detection server. Make sure the SDK server is running."}
except requests.exceptions.Timeout:
return {"error": "Request timed out"}
except requests.exceptions.RequestException as e:
return {"error": f"API request failed: {str(e)}"}