python调用百度API实现人脸识别


Posted in Python onNovember 17, 2020

1、代码

from aip import AipFace
import cv2
import time
import base64
from PIL import Image
from io import BytesIO
import pyttsx3
# """ 你的 APPID AK SK """
APP_ID = '1965####'
API_KEY = 'YXL65ekIloykyjrT4kzc####'
SECRET_KEY = 'lFiapBoZ5eBwOFyxMbiwQDmClg1u####'

client = AipFace(APP_ID, API_KEY, SECRET_KEY)

# def frame2base64(frame):
#   img = Image.fromarray(frame) #将每一帧转为Image
#   output_buffer = BytesIO() #创建一个BytesIO
#   img.save(output_buffer, format='JPEG') #写入output_buffer
#   byte_data = output_buffer.getvalue() #在内存中读取
#   image = base64.b64encode(byte_data) #转为BASE64
#   return image #转码成功 返回base64编码

def generate():
  camera = cv2.VideoCapture(0)
  engine = pyttsx3.init()
  try:
    while True:
      engine = pyttsx3.init()
      ret, img = camera.read()
      cv2.imwrite("E://Ana/face.png",img)
      cv2.imshow("调用摄像头", img)
      imageType = "BASE64"
      groupIdList = "1,2,3,4"


      """ 如果有可选参数 """
      options = {}
      options["max_face_num"] = 4
      options["match_threshold"] = 70
      options["quality_control"] = "NORMAL"
      options["liveness_control"] = "NONE"
      # options["user_id"] = "233451"
      options["max_user_num"] = 4

#       """ 带参数调用人脸搜索 """
      with open("E://Ana/face.png", 'rb') as fp:
        imageB = base64.b64encode(fp.read())
      image = str(imageB, 'utf-8')
      """ 调用人脸搜索 """
      result = client.search(image, imageType, groupIdList, options)
      engine.runAndWait()
      print(2)
      if result:
        if not result['result']:
          continue
        name = result['result']['user_list'][0]['user_id']#获取名字
        score = result['result']['user_list'][0]['score']#获取相似度
        if name == 'cgh_1':
          if score>80:
            print(score)
            print(name)
            engine.say("华来了")
        elif name == 'yjc_1':
          if score > 80:
            print(score)
            print(name)
            engine.say("杨来了")
        elif name == 'cjy_1':
          if score > 80:
            print(score)
            print(name)
            engine.say("言来了")
        elif name == 'hjy_1':
          if score > 80:
            print(score)
            print(name)
            engine.say("怡来了")
        else:
          print("匹配失败")
      else:
        continue
  except Exception as e:
    print(e)
  finally:
    # 释放资源
    engine.runAndWait()
    camera.release()
    cv2.destroyAllWindows()
 
generate()

2、实现步骤

2.1、获取百度ID和key

在百度API中可以申请到免费的API账号,每天有免费的几千次人脸识别,下图为我申请的API账号,然后在人脸库中创建需要识别的人脸就行了

python调用百度API实现人脸识别

python调用百度API实现人脸识别

2.2、创建客户端

APP_ID = '1965####'
API_KEY = 'YXL65ekIloykyjrT4kzc####'
SECRET_KEY = 'lFiapBoZ5eBwOFyxMbiwQDmClg1u####'
client = AipFace(APP_ID, API_KEY, SECRET_KEY)

2.3、实现人脸识别

主要内容就是参数需要自己修改,然后获取视频图像,然后通过对比看一下,对比出来的名字,然后再看一下分数即可,我在里面加了一个电脑播报的,所以只要识别出来,电脑就会播报,延迟不超过以秒。

到此这篇关于python调用百度API实现人脸识别的文章就介绍到这了,更多相关python 人脸识别内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python基于BeautifulSoup实现抓取网页指定内容的方法
Jul 09 Python
python下读取公私钥做加解密实例详解
Mar 29 Python
基于ID3决策树算法的实现(Python版)
May 31 Python
http请求 request失败自动重新尝试代码示例
Jan 25 Python
TensorFlow 实战之实现卷积神经网络的实例讲解
Feb 26 Python
python中ASCII码字符与int之间的转换方法
Jul 09 Python
python实现五子棋小程序
Jun 18 Python
快速解决vue.js 模板和jinja 模板冲突的问题
Jul 26 Python
使用Python画出小人发射爱心的代码
Nov 23 Python
用python实现名片管理系统
Jun 18 Python
Python制作数据预测集成工具(值得收藏)
Aug 21 Python
Python实战实现爬取天气数据并完成可视化分析详解
Jun 16 Python
详解利用python识别图片中的条码(pyzbar)及条码图片矫正和增强
Nov 17 #Python
详解Pytorch显存动态分配规律探索
Nov 17 #Python
Python调用ffmpeg开源视频处理库,批量处理视频
Nov 16 #Python
python tkinter实现连连看游戏
Nov 16 #Python
详解python os.path.exists判断文件或文件夹是否存在
Nov 16 #Python
Python 删除List元素的三种方法remove、pop、del
Nov 16 #Python
python 从list中随机取值的方法
Nov 16 #Python
You might like
APACHE的AcceptPathInfo指令使用介绍
2013/01/18 PHP
发布一个基于javascript的动画类 Fx.js
2010/11/05 Javascript
根据选择不同的下拉值出现相对应的文本输入框
2013/08/01 Javascript
node中socket.io的事件使用详解
2014/12/15 Javascript
js实现可兼容IE、FF、Chrome、Opera及Safari的音乐播放器
2015/02/11 Javascript
javascript通过元素id和name直接取得元素的方法
2015/04/28 Javascript
jQuery实现简单的文件上传进度条效果
2020/03/26 Javascript
基于JS实现省市联动效果代码分享
2016/06/06 Javascript
BootStrap3中模态对话框的使用
2017/01/06 Javascript
Vue.JS项目中5个经典Vuex插件
2017/11/28 Javascript
Vuex模块化应用实践示例
2020/02/03 Javascript
原生微信小程序开发中 redux 的使用详解
2021/02/18 Javascript
Python中的闭包详细介绍和实例
2014/11/21 Python
Python使用minidom读写xml的方法
2015/06/03 Python
python 文件转成16进制数组的实例
2018/07/09 Python
python3中函数参数的四种简单用法
2018/07/09 Python
用OpenCV将视频分解成单帧图片,图片合成视频示例
2019/12/10 Python
python实现12306登录并保存cookie的方法示例
2019/12/17 Python
keras 回调函数Callbacks 断点ModelCheckpoint教程
2020/06/18 Python
python 实用工具状态机transitions
2020/11/21 Python
CSS3实现翘边的阴影效果的代码示例
2016/06/13 HTML / CSS
Bally巴利中国官网:经典瑞士鞋履、手袋及配饰奢侈品牌
2018/10/09 全球购物
4s客服专员岗位职责
2013/12/01 职场文书
生产部主管岗位职责
2014/01/06 职场文书
小学教师培训感言
2014/02/11 职场文书
垃圾桶标语
2014/06/24 职场文书
借款协议书
2014/09/16 职场文书
党支部遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
优秀教师事迹材料
2014/12/15 职场文书
2014年企业党建工作总结
2014/12/18 职场文书
小学教师师德师风自我评价
2015/03/04 职场文书
2015年乡镇安全生产工作总结
2015/05/19 职场文书
道士塔读书笔记
2015/06/30 职场文书
2016拓展训练心得体会范文
2016/01/12 职场文书
 python中的元类metaclass详情
2022/05/30 Python
mysql数据库隔离级别详解
2022/06/16 MySQL