0


Python实现人脸识别功能,face_recognition的使用 | 机器学习

前言

接着上一篇:AI识别照片是谁,人脸识别face_recognition开源项目安装使用 | 机器学习_阿良的博客-CSDN博客

根据项目提供的demo代码,调整了一下功能,自己写了一个识别人脸的工具代码。

环境部署

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

代码

不废话,直接上代码。

  1. #!/user/bin/env python
  2. # coding=utf-8
  3. """
  4. @project : face_recognition
  5. @author : 剑客阿良_ALiang
  6. @file : test.py
  7. @ide : PyCharm
  8. @time : 2022-01-11 19:50:58
  9. """
  10. import face_recognition
  11. known_faces = [[], []]
  12. def add_person(image_path: str, name: str):
  13. image = face_recognition.load_image_file(image_path)
  14. try:
  15. encoding = face_recognition.face_encodings(image)[0]
  16. known_faces[0].append(name)
  17. known_faces[1].append(encoding)
  18. except IndexError:
  19. print("I wasn't able to locate any faces in at least one of the images. Check the image files. Aborting...")
  20. def compare(new_image: str):
  21. new1 = face_recognition.load_image_file(new_image)
  22. unknown_face_encoding = face_recognition.face_encodings(new1)[0]
  23. results = face_recognition.compare_faces(known_faces[1], unknown_face_encoding,0.5)
  24. print(known_faces[0])
  25. print(results)
  26. name = ''
  27. for i in range(0, len(known_faces[0])):
  28. if results[i]:
  29. print(i)
  30. name = known_faces[0][i]
  31. break
  32. if name == '':
  33. return 'I do not who'
  34. else:
  35. return name
  36. if __name__ == '__main__':
  37. add_person('data/1.jpg', '杨幂')
  38. add_person('data/2.jpg', '迪丽热巴')
  39. add_person('data/3.jpg', '宋轶')
  40. add_person('data/4.jpg', '邓紫棋')
  41. print(compare('data/121.jpg'))
  42. print(compare('data/123.jpg'))

代码说明:

1、先将一些人脸录进去,指定人物名称,方法为add_person。

2、compare方法用来判断照片是谁。

先看一下我准备的照片。

看一下需要验证的照片

执行结果

可以看出已经识别出杨幂和邓紫棋了。

总结

还是要提醒一下,我多次测试了各类图片,识别还是有一定的误差率的。可以根据自己的情况调整代码。

分享:

  1. 这个世界上没有奇迹,有的只是偶然和必然,以及是谁在做些什么。一直期望着能出现奇迹的人们是不会发生奇迹,只有想要用自己的双手创造奇迹的人们,救赎之手才会伸向他们。
  2. ——《悠久之翼》

如果本文对你有帮助的话,点个赞吧,谢谢!


本文转载自: https://blog.csdn.net/zhiweihongyan1/article/details/122459383
版权归原作者 剑客阿良_ALiang 所有, 如有侵权,请联系我们删除。

“Python实现人脸识别功能,face_recognition的使用 | 机器学习”的评论:

还没有评论