From 538f59af6daa7fa9410553460ad2b084d5d8f37e Mon Sep 17 00:00:00 2001 From: "Antonio J. Delgado" Date: Mon, 6 Sep 2021 16:14:22 +0300 Subject: [PATCH] Add catch for no image --- image_classifier/image_classifier.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/image_classifier/image_classifier.py b/image_classifier/image_classifier.py index 8c3d120..6f404f0 100755 --- a/image_classifier/image_classifier.py +++ b/image_classifier/image_classifier.py @@ -79,7 +79,7 @@ class image_classifier: with os.scandir(self.faces_directory) as faces_items: for entry in faces_items: if not entry.name.startswith('.') and entry.is_file(): - self._log.debug(f"Detecting people in known faces '{entry.name}'...") + self._log.debug(f"Detecting known person in file '{entry.name}'...") person = dict() person['filename'] = face_recognition.load_image_file(self.faces_directory + os.sep + entry.name) person['name'] = os.path.splitext(self.faces_directory + os.sep + entry.name)[0] @@ -89,12 +89,15 @@ class image_classifier: def find_faces(self, file): ''' Find faces in an image/video file ''' - image = face_recognition.load_image_file(file) - encodings = face_recognition.face_encodings(image) names = list() - for known_person in self.known_people: - if known_person['encoding'] in encodings: - names.append(known_person['name']) + try: + image = face_recognition.load_image_file(file) + encodings = face_recognition.face_encodings(image) + for known_person in self.known_people: + if known_person['encoding'] in encodings: + names.append(known_person['name']) + except PIL.UnidentifiedImageError as error: + self._log.debug(f"File '{file}' don't seem to be an image.") return names def _init_log(self):