# pyface
**Repository Path**: cyrxdzj/pyface
## Basic Information
- **Project Name**: pyface
- **Description**: python的人脸识别库
- **Primary Language**: Python
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 5
- **Forks**: 0
- **Created**: 2020-03-23
- **Last Updated**: 2025-08-22
## Categories & Tags
**Categories**: cv
**Tags**: None
## README
本软件正在开发。
感谢github的开发人员ageitgey提供的模块face_recognition,[网址:https://github.com/ageitgey/face_recognition](https://github.com/ageitgey/face_recognition)
[](https://gitee.com/cyrxdzj)
# 1,简介
pyface是一个关于人脸识别的模块,支持:两张人脸是否匹配、获取图片中人脸的位置。
可能只支持python3.5以上版本。
# 2,安装
**2-1,程序**
把pyface文件夹放在脚本同一目录下。
**2-2,依赖**
依赖:pillow(PIL),numpy
鉴于dlib安装时间较长,在代码中已经提供了。
# 3,文件目录结构
pyface 根目录
╲__init__.py
╲face_recognition face_recognition模块
╲dlib-19.19.0.egg-info 这个是dlib模块。鉴于安装耗时太长,我自己提供了。
╲face_recognition_models face_recognition的依赖模块
╲models 训练好的模型
╲...
╲__init__.py
╲...
╲__init__.py
╲api.py
╲face_recognition_cli.py
╲face_detection_cli.py
╲...
# 4,使用
**4-1,普通函数**
- bounding_box(pic_path)
简介:返回图片中人脸的位置。
参数:
pic_path:图片路径
返回:一个列表,列表之中还有列表,这个列表中的列表有4个元素,分别是人脸左上角x,人脸左上角y,人脸右下角x,人脸右下角y。根列表长度不定,一个元素代表一张人脸。
- compare(pic1_path,pic2_path,tolerance=0.6)
简介:人脸是否匹配
参数:
tolerance:阈值,可选参数,默认0.6
返回:一个列表。list[0]:布尔值,是否匹配。list[1]:第一张脸的位置(列表),参见bounding_box函数的返回值。list[2]:第二张脸的位置。
注意:
1,选择最大的脸进行匹配。
2,如果某一图像没有人脸,抛出PyfaceError异常("No face was found in the first/second picture.")。
- maxbounding(pic_boundings)
简介:最大的人脸
参数:
pic_boundings:人脸列表,最好由bounding_box函数生成。
返回:
输入的列表的某一元素
**4-2,类与对象**
类名:Pyface
简介:为了速度而推出的功能。
- \_\_init\_\_(pic_path)
简介:载入一个图像。初始化函数。
参数:
pic_path:人脸图片路径
注意:
如果没有检测到人脸,抛出PyfaceError异常。
- compare(pic_path,tolerance=0.6)
简介:与对象中已有的图片进行比对。
参数:
pic_path:人脸图片路径
tolerance:阈值
返回:一个列表。list[0]:布尔值,是否匹配。list[1]:这一张图片中脸的位置(被选中的)。
注意:你(méi)应(jiǎn)该(cè)懂(dào)的(jiù)规(bào)则(cuò)。
另外,如果想获取第一张人脸的位置,请获取:对象.xy属性。
# 5,备注
顺便说一下,因为技术原因,没有写setup.py,哪位大佬能写出来,我必将感激不尽!