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打开命令提示符

Python调用API接口实现人脸识别

执行安装百度AI模块

pip install baidu-aip

Python调用API接口实现人脸识别

登录百度AI平台创建应用

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

Python调用API接口实现人脸识别

按自己要求创建应用

Python调用API接口实现人脸识别

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

Python调用API接口实现人脸识别

记下值 等等会用到

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

Python调用API接口实现人脸识别

调用函数

face_detect(imageToBase64("pic1.jpg"))

提示调用成功:

Python调用API接口实现人脸识别

遇到的问题

运行时候提示:

requests.exceptions.ProxyError: HTTPSConnectionPool(host='aip.baidubce.com', port=443)

Python调用API接口实现人脸识别

win + R 输入 regedit打开注册表,找到

\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings

Python调用API接口实现人脸识别

把ProxyEnable的值改为0

Python调用API接口实现人脸识别

再运行即可

延伸出使用其他功能

除了人脸检测还可以使用人脸比、人脸搜索对等函数,调用方法同理,比如人脸比对。

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

标签:Python,API接口,人脸识别
0
投稿

猜你喜欢

  • python图像处理基本操作总结(PIL库、Matplotlib及Numpy)

    2022-01-26 00:28:50
  • 给Notepad++换主题

    2009-05-04 14:43:00
  • Python基于Opencv识别两张相似图片

    2021-01-13 20:16:42
  • 解析zend studio中直接导入svn中的项目的方法步骤

    2023-09-05 02:21:01
  • 八卦调侃Reset CSS

    2010-01-13 13:01:00
  • 抛砖引玉Web2.0设计指南

    2008-06-30 12:49:00
  • python 判断网络连通的实现方法

    2021-07-28 06:47:29
  • 在Python的Django框架中实现Hacker News的一些功能

    2023-11-24 19:27:46
  • ASP.NET Core优雅的在开发环境保存机密(User Secrets)

    2023-07-15 20:25:37
  • ASP用户登录验证代码

    2008-05-15 12:49:00
  • IE6 iframe 横向滚动条问题

    2009-01-18 13:31:00
  • Study jQuery in a Simplified Way

    2010-01-30 12:55:00
  • 一行Python代码制作动态二维码的实现

    2023-11-04 02:32:19
  • python自动截取需要区域,进行图像识别的方法

    2021-05-14 11:04:42
  • ASP 读取MP3文件帧的信息比特率,采样频率,播放时间

    2010-06-04 12:22:00
  • golang如何通过viper读取config.yaml文件

    2023-07-22 05:46:11
  • python批量从es取数据的方法(文档数超过10000)

    2022-03-23 01:21:48
  • PHP行为型模式之责任链模式

    2023-06-03 17:37:07
  • 用pushplus+python监控亚马逊到货动态推送微信

    2022-02-12 16:34:11
  • 利用Python程序读取Excel创建折线图

    2021-05-29 00:36:33
  • asp之家 网络编程 m.aspxhome.com