人脸
This commit is contained in:
		| @ -234,3 +234,36 @@ async def delete_face( | |||||||
|         raise Exception(f"删除人脸记录失败:{str(e)}") from e |         raise Exception(f"删除人脸记录失败:{str(e)}") from e | ||||||
|     finally: |     finally: | ||||||
|         db.close_connection(conn, cursor) |         db.close_connection(conn, cursor) | ||||||
|  |  | ||||||
|  |  | ||||||
|  | def get_all_face_name_with_eigenvalue() -> dict: | ||||||
|  |     """ | ||||||
|  |     获取所有人脸的名称及其对应的特征值,组成字典返回 | ||||||
|  |     key: 人脸名称(name) | ||||||
|  |     value: 人脸特征值(eigenvalue) | ||||||
|  |     注:过滤掉name为None的记录,避免字典key为None的情况 | ||||||
|  |     """ | ||||||
|  |     conn = None | ||||||
|  |     cursor = None | ||||||
|  |     try: | ||||||
|  |         conn = db.get_connection() | ||||||
|  |         cursor = conn.cursor(dictionary=True) | ||||||
|  |  | ||||||
|  |         # 只查询需要的字段,提高效率 | ||||||
|  |         query = "SELECT name, eigenvalue FROM face WHERE name IS NOT NULL" | ||||||
|  |         cursor.execute(query) | ||||||
|  |         faces = cursor.fetchall() | ||||||
|  |  | ||||||
|  |         # 构建name到eigenvalue的映射字典 | ||||||
|  |         face_dict = { | ||||||
|  |             face["name"]: face["eigenvalue"] | ||||||
|  |             for face in faces | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         return face_dict | ||||||
|  |  | ||||||
|  |     except MySQLError as e: | ||||||
|  |         raise Exception(f"获取人脸名称与特征值失败:{str(e)}") from e | ||||||
|  |     finally: | ||||||
|  |         # 确保资源释放 | ||||||
|  |         db.close_connection(conn, cursor) | ||||||
		Reference in New Issue
	
	Block a user
	 ZZX9599
					ZZX9599