From b5f8ee61a7f7e9bd291dd26b0585d03eb686c941 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 5 May 2024 13:19:16 +0200 Subject: Adding upstream version 1.46.3. Signed-off-by: Daniel Baumann --- ml/dlib/python_examples/face_alignment.py | 91 ------------------------------- 1 file changed, 91 deletions(-) delete mode 100755 ml/dlib/python_examples/face_alignment.py (limited to 'ml/dlib/python_examples/face_alignment.py') diff --git a/ml/dlib/python_examples/face_alignment.py b/ml/dlib/python_examples/face_alignment.py deleted file mode 100755 index 53df7a3e1..000000000 --- a/ml/dlib/python_examples/face_alignment.py +++ /dev/null @@ -1,91 +0,0 @@ -#!/usr/bin/python -# The contents of this file are in the public domain. See LICENSE_FOR_EXAMPLE_PROGRAMS.txt -# -# This example shows how to use dlib's face recognition tool for image alignment. -# -# COMPILING/INSTALLING THE DLIB PYTHON INTERFACE -# You can install dlib using the command: -# pip install dlib -# -# Alternatively, if you want to compile dlib yourself then go into the dlib -# root folder and run: -# python setup.py install -# or -# python setup.py install --yes USE_AVX_INSTRUCTIONS -# if you have a CPU that supports AVX instructions, since this makes some -# things run faster. This code will also use CUDA if you have CUDA and cuDNN -# installed. -# -# Compiling dlib should work on any operating system so long as you have -# CMake installed. On Ubuntu, this can be done easily by running the -# command: -# sudo apt-get install cmake -# -# Also note that this example requires OpenCV and Numpy which can be installed -# via the command: -# pip install opencv-python numpy -# Or downloaded from http://opencv.org/releases.html - -import sys - -import dlib -import cv2 -import numpy as np - -if len(sys.argv) != 3: - print( - "Call this program like this:\n" - " ./face_alignment.py shape_predictor_5_face_landmarks.dat ../examples/faces/bald_guys.jpg\n" - "You can download a trained facial shape predictor from:\n" - " http://dlib.net/files/shape_predictor_5_face_landmarks.dat.bz2\n") - exit() - -predictor_path = sys.argv[1] -face_file_path = sys.argv[2] - -# Load all the models we need: a detector to find the faces, a shape predictor -# to find face landmarks so we can precisely localize the face -detector = dlib.get_frontal_face_detector() -sp = dlib.shape_predictor(predictor_path) - -# Load the image using OpenCV -bgr_img = cv2.imread(face_file_path) -if bgr_img is None: - print("Sorry, we could not load '{}' as an image".format(face_file_path)) - exit() - -# Convert to RGB since dlib uses RGB images -img = cv2.cvtColor(bgr_img, cv2.COLOR_BGR2RGB) - -# Ask the detector to find the bounding boxes of each face. The 1 in the -# second argument indicates that we should upsample the image 1 time. This -# will make everything bigger and allow us to detect more faces. -dets = detector(img, 1) - -num_faces = len(dets) -if num_faces == 0: - print("Sorry, there were no faces found in '{}'".format(face_file_path)) - exit() - -# Find the 5 face landmarks we need to do the alignment. -faces = dlib.full_object_detections() -for detection in dets: - faces.append(sp(img, detection)) - -# Get the aligned face images -# Optionally: -# images = dlib.get_face_chips(img, faces, size=160, padding=0.25) -images = dlib.get_face_chips(img, faces, size=320) -for image in images: - cv_bgr_img = cv2.cvtColor(image, cv2.COLOR_RGB2BGR) - cv2.imshow('image',cv_bgr_img) - cv2.waitKey(0) - -# It is also possible to get a single chip -image = dlib.get_face_chip(img, faces[0]) -cv_bgr_img = cv2.cvtColor(image, cv2.COLOR_RGB2BGR) -cv2.imshow('image',cv_bgr_img) -cv2.waitKey(0) - -cv2.destroyAllWindows() - -- cgit v1.2.3