人脸
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