示例#1
0
 def test_detect_face_landmarks(self):
     msg = "Incorrect number of face landmarks found."
     kwargs = {"save_landmarks":True, "verbose":True, "max_faces":10}
     images = facer.load_images(self.root, verbose=False)
     landmarks, faces = facer.detect_face_landmarks(images, **kwargs)
     expected = 6 * [[]] # List of length 3 (kludge)
     self.assertTrue(len(landmarks) == len(expected), msg)
from facer import facer
import matplotlib.pyplot as plt

# Load face images
path_to_images = "./face_images"
images = facer.load_images(path_to_images)

# Detect landmarks for each face
landmarks, faces = facer.detect_face_landmarks(images)

# Use  the detected landmarks to create an average face
average_face = facer.create_average_face(faces, landmarks, save_image=True)

# View the composite image
plt.imshow(average_face)
示例#3
0
 def test_load_images(self):
     msg = "Incorrect number of images loaded."
     kwargs = {"verbose":True}
     images = facer.load_images(self.root, **kwargs)
     expected = 5 * [[]] # List of length 4 (kludge)
     self.assertTrue(len(images.keys()) == len(expected), msg)
示例#4
0
# https://janakiev.com/til/python-background/

args = sys.argv
if len(args) != 2:
    print()
    print("Wrong number of command-line arguments")
    print("Usage: $python detectAndAverageFaces.py path-to-image-dir")
    print()
    exit()

t_start = time.time()
path_to_images = sys.argv[1]
print(f"PATH TO PROCESS:\n\t{path_to_images}")

# Load the images
images = facer.load_images(path_to_images, verbose=True)
# n = 15
# images = {key:val for key, val in zip(list(images.keys())[:n], list(images.values())[:n])}

# Detect landmarks for each face
t0 = time.time()
landmarks, faces = facer.detect_face_landmarks(images, verbose=True)
elapsed = (time.time() - t0) / 60
print(f"Detecting landmarks took {elapsed:.2f} minutes.")

# Average the faces together
t0 = time.time()
fn = f"average_face_{path_to_images.strip('/').rsplit('/', 1)[-1]}.jpg"
facer.create_average_face(faces,
                          landmarks,
                          output_file=fn,