腾佑旗下产品:
云服务器 智能五合一建站 咨询热线:400-996-8756
绑定享折扣 注册百度云
百度人脸识别
人脸识别 文字识别 图像识别 语音识别
  • 最新资讯
  • 热门资讯
  • 最热资讯
人工智能http://ai.tuidc.com/templets/default/img/advertising_space_right_3.jpg

百度人脸识别在线API调用

发布时间:2021-06-03 10:44 作者:未知

简述:百度人脸识别分为离线SDK和在线API调用两种方式,那么百度人脸识别在线API调用如何实现呢?下面以(Python)API接口调用的方式给大家进行演示,我们一起来看下!

  百度人脸识别分为离线SDK和在线API调用两种方式,那么百度人脸识别在线API调用如何实现呢?下面以(Python)API接口调用的方式给大家进行演示,我们一起来看下!
  在开始之前呢,我们要先做一些准备工作,首先需要在百度智能云平台登录,登陆后创建应用,创建的应用是人脸识别的,默认已帮你勾选上了相关功能。创建应用后,点击管理应用,你就可以获取API Key和Secret Key。
  接下来就是获取token,现在就可以编写代码调用在线的人脸检测API了首先是获取token,用于校验,代码如下,注意换成自己申请的API Key和Secret Key。
  def getToken():
  global token
  #client_id为官网获取的AK,client_secret为官网获取的SK
  host='https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=你的API Key&client_secret=你的Secret Key'
  request=urllib2.Request(host)
  request.add_header('Content-Type','application/json;charset=UTF-8')
  response=urllib2.urlopen(request)
  content=response.read()
  if(content):
  token=json.loads(content)['access_token']
  ————————————————
  然后把需要上传检测的图片进行base64编码,需要注意的是,图片的base64编码是不包含图片头的,具体代码如下:
  def imgToBase64(imgPath):
  with open(imgPath,"rb")as f:#转为二进制格式
  base64_data=base64.b64encode(f.read())#使用base64进行加密
  return base64_data
  接下来就是调用接口进行人脸识别,具体代码如下:
  def faceDetect(imgBase64):
  '''
  人脸检测与属性分析
  '''
  request_url="https://aip.baidubce.com/rest/2.0/face/v3/detect"
  request_url=request_url+"?access_token="+token
  request=urllib2.Request(request_url)
  request.add_header('Content-Type','application/json')
  data={"image":imgBase64,"image_type":"BASE64","face_field":"age,beauty,expression,face_shape,gender"}
  response=urllib2.urlopen(request,urllib.urlencode(data))
  content=response.read()
  if content:
  return content
  ————————————————
  这个函数中输入的是图片的base64编码,请求的参数中比较重要的是那个face_field,默认只返回人脸框的位置、概率和旋转角度,age(年龄预测),beauty(颜值打分),expression(表情)等更多属性,需要在这个参数中添加,具体的请参考官方说明文档
  人脸识别结束后返回的是json数据,但我们往往需要画个框框,把人脸框出来,同时把一些预测的属性也标注上。
  源代码梳理
  #coding:utf-8
  import urllib,urllib2,sys
  import ssl
  import json
  import base64
  import cv2
  global token
  def getToken():
  global token
  #client_id为官网获取的AK,client_secret为官网获取的SK
  host='https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=你的API Key&client_secret=你的Secret Key'
  request=urllib2.Request(host)
  request.add_header('Content-Type','application/json;charset=UTF-8')
  response=urllib2.urlopen(request)
  content=response.read()
  if(content):
  token=json.loads(content)['access_token']
  def faceDetect(imgBase64):
  '''
  人脸检测与属性分析
  '''
  request_url="https://aip.baidubce.com/rest/2.0/face/v3/detect"
  request_url=request_url+"?access_token="+token
  request=urllib2.Request(request_url)
  request.add_header('Content-Type','application/json')
  data={"image":imgBase64,"image_type":"BASE64","face_field":"age,beauty,expression,face_shape,gender"}
  response=urllib2.urlopen(request,urllib.urlencode(data))
  content=response.read()
  if content:
  return content
  def imgToBase64(imgPath):
  with open(imgPath,"rb")as f:#转为二进制格式
  base64_data=base64.b64encode(f.read())#使用base64进行加密
  return base64_data
  if __name__=="__main__":
  getToken()
  imgPath=r"C:UsersleePictureslena.jpg"
  result=json.loads(faceDetect(imgToBase64(imgPath)))['result']
  face_list=result['face_list'][0]
  location=face_list['location']
  age=face_list['age']
  beauty=face_list['beauty']
  expression=face_list['expression']['type']
  gender=face_list['gender']['type']
  img=cv2.imread(imgPath,cv2.IMREAD_COLOR)
  leftTopX=int(location['left'])
  leftTopY=int(location['top'])
  rightBottomX=int(leftTopX+int(location['width']))
  rightBottomY=int(leftTopY+int(location['height']))
  cv2.rectangle(img,(leftTopX,leftTopY),(rightBottomX,rightBottomY),(0,255,0),2)
  font=cv2.FONT_HERSHEY_SIMPLEX
  #第一个坐标表示起始位置
  cv2.putText(img,"age:"+str(age),(0,20),font,0.5,(200,255,255),1)
  cv2.putText(img,"gender:"+gender.encode("utf-8"),(0,40),font,0.5,(200,255,255),1)
  cv2.putText(img,"beauty:"+str(beauty),(0,60),font,0.5,(200,255,255),1)
  cv2.putText(img,"expression:"+str(expression),(0,80),font,0.5,(200,255,255),1)
  cv2.imshow('image',img)
  cv2.waitKey(0)
  print("end")
  更多百度人脸识别在线API调用相关内容持续分享中!
  本文参考https://blog.csdn.net/qq_44158936/article/details/104674608整理而来,版权归CSDN博主「Dariuslwk」所有
点击展开全文

腾佑AI(ai.tuidc.com) 成立于2007年,一直致力于发展互联网IDC数据中心业务、云计算业务、 CDN业务、互联网安全及企业客户技术解决方案等产品服务, 2018年成为百度云河南服务中心。主营服务器租用,服务器托管,虚拟主机, 域名注册,机柜租用,主机租用,主机托管,带宽租用,云主机,CDN加速 , WAF防火墙,网络安全,人脸识别,文字识别,图像识别,语音识别等业务;

售前咨询热线:400-996-8756

备案提交:0371-89913068

售后客服:0371-89913000

热门活动

腾佑智能建站
  • 热门资讯
  • 随便看看

联系方式

400-996-8756 点击这里给我发消息 AI@tuidc.com
腾佑AI人工智能

微信公众号

腾佑AI人工智能

手机站

COPYRIGHT 2007-2020 TUIDC ALL RIGHTS RESERVED 腾佑科技-百度AI人工智能_百度人脸识别_图像识别_语音识别提供商

地址:河南省郑州市姚砦路133号金成时代广场6号楼13层 I CP备案号:豫B2-20110005-1 公安备案号: 41010502003271

声明:本站发布的内容版权归郑州腾佑科技有限公司所有,本站部分素材来源于网络及网友投稿,若无意中侵犯了您的版权,请致电在线客服我们将在核实后予以删除!