Python调用API接口,实现人脸识别
创始人
2024-05-25 01:51:02
0

人生苦短,我用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 需要修改为自己的

👇问题解答 · 源码获取 · 技术交流 · 抱团学习请联系👇

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
【PdgCntEditor】解... 一、问题背景 大部分的图书对应的PDF,目录中的页码并非PDF中直接索引的页码...
修复 爱普生 EPSON L4... L4151 L4153 L4156 L4158 L4163 L4165 L4166 L4168 L4...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...