Source code for dronebuddylib.atoms.facerecognition.face_recognition_engine

from dronebuddylib.atoms.facerecognition.face_recognition_impl import FaceRecognitionImpl
from dronebuddylib.models.engine_configurations import EngineConfigurations
from dronebuddylib.models.enums import FaceRecognitionAlgorithm


[docs] class FaceRecognitionEngine: """ The FaceRecognitionEngine class handles face recognition operations. """ def __init__(self, algorithm: FaceRecognitionAlgorithm, config: EngineConfigurations): """ Initialize the FaceRecognitionEngine class. Args: algorithm (FaceRecognitionAlgorithm): The algorithm to be used for face recognition. config (EngineConfigurations): The configurations for the engine. """ self.face_recognition_model = algorithm if algorithm == FaceRecognitionAlgorithm.FACE_RECC: self.face_recognition_engine = FaceRecognitionImpl(config) else: # Optionally handle other algorithms if you have any. raise ValueError("Unsupported face recognition algorithm")
[docs] def recognize_face(self, image): """ Recognize faces in an image. Args: image: The image containing faces to be recognized. Returns: A list of recognized faces. """ return self.face_recognition_engine.recognize_face(image)
[docs] def remember_face(self, image, name): """ Remember a face by associating it with a name. Args: image: The image containing the face. name (str): The name to be associated with the face. Returns: True if the operation was successful, False otherwise. """ return self.face_recognition_engine.remember_face(image, name)