千家信息网

如何使用Python实现识别图像中人物

发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,小编给大家分享一下如何使用Python实现识别图像中人物,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!环境部署按照上一篇的
千家信息网最后更新 2025年01月19日如何使用Python实现识别图像中人物

小编给大家分享一下如何使用Python实现识别图像中人物,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

环境部署

按照上一篇的安装部署就可以了。

代码

不废话,直接上代码。

#!/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_recognitionknown_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 nameif __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实现识别图像中人物"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

0