首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将面部识别数据传递给另一个python脚本

将面部识别数据传递给另一个python脚本
EN

Stack Overflow用户
提问于 2019-08-09 11:41:32
回答 1查看 45关注 0票数 0

我将开始一个python项目,我正在使用pyttsx制作一个语音助手,我认为将面部识别集成到助手中将是一个很酷的功能。我只是想问一下,如果我制作了一个用于人脸识别(opencv)的python脚本,我可以将结果传递给语音助手,这样它就可以大声地拼写出来吗?感谢您的帮助。

EN

回答 1

Stack Overflow用户

发布于 2019-10-16 05:56:54

1)安装face_recognition

代码语言:javascript
运行
复制
pip install face_recognition

2)使用cv2 imread加载面。

代码语言:javascript
运行
复制
import cv2  

#faces that look like obama
obama_face1 = cv2.imread("obama_1.png")  
obama_face2 = cv2.imread("obama_2.png")  

#faces that look like trump
trump_face = cv2.imread("trump.png")  

3)创建人脸编码。人脸识别将为一张脸创建一个称为face encoding的东西。

代码语言:javascript
运行
复制
import facial_recognition  

obama_vector1 = face_recognition.face_encodings(obama_face1)[0]
obama_vector2 = face_recognition.face_encodings(obama_face2)[0]

trump_vector1 = face_recognition.face_encodings(trump_face)[0]

4)建立相似度函数。相似性函数告诉我们两个人脸编码是否相似。

代码语言:javascript
运行
复制
import scipy.spatial.distance
def cosine_similarity(u:np.array,b:np.array) -> np.float:
    return scipy.spatial.distance.cosine(u,b)  

5)运行人脸之间的相似度函数

代码语言:javascript
运行
复制
trump_X_obama1  = cosine_similarity(obama_vector1, trump_vector)  
trump_X_obama2  = cosine_similarity(obama_vector2, trump_vector)  
obama1_X_obama2 = cosine_similarity(obama_vector1, obama_vector2)  

6)当你在两个编码上运行cosine_similarity时,如果数字很小,那么这两个编码是相似的。如果数字很大,它们就不太相似。

代码语言:javascript
运行
复制
print("Obama1 is more like Obama2 than it is Trump", obama1_X_obama2 < trump_X_obama1)  

7)创造一些能识别你的东西。保存大量您自己的编码。也可以尝试对其他人脸进行编码。确定什么是足够好的相似性。编码是您确定您是否相似所需的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57423207

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档