将单个面部位置四元组转换为包含在该四元组定义的矩形内的图像区域
Posted
技术标签:
【中文标题】将单个面部位置四元组转换为包含在该四元组定义的矩形内的图像区域【英文标题】:Convert an individual face location quadruple to to the area of image contained within the rectangle defined by that quadruple 【发布时间】:2019-03-12 21:12:21 【问题描述】:这个问题是关于 python3 face_recognition 模块的。
对于直播视频中的frame
,我有
face_locs = face_recognition.face_locations(frame)
我现在想要的是,对于 face_locs
中的每个 face
,将 face
从 CSS 样式的四元组(上、右、下、左)转换为框架区域(作为图像)以该四元组定义的矩形为界。
(相关部分)我的代码如下:
for face in face_locs:
# TODO: convert face to a comparable image first
res = face_recognition.compare_faces(face_encs_in_DB, face)
在上面的代码中,我不能做的事情用 TODO 表示。
在我看来(我可能错了),我应该编写一个函数fix_face()
,它接受face
,并且np_arr
是face
对应的numpy
数组,该函数应该返回@987654332 @。
请帮帮我。
【问题讨论】:
【参考方案1】:在检查了几个小时后,我刚刚找到了解决问题的方法。不知道我是否应该将此作为答案发布;如果我这样做是错误的,请警告我,以便我可以将其降级为评论。我发布它是为了如果其他人遇到同样的问题,他们可以得到这个解决方案。
而不是
face_locs = face_recognition.face_locations(frame)
,
写
curr_face_encs = face_recognition.face_encodings(frame)
.
那么,
for face in curr_face_encs:
res = face_recognition.compare_faces(face_encs_in_DB, face)
有效。
【讨论】:
以上是关于将单个面部位置四元组转换为包含在该四元组定义的矩形内的图像区域的主要内容,如果未能解决你的问题,请参考以下文章