Python实现识别图像中人物的示例代码

作者:剑客·阿良 时间:2023-11-10 01:59:19 

前言

接着上一篇: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实现识别图像中人物的示例代码

执行结果

Python实现识别图像中人物的示例代码

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

来源:https://www.cnblogs.com/jk-aliang/p/15796766.html

标签:Python,图像,人脸识别
0
投稿

猜你喜欢

  • 玩转MySQL中的外键约束之PHP篇

    2010-03-18 10:20:00
  • js数组的基本用法及数组根据下标(数值或字符)移除元素

    2024-04-10 10:40:26
  • 分享6个好用到爆的Pycharm插件

    2021-07-07 21:17:59
  • .Net行为型设计模式之迭代器模式(Iterator)

    2024-06-05 09:27:47
  • Filestream使用简单步骤总结

    2024-01-24 08:08:26
  • ASP错误大全

    2009-05-26 15:45:00
  • python实现大转盘抽奖效果

    2023-12-16 13:50:30
  • Go编写定时器与定时任务详解(附第三方库gocron用法)

    2024-05-09 09:40:19
  • 浅谈Python中数据解析

    2021-07-02 20:47:00
  • python 图片去噪的方法示例

    2021-12-10 19:42:25
  • 使用IronPython把Python脚本集成到.NET程序中的教程

    2023-08-05 04:52:14
  • 六个Python编程最受用的内置函数使用详解

    2022-06-12 22:26:01
  • Python中使用中文的方法

    2021-09-26 05:46:39
  • [翻译]标记语言和样式手册 Chapter 1 清单

    2008-01-15 10:26:00
  • bootstrap自定义样式之bootstrap实现侧边导航栏功能

    2023-09-06 20:41:36
  • django用户登录和注销的实现方法

    2021-01-17 13:55:40
  • python实现多进程通信实例分析

    2023-04-08 19:44:05
  • Go语言中的switch用法实例分析

    2024-04-23 09:39:06
  • Python的Django框架中消息通知的计数器实现教程

    2021-03-22 04:13:43
  • MySQL备份时排除指定数据库的方法

    2024-01-19 03:59:21
  • asp之家 网络编程 m.aspxhome.com