Python实现人脸识别的详细图文教程
叨叨几句
哈喽兄弟们,今天实现一下人脸识别。
先问大家一个问题
什么是百度Aip模块?
百度AI平台提供了很多的API接口供开发者快速的调用运用在项目中
本文写的是使用百度AI的在线接口SDK模块(baidu-aip)进行实现人脸识别
除了人脸识别,其他api功能的调用也同理。
准备工作
本机环境
- 系统:win11
- Python版本:3.9.7
- 编辑器:VS2022
安装baidu-aip模块
win + R 输入cmd打开命令提示符
执行安装百度AI模块
pip install baidu-aip
登录百度AI平台创建应用
打开百度AI平台 进行登录
在控制台中找到人脸识别
按自己要求创建应用
最后得到应用的AppID API Key Secret Key
记下值 等等会用到
AppID:10000000 API Key:xxxxxxxxxxxxxxxxxxxxxxxx Secret Key:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
代码流程
导入baidu-aip模块
打开VS2022(VSCode PyCharm Sypder等同理)创建一个py文件
输入
from aip import AipFace
声明上文获取的AppID API Key Secret Key
APP_ID = '10000000' API_KEY = 'xxxxxxxxxxxxxxxxxxxxxxxx' SECRET_KEY = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
初始化百度AIP 人脸识别模块
client = AipFace(APP_ID, API_KEY, SECRET_KEY)
创建人脸检测函数
def face_detect(image): result = client.detect(image, image_type='BASE64') print(result) return result
输入的图片image必须是BASE64格式
将图片转为BASE64格式
导入base64包
import base64
将图片打开为 BASE64格式
但是导入到百度AI中需要为字符串格式,所以返回为字符串
def imageToBase64(imagePath): with open(imagePath, 'rb') as f: image = base64.b64encode(f.read()) return str(image, encoding='utf-8')
打开图片进行检测
先准备一张图片pic1.jpg
调用函数
face_detect(imageToBase64("pic1.jpg"))
提示调用成功:
遇到的问题
运行时候提示:
requests.exceptions.ProxyError: HTTPSConnectionPool(host='aip.baidubce.com', port=443)
win + R 输入 regedit打开注册表,找到
\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
把ProxyEnable的值改为0
再运行即可
延伸出使用其他功能
除了人脸检测还可以使用人脸比、人脸搜索对等函数,调用方法同理,比如人脸比对。
def face_match(image1, image2): result = client.match([ { 'image': image1, 'image_type': 'BASE64', }, { 'image': image2, 'image_type': 'BASE64', } ]) print(result) return result
人脸搜索
def face_search(image,group_id_list): result = client.search(image, image_type='BASE64',group_id_list=group_id_list) print(result) return result
APP_ID API_KEY SECRET_KEY 需要修改为自己的
总结
到此这篇关于Python实现人脸识别的文章就介绍到这了,更多相关Python人脸识别内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
解决Django transaction进行事务管理踩过的坑
这篇文章主要介绍了解决Django transaction进行事务管理踩过的坑,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2021-04-04Python ChineseCalendar包主要类和方法详解
ChineseCalendar 是一个 Python 包,用于获取中国传统日历信息。这个包提供了中国农历、二十四节气、传统节日、黄历等信息,这篇文章主要介绍了Python ChineseCalendar包简介,需要的朋友可以参考下2023-03-03python Sweetviz探索性数据可视化分析库使用特征详解
这篇文章主要为大家介绍了python Sweetviz探索性数据可视化分析库特征使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2024-01-01
最新评论