diff --git a/src/face_recognition_algorithm.py b/src/face_recognition_algorithm.py index 0d69fce..c9e63c0 100644 --- a/src/face_recognition_algorithm.py +++ b/src/face_recognition_algorithm.py @@ -111,6 +111,29 @@ class FaceRecognitionAlgorithm: self.det_size = size print(f"✅ 检测尺寸设置为: {size}") + def set_registered_faces(self, registered_faces: Dict[str, np.ndarray]): + """ + 直接设置已注册的人脸数据 + 参数: registered_faces - 字典格式 {name: embedding} + """ + if not isinstance(registered_faces, dict): + print("❌ 参数必须是字典格式 {name: embedding}") + return False + + # 验证数据格式 + valid_count = 0 + for name, embedding in registered_faces.items(): + if isinstance(embedding, np.ndarray) and embedding.size > 0: + valid_count += 1 + + if valid_count == 0: + print("❌ 未找到有效的人脸嵌入数据") + return False + + self.registered_faces = registered_faces + print(f"✅ 成功设置 {valid_count} 个注册人脸") + return True + def load_registered_faces(self, register_dir: str): """ 从目录加载注册的人脸图片