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 相关文章推荐
tornado框架blog模块分析与使用
Nov 21 Python
python实现异步回调机制代码分享
Jan 10 Python
python实现排序算法
Feb 14 Python
Python基于Tkinter实现的记事本实例
Jun 17 Python
Python字符串特性及常用字符串方法的简单笔记
Jan 04 Python
python对DICOM图像的读取方法详解
Jul 17 Python
Python Pywavelet 小波阈值实例
Jan 09 Python
python爬虫租房信息在地图上显示的方法
May 13 Python
python实现交并比IOU教程
Apr 16 Python
Python基于jieba, wordcloud库生成中文词云
May 13 Python
Selenium自动化测试工具使用方法汇总
Jun 12 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
PHP学习笔记之数组篇
2011/06/28 PHP
php 地区分类排序算法
2013/07/01 PHP
PHP写的资源下载防盗链类分享
2014/05/12 PHP
使用PHP similar text计算两个字符串相似度
2015/11/06 PHP
在一个js文件里远程调用jquery.js会在ie8下的一个奇怪问题
2010/11/28 Javascript
jquery中dom操作和事件的实例学习 仿yahoo邮箱登录框的提示效果
2011/11/30 Javascript
JavaScript插入动态样式实现代码
2012/02/22 Javascript
firefox下jQuery UI Autocomplete 1.8.*中文输入修正方法
2012/09/19 Javascript
如何阻止复制剪切和粘贴事件为了表单内容的安全
2013/05/23 Javascript
JS对img标签进行优化使用onerror显示默认图像
2014/04/24 Javascript
nodejs命令行参数处理模块commander使用实例
2014/09/17 NodeJs
JavaScript数据结构和算法之二叉树详解
2015/02/11 Javascript
简单纯js实现点击切换TAB标签实例
2015/08/23 Javascript
JS原型链怎么理解
2016/06/27 Javascript
jquery对所有input type=text的控件赋值实现方法
2016/12/02 Javascript
canvas实现十二星座星空图
2017/02/14 Javascript
详解js静态资源文件请求的处理
2017/08/01 Javascript
微信小程序实现留言板(Storage)
2018/11/02 Javascript
Vue编写可显示周和月模式的日历 Vue自定义日历内容的显示
2019/06/26 Javascript
python 实现目录复制的三种小结
2019/12/04 Python
Pytorch 实现数据集自定义读取
2020/01/18 Python
CSS3弹性盒模型开发笔记(三)
2016/04/26 HTML / CSS
英国第一独立滑雪板商店:The Snowboard Asylum
2020/01/16 全球购物
牵手50新加坡:专为黄金岁月的单身人士而设的交友网站
2020/08/16 全球购物
武汉英思工程科技有限公司–ORACLE面试测试题目
2012/04/30 面试题
教育科学研究生自荐信
2013/10/09 职场文书
个人培训自我鉴定
2014/03/28 职场文书
教师求职信范文
2014/05/24 职场文书
2014年酒店前台工作总结
2014/11/14 职场文书
毕业实习计划书
2015/01/16 职场文书
2015年党风廉政承诺书
2015/01/22 职场文书
乡镇司法所2015年度工作总结
2015/10/14 职场文书
评测 | 大屏显示带收音机的高端音箱,JBL TUNE2便携式插卡音箱实测
2021/04/24 无线电
Go语言-为什么返回值为接口类型,却返回结构体
2021/04/24 Golang
JavaWeb 入门:Hello Servlet
2021/07/16 Java/Android
React自定义hook的方法
2022/06/25 Javascript