百度al的人体检测接口调用

1.准备工作

  • 在百度al,找到人体检测

 

  • 登录账号进入百度智能云

选择你要领取的接口(由于我之前领过了人体检测的接口,所以下面已经没有这个选项)

注意:领取接口需要认证

  •  创建应用

 

 创建成功会在应用列表显示应用,应用里面有我们编程需要用到的API Key 和 Secret Key

  •  查看人体检测的API文档,可以看到里面有调用API的请求方式,以及不同语言的代码例子

 2.编写访问接口的代码,采用python编程访问

  我们将百度al给的python例子复制出来,放到linux的Python中运行

不出意外,报错了,因为这个open打开的是我们要检测的图片文件,而我们linux里面的图片文件不是这个名字,所以需要把 '[本地文件]' 修改成我们需要检测的图片文件

修改完毕后,重新运行我们的代码

这里出现了一个错误, Access token invalid or no longer valid ,说明access_token是无效的。这是因为我们没有获取Access token ,我们参考获取 Access Token的技术文档,编写获取Access Token的代码

# encoding:utf-8
import requests 

# client_id 为官网获取的AK, client_secret 为官网获取的SK
AK='应用的API Key'
SK='应用的Secret Key'
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=%s&client_secret=%s'%(AK,SK)  
request_url = "https://aip.baidubce.com/rest/2.0/image-classify/v1/body_num"  
response = requests.get(host)  #获取鉴权认证使用的access_token

 重新运行代码

 可以看到我们的Access Token已经获取成功了,但他还是显示Access Token无效,这是因为我们没有把Access Token,放入http post的请求上。

重新运行代码,可以看到接口调用成功

 完整代码:


# encoding:utf-8

import requests
import base64

'''
人体检测和属性识别
'''

# client_id 为官网获取的AK, client_secret 为官网获取的SK
AK='应用的API Key'
SK='应用的Secret Key'
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=%s&client_secret=%s'%(AK,SK)  
request_url = "https://aip.baidubce.com/rest/2.0/image-classify/v1/body_num"  
response = requests.get(host)  #发起get请求获取鉴权认证使用的access_token
if response:
    print (response.json())    #输出信息

request_url = "https://aip.baidubce.com/rest/2.0/image-classify/v1/body_attr"

# 二进制方式打开图片文件
f = open('image1.jpg', 'rb')
img = base64.b64encode(f.read())

params = {"image":img}
access_token = response.json()['access_token'] #提取access_token的数据
request_url = request_url + "?access_token=" + access_token       #将access_token的数据放入url中
headers = {'content-type': 'application/x-www-form-urlencoded'}
response = requests.post(request_url, data=params, headers=headers) #发起post请求,调用接口
if response:
    print (response.json())   #输出信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值