Python实现识别图像中人物的示例代码
短信预约 -IT技能 免费直播动态提醒
前言
接着上一篇:AI识别照片是谁,人脸识别face_recognition开源项目安装使用
根据项目提供的demo代码,调整了一下功能,自己写了一个识别人脸的工具代码。
环境部署
按照上一篇的安装部署就可以了。
代码
不废话,直接上代码。
#!/user/bin/env python
# coding=utf-8
"""
@project : face_recognition
@author : 剑客阿良_ALiang
@file : test.py
@ide : PyCharm
@time : 2022-01-11 19:50:58
"""
import face_recognition
known_faces = [[], []]
def add_person(image_path: str, name: str):
image = face_recognition.load_image_file(image_path)
try:
encoding = face_recognition.face_encodings(image)[0]
known_faces[0].append(name)
known_faces[1].append(encoding)
except IndexError:
print("I wasn't able to locate any faces in at least one of the images. Check the image files. Aborting...")
def compare(new_image: str):
new1 = face_recognition.load_image_file(new_image)
unknown_face_encoding = face_recognition.face_encodings(new1)[0]
results = face_recognition.compare_faces(known_faces[1], unknown_face_encoding,0.5)
print(known_faces[0])
print(results)
name = ''
for i in range(0, len(known_faces[0])):
if results[i]:
print(i)
name = known_faces[0][i]
break
if name == '':
return 'I do not who'
else:
return name
if __name__ == '__main__':
add_person('data/1.jpg', '杨幂')
add_person('data/2.jpg', '迪丽热巴')
add_person('data/3.jpg', '宋轶')
add_person('data/4.jpg', '邓紫棋')
print(compare('data/121.jpg'))
print(compare('data/123.jpg'))
代码说明:
1、先将一些人脸录进去,指定人物名称,方法为add_person。
2、compare方法用来判断照片是谁。
先看一下我准备的照片。
看一下需要验证的照片
执行结果
可以看出已经识别出杨幂和邓紫棋了。
总结
还是要提醒一下,我多次测试了各类图片,识别还是有一定的误差率的。可以根据自己的情况调整代码。
到此这篇关于Python实现识别图像中人物的示例代码的文章就介绍到这了,更多相关Python识别图像中人物内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341