Python实现人脸识别

打印 上一主题 下一主题

主题 917|帖子 917|积分 2751

哈喽兄弟们,今天实现一下人脸识别。
先问大家一个问题
什么是百度Aip模块?
百度AI平台提供了很多的API接口供开发者快速的调用运用在项目中
本文写的是使用百度AI的在线接口SDK模块(baidu-aip)进行实现人脸识别
除了人脸识别,其他api功能的调用也同理。
准备工作

本机环境
系统:win11
Python版本:3.9.7
编辑器:VS2022
安装baidu-aip模块
win + R 输入cmd打开命令提示符

执行安装百度AI模块
  1. pip install baidu-aip
  2. # 完整代码 文末获取
复制代码
 

登录百度AI平台创建应用
打开百度AI平台 进行登录
在控制台中找到人脸识别

按自己要求创建应用

最后得到应用的AppID API Key Secret Key

记下值 等等会用到
  1. AppID:10000000
  2. API Key:xxxxxxxxxxxxxxxxxxxxxxxx
  3. Secret Key:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
复制代码
 
代码流程

导入baidu-aip模块
打开VS2022(VSCode PyCharm Sypder等同理)创建一个py文件
输入
  1. from aip import AipFace
复制代码
 
声明上文获取的AppID API Key Secret Key
  1. APP_ID = '10000000'
  2. API_KEY = 'xxxxxxxxxxxxxxxxxxxxxxxx'
  3. SECRET_KEY = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
复制代码
 
初始化百度AIP 人脸识别模块
  1. client = AipFace(APP_ID, API_KEY, SECRET_KEY)
复制代码
 
创建人脸检测函数
  1. def face_detect(image):
  2.     result = client.detect(image, image_type='BASE64')
  3.     print(result)
  4.     return result
复制代码
 
输入的图片image必须是BASE64格式
将图片转为BASE64格式
导入base64包
  1. import base64
复制代码
 
将图片打开为 BASE64格式
但是导入到百度AI中需要为字符串格式,所以返回为字符串
  1. def imageToBase64(imagePath):
  2.     with open(imagePath, 'rb') as f:
  3.         image = base64.b64encode(f.read())
  4.         return str(image, encoding='utf-8')
复制代码
 
打开图片进行检测
先准备一张图片pic1.jpg

调用函数
  1. face_detect(imageToBase64("pic1.jpg"))
复制代码
 
提示调用成功:

遇到的问题
运行时候提示:
  1. requests.exceptions.ProxyError: HTTPSConnectionPool(host='aip.baidubce.com', port=443)
复制代码
 
win + R 输入 regedit打开注册表,找到
  1. \HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
复制代码
 

把ProxyEnable的值改为0

再运行即可
延伸出使用其他功能
除了人脸检测还可以使用人脸比、人脸搜索对等函数,调用方法同理,比如人脸比对。
  1. def face_match(image1, image2):
  2.     result = client.match([
  3.     {
  4.         'image': image1,
  5.         'image_type': 'BASE64',
  6.     },
  7.     {
  8.         'image': image2,
  9.         'image_type': 'BASE64',
  10.     }
  11.    ])
  12.     print(result)
  13.     return result
复制代码
 
人脸搜索
  1. def face_search(image,group_id_list):
  2.     result = client.search(image, image_type='BASE64',group_id_list=group_id_list)
  3.     print(result)
  4.     return result
  5. #完整代码都在这个群啦 279199867
复制代码
 
APP_ID API_KEY SECRET_KEY 需要修改为自己的
今天的分享就到这里结束了,完整代码点  我  获取.
推荐一套Python教程,涵盖了常见的一百多个实战案例,每一个都非常详细。
代码总是学完就忘记?100个爬虫实战项目!让你沉迷学习丨学以致用丨下一个Python大神就是你!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

北冰洋以北

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表