百度Aip模块的使用

文章目录

  • 百度Aip模块的使用
    • 什么是百度Aip模块
    • 本机环境
    • 安装baidu-aip模块
    • 登录百度AI平台创建应用
    • 导入baidu-aip模块
    • 初始化百度AIP 人脸识别模块
    • 创建人脸检测函数
    • 将图片转为BASE64格式
    • 打开图片进行检测
    • 遇到的问题
    • 延伸出使用其他功能
    • 完整代码

什么是百度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)


参考https://blog.csdn.net/qq_34151419/article/details/102670166
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 需要修改为自己的

# -*- coding: utf-8 -*-# 导入人脸识别API
from aip import AipFace
import base64APP_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# 将图片打开为 BASE64格式
def imageToBase64(imagePath):with open(imagePath, 'rb') as f:image = base64.b64encode(f.read())return str(image, encoding='utf-8')# 人脸比对
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# 调用函数进行检测
face_detect(imageToBase64("pic1.jpg"))

Python学习记录 使用百度aip模块(API Python-SDK)实现人脸识别相关推荐

  1. OpenCV学习记录(一):使用haar分类器进行人脸识别

    OpenCV支持的目标检测的方法是利用样本的Haar特征进行的分类器训练,得到的级联boosted分类器(Cascade Classification).OpenCV2之后的C++接口除了Haar特征 ...

  2. Python学习记录day6-反射、常用模块

    Python学习记录day6-反射.常用模块 @(学习)[python] Python学习记录day6-反射常用模块 反射 常用模块 1 sys System-specific parameters ...

  3. Python学习笔记:Day 9 编写API

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  4. Python学习笔记:常用第三方模块(1)

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  5. Python学习笔记:常用第三方模块3

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  6. Python学习笔记:常用内建模块7XML

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  7. 百度地图Web API Python模块

    目录 百度地图Web API Python模块 描述 快速开始 调用方法 工厂模式 代理模式 对象 JsonLike __init__(json=dict(), **kwargs) __str__() ...

  8. Python学习记录day3

    2019独角兽企业重金招聘Python工程师标准>>> Python学习记录 day3 今天是银角大王武sir讲课.先回顾了上节课所学,然后讲到了面向对象思想. set set是一个 ...

  9. 九十三、Python使用百度云接口API实现截图,文字识别和语音合成

    @Author:Runsen @Date:2020/7/13 人生最重要的不是所站的位置,而是内心所朝的方向.只要我在每篇博文中写得自己体会,修炼身心:在每天的不断重复学习中,耐住寂寞,练就真功,不畏 ...

  10. Python学习记录(一)PIL库对于图像操作方法的简单整理

    Python学习记录(一)PIL库对于图像操作方法的简单整理 首先对PIL库进行一个简单的介绍:Python图像库PIL(Python Image Library)是python的第三方图像处理库,由 ...

最新文章

  1. 第四章:Spring AOP
  2. 秒懂 QPS、TPS、PV、UV、GMV、IP、RPS!
  3. 什么样的代码是好代码_什么是好代码?
  4. 从不同步的代码块中调用了对象同步方法。_Java中Synchronized的用法
  5. NSX产品许可介绍( 适用于vSphere 6.2.x,6.3.x和6.4.x的VMware NSX的产品产品(2145269))
  6. linux chown命令: 修改文件或目录的所有者或群组
  7. mysql 创建聚集索引_索引为什么会加快Mysql的查询速度?
  8. c语言里变量要求,c语言中要求对变量作强制定义的主要理由是什么?
  9. PASCAL VOC2012数据集介绍与制作自己的数据集
  10. 按键精灵引流脚本实操
  11. 小程序 — 关于图片Base64转换及空间大小问题
  12. 洛谷P2123 皇后游戏
  13. 现货白银的最小交易单位
  14. latex中lstlisting使用
  15. 花菁染料cas138248-55-2齐岳生物
  16. 论文阅读《Direct Sparse Odometry》2
  17. 汽车电子can总线(一)物理层
  18. kafka常用命令整理
  19. Delphi多线程编程基础入门
  20. 海龟(turtle)与陆龟(tortoise)

热门文章

  1. python安装包提示error: option --single-version-externally-managed not recognized
  2. dubbo源码分析-dubbo-serialization
  3. 手把手教你Windows操作系统添加Virtio驱动
  4. 孤独是人成熟的必经之路
  5. Java 的 FileInputStream 是否需要 close
  6. 【PCL】【PCL实践】【PCL的使用学习记录】
  7. 迪斯科算法_为什么迪斯科极乐世界如此可重播
  8. python模拟登录163邮箱_python模拟登陆163邮箱并获取通讯录 | 学步园
  9. DataV构建大屏(全屏)数据展示页面
  10. 阿齐索-对接淘宝第三方平台