news 2026/4/18 9:19:42

face_recognition`这个Python库,它是基于dlib实现的人脸检测/识别工具

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
face_recognition`这个Python库,它是基于dlib实现的人脸检测/识别工具

你现在关注的是face_recognition这个Python库,它是基于dlib实现的人脸检测/识别工具,上手简单且功能实用。结合你之前安装dlib的背景,我会帮你把face_recognition的安装、核心用法和注意事项讲清楚,确保你能快速用起来。

一、先完成face_recognition的正确安装

前提:必须先装好dlib

如果还没装dlib,先执行这一步(适配你的Python3.11+64位Windows):

# 下载并安装匹配的dlib预编译包(先切换到下载目录,比如桌面)cdC:\Users\admin\Desktop pipinstalldlib-19.25.0-cp311-cp311-win_amd64.whl
安装face_recognition(拼写必须正确)
# 基础安装(推荐用清华镜像源,速度更快)pipinstallface_recognition -i https://pypi.tuna.tsinghua.edu.cn/simple
验证安装成功

执行以下命令,无报错则说明安装完成:

python -c"import face_recognition; print('face_recognition安装成功')"

二、face_recognition的核心用法(新手友好)

这个库的核心功能包括:人脸检测、人脸特征提取、人脸比对/识别,下面是极简示例,你可以直接复制运行。

示例1:人脸检测(识别图片中的人脸位置)
importface_recognitionimportcv2# 需提前安装:pip install opencv-python# 加载图片(替换为你的图片路径,比如桌面的test.jpg)image=face_recognition.load_image_file("C:\\Users\\admin\\Desktop\\test.jpg")# 检测人脸位置(返回每个脸的上下左右坐标)face_locations=face_recognition.face_locations(image)print(f"检测到{len(face_locations)}个人脸")forface_locationinface_locations:top,right,bottom,left=face_locationprint(f"人脸位置:上边{top},右边{right},下边{bottom},左边{left}")# 用OpenCV画出人脸框(可选,可视化结果)cv2_image=cv2.cvtColor(image,cv2.COLOR_RGB2BGR)cv2.rectangle(cv2_image,(left,top),(right,bottom),(0,255,0),2)cv2.imshow("Face Detection",cv2_image)cv2.waitKey(0)cv2.destroyAllWindows()
示例2:人脸比对(判断两张图片是否是同一个人)
importface_recognition# 加载参考人脸图片和待比对图片known_image=face_recognition.load_image_file("C:\\Users\\admin\\Desktop\\known.jpg")# 已知人脸unknown_image=face_recognition.load_image_file("C:\\Users\\admin\\Desktop\\unknown.jpg")# 待比对人脸# 提取人脸特征编码(每个脸生成128维特征向量)known_encoding=face_recognition.face_encodings(known_image)[0]unknown_encoding=face_recognition.face_encodings(unknown_image)[0]# 比对特征(返回True/False)results=face_recognition.compare_faces([known_encoding],unknown_encoding)ifresults[0]:print("是同一个人!")else:print("不是同一个人!")

三、常见问题&注意事项

  1. 图片路径问题:Windows路径要用\\或原始字符串r"路径",比如r"C:\Users\admin\Desktop\test.jpg",避免转义符报错;
  2. 无人脸报错:如果图片中没人脸,face_encodings会返回空列表,访问[0]会报错,可加判断:
    encodings=face_recognition.face_encodings(image)iflen(encodings)==0:print("未检测到人脸")else:encoding=encodings[0]
  3. 性能问题:默认用CPU运行,处理大量图片时速度较慢,该库暂不支持普通GPU加速;
  4. 依赖版本face_recognition对dlib版本兼容较好,只要是19.18以上版本都能正常使用。

总结

  1. face_recognition的核心是依赖dlib实现人脸特征提取,安装前必须确保dlib适配你的Python3.11环境;
  2. 安装时务必注意拼写(face_recognition),推荐用国内镜像源加速;
  3. 核心用法分人脸检测(face_locations)和人脸比对(face_encodings+compare_faces),新手可先从简单示例入手。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/10 10:03:17

云南内连四省外踏三国,它的位置有多重要?

我国云南就像一个位于十字路口的“超级枢纽”。 在国内,它与西藏、四川、贵州、广西四省区手牵手相连;在国外,它更像是把脚伸向了缅甸、老挝和越南三国。 这种独一无二的内外连通性,让云南的战略地位脱颖而出。 独特的地理位置…

作者头像 李华
网站建设 2026/4/18 5:35:39

在以往工作中遇到的不同 kubernetes 问题总结

前言 本文基于对 Hidden Kubernetes Bad Practices Learned the Hard Way During Incidents 的阅读后,在尊重原文内容的基础上进行了本地化翻译与整理,在语义表达上相较于机翻,更加贴近中文母语者的阅读习惯,提升整体的可读性与理…

作者头像 李华
网站建设 2026/4/15 8:17:37

对声音数字化的一些问题

一、声音转模拟的电信号 一般是麦克风和三极管放大电路组成。 麦克风一般是线圈感应类型或者电容类型。 二、模拟电信号转数字信号 需要模拟转数字信号。 需要一些电压比较器,当模拟电压达到某个电压,就导通输出数字电平。 三、过滤噪音的思路 1、声音数…

作者头像 李华
网站建设 2026/4/18 8:30:40

摄影爱好者必备:afilmory 个人摄影网站服务器搭搭建教程

如果你是摄影爱好者,不管是风光、人像、街拍还是纪实,大概率都会遇到这些情况: 📷 拍了很多照片,却长期躺在硬盘里 😵 社交平台压缩严重,画质失真 🧠 想系统性展示作品,却不知道怎么搭网站 💻 用现成建站平台,风格和控制力都有限 🔒 希望作品只属于自己,不被…

作者头像 李华
网站建设 2026/4/18 8:34:56

技术小白也能用的 Homebrew:WailBrew 服务器部署教程

如果你是 macOS 用户,大概率听说过 Homebrew,但也一定遇到过这些情况: 😵 安装软件要敲一长串命令 🧠 不知道装过什么、删没删干净 💻 看到终端就犯怵 🔁 换电脑后,环境要从头来 📦 只是想装个工具,却感觉像在“学运维” 后来我接触到 WailBrew 这种专门给技术…

作者头像 李华
网站建设 2026/4/18 8:01:41

【学术干货免费领】学术会议海报 | 学术会议必备 | 科研展示 | 科研海报 | 国际学术海报 | 会议参会 | 科研成果展示 | 海报展示 | 90+学术Poster模板0元打包下载,速领!

一句话:只要你的研究需要“被看见”,模板就能让你“被看懂、被记住、被引用”。硕博研究生开题/中期/毕业答辩、学术年会、国内外会议 Poster Session30 min 出图,导师秒过,奖学金加分青年教师/博士后职称评审、基金前期成果墙、校…

作者头像 李华