--- title: Try emoji: 🔥 colorFrom: pink colorTo: gray sdk: gradio sdk_version: 4.14.0 app_file: app.py pinned: false license: artistic-2.0 --- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference --- --- title: Try emoji: 🔥 colorFrom: pink colorTo: gray sdk: gradio sdk_version: 4.14.0 app_file: app.py pinned: false license: artistic-2.0 --- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference # Christmas # Image Processor ## Overview The `ImageProcessor` class is designed to overlay graphical gadgets on detected faces in an image. Using a facial detection model, it identifies faces and relevant keypoints (like the nose) and overlays pre-defined gadgets (like hats or other accessories) at appropriate positions on the face. We are using a pretrain model for the face detection : https://github.com/google/mediapipe/blob/master/docs/solutions/face_detection.md ## Dependencies - Python 3.x - OpenCV (`cv2`) - NumPy - MediaPipe To install these dependencies, run: ```bash pip install numpy opencv-python mediapipe ``` ## Setup Ensure all dependencies are installed. Place the ImageProcessor script in your project directory. Download the gadgets folder. You can add your own. Please make sure you adapt the code if you are doing so. The code is not super robust yet. ```bash from prototype import ImageProcessor import cv2 import mediapipe # Load your image image = cv2.imread('/path/to/your/image.jpg') # Specify the folder containing your gadgets folder_path = 'gadgets/' model = mediapipe.solutions.face_detection.FaceDetection(model_selection=1, min_detection_confidence=0.8) # Create an instance of the ImageProcessor processor = ImageProcessor(image, folder_path, model) processor.detect_and_overlay(write = True, output = "my_edited_image") ```