Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| import cv2 | |
| import numpy as np | |
| import os | |
| from modules import face_analyser, globals | |
| def detect_faces(image): | |
| if image is None: | |
| return None | |
| # Convert from PIL to OpenCV (RGB β BGR) | |
| cv2_img = cv2.cvtColor(np.array(image), cv2.COLOR_RGB2BGR) | |
| # Save temporary image file | |
| temp_path = "input.jpg" | |
| cv2.imwrite(temp_path, cv2_img) | |
| globals.target_path = temp_path | |
| # Reset mapping before each run | |
| globals.source_target_map = [] | |
| try: | |
| face_analyser.get_unique_faces_from_target_image() | |
| except Exception as e: | |
| return f"Face detection error: {e}" | |
| # Return first cropped face (if available) | |
| if globals.source_target_map and "target" in globals.source_target_map[0]: | |
| crop = globals.source_target_map[0]["target"]["cv2"] | |
| return cv2.cvtColor(crop, cv2.COLOR_BGR2RGB) | |
| return "No faces found." | |
| demo = gr.Interface( | |
| fn=detect_faces, | |
| inputs=gr.Image(type="pil", label="Upload your image"), | |
| outputs="image", | |
| title="π¦ OwlCamPro β Face Detection Preview", | |
| description="Upload an image to detect and extract the most prominent face. Powered by InsightFace and Deep-Live-Cam 2.0." | |
| ) | |
| if __name__ == "__main__": | |
| demo.launch() | |