Python调用API接口实现人脸识别
作者:蚂蚁爱Python 发布时间:2022-09-10 22:42:20
在开始之前,先问问大家:
什么是百度Aip模块?
百度AI平台提供了很多的API接口供开发者快速的调用运用在项目中
本文写的是使用百度AI的**在线接口SDK模块(baidu-aip)**进行实现人脸识别除了人脸识别,其他api功能的调用也同理。
准备工作
本机环境
系统:win11
Python版本:3.9.7
编辑器:VS2022
安 * aidu-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 需要修改为自己的
来源:https://blog.csdn.net/xff123456_/article/details/128972365
猜你喜欢
- 如今,互联网越来越走近我们的生活,网上冲浪也渐渐成为我们生活不可缺少的一部分。网络世界五彩缤纷,涌现出大量优秀精美的网页。大量网络信息的呈现
- 来自某个nb招聘的题目:请给Array本地对象增加一个原型方法,它的用途是删除数组条目中重复的条目(可能有多个),返回值是一个包含被删除的重
- 从MySQL 5.0.2开始,通过mysql_stmt_attr_set() C API函数实现了服务器端光标。服务器端光标允许在服务器端生
- SELECT表名=case when a.colorder=1 then d.name else '' end,表说明=ca
- 前因后果公司有人阳了,今天在家上班,突然小姨子就问我有没有baidu文库会员,想下载点东西,我心想这还要会员?用Python不是分分钟的事情
- 如何最准确地统计在线用户数?我们推荐的这个程序据说是目前最好的在线用户数量统计程序。代码如下:'首先要设置好global.asa&n
- import requestsimport reimport jsonimport ossession = requests.session
- 本文介绍了SpringBoot 中使用JSP的方法示例,分享给大家,具体如下:依赖: <parent>
- 以前看过有人转换过的,当时仅仅惊叹了一下,就过去了,没有记下来,直至于用到的时候呢,开始到处找,找来找去都没有找不到痕迹了,心里也就郁郁寡欢
- 测试代码:输出简单的ul li1.asp代码如下:<% response.write "<ul>" r
- ASP木马防御: 代码如下:const adTypeBinary=1 dim jpg(1):jpg(0)=CB
- 1 引言形态学运算是针对二值图像依据数学形态学集合论方法发展起来的图像处理的方法.其主要内容是设计一整套的变换概念和算法,用以描述图像的基本
- #!/usr/bin/python# -*- coding: utf-8 -*-from scapy.all import *from ti
- python中的sys是提供了一系列有关python运行环境的变量和函数的模块,如sys.argv函数实现从程序外部向程序传递参数;sys.
- 基于微信开放的个人号接口python库itchat,实现对微信好友的获取,并对省份、性别、微信签名做数据分析。效果:直接上代码,建三个空文本
- <!-- -----------[test]表生成脚本---------------
- 内容摘要:图片切换效果在网页制作中经常被使用,好的切换效果不仅增加了网站的实用行也提升了网站的趣味性。而图片切换方法有的使用flash来实现
- <?php echo "<br/>数值强制转换:"; $string="2a";
- 使用图层可以像素为单位精确定位页面元素,并且可以将层放置在页面的任意位置。当把页面元素放入图层之中时,还可以控制哪个显示在前面、哪个显示在后
- Python安装流程:一.下载在网上(输入网址https://www.python.org/downloads/)下载Windows最新的p