摄像头人脸检测与属性的窗口显示

  • 一、人脸属性窗口显示
  • 二、摄像头的人脸检测

在上一篇 文章中,我们实现了窗口时间的动态显示以及调用百度AI进行图片的人脸检测和属性的输出,这一次,我们将要把人脸识别的一些属性输出到界面中,然后实现使用摄像头的人脸属性检测

一、人脸属性窗口显示

在人脸检测返回的结果中,在face_list列表里,每一项值就是一个人脸信息,每个人脸信息用字典来表示,字典中包含什么信息由发送请求的参数face_field键值决定
返回结果内容的解析通过for循环取出每个字典数据(人脸),然后进行单独解析
在经过数据的解析后,进行显示
人脸信息显示主要有两个方面,一个是设计两个窗口部件(textEdit)用来显示信息,一个是解析完成后把信息依此添加到窗口中
所以,首先,我们要在窗口中重新添加两个窗口部件,用来显示信息,如下图,我们打开此次创建的界面,然后将之前的显示时间和日期的编辑框删除,替换为两个显示框,也可以再添加两个label用来提示方框中存放的数据是什么
更改完成后保存,然后回到pycharm的终端中再次使用 pyuic5 源UI文件.ui -o 目标文件.py 命令将窗口转换为更改的窗口
然后回到 get_face 函数中,将内容修改为如下,其中的 face_num 是图片中的人脸数目,通过一个for循环,能够将每个检测到的人脸的信息都输出到显示框中

     def get_face(self):# 获取一张图片(一帧画面)# getOpenFileName通过对话框的形式获取一张图片(.jpg)的路径path, ret = QFileDialog.getOpenFileName(self, "open picture", ".", "图片格式(*.jpg)")print(path)# 把图片转换成base64编码fp = open(path, 'rb')base64_image = base64.b64encode(fp.read())print(base64_image)# 发送请求的地址request_url = "https://aip.baidubce.com/rest/2.0/face/v3/detect"# 请求参数是一个字典,在字典中存储了,百度AI要识别的图片信息,要识别的属性内容params = {"image": base64_image,  # 图片信息字符串"image_type": "BASE64",  # 图片信息的格式"face_field": "gender,age,beauty,expression,face_shape,glasses,emotion,mask",  # 请求识别人脸的属性,各个属性在字符串中用','逗号隔开"max_face_num": 10,}# 访问令牌access_token = self.access_token# 把请求地址和访问令牌组成可用的网络请求地址request_url = request_url + "?access_token=" + access_token# 参数,设置请求的格式体headers = {'content-type': 'application/json'}# 发送网络post请求,请求百度AI进行人脸检测,返回检测结果# 发送网络请求,就会等待一段时间,程序就在这里阻塞执行response = requests.post(request_url, data=params, headers=headers)if response:# print(response.json())data = response.json()# data是请求的结果数据,需要进行解析,单独拿出所需的结果数据,分开# 判断是否解析成功if data['error_msg'] == "SUCCESS":# 在data字典中,键为‘result’对应的值才是返回的检测结果# data['result']就是检测结果# 人脸数目self.plainTextEdit_2.clear()face_num = data['result']['face_num']if face_num == 0:print("no face")self.plainTextEdit_2.appendPlainText("当前没有人以及人脸出现")returnelse:self.plainTextEdit_2.appendPlainText("存在人脸")# 人脸信息: data['result']['face_list']是列表,每个数据就是一个人脸信息,需要取出每个人脸数据# 每个人脸信息:data['result']['face_list'][0~i]人脸信息字典for i in range(face_num):# 通过for循环,分别取出列表的每一个数据# data['result']['face_list'][i],就是一个人脸信息的字典age = data['result']['face_list'][i]['age']beauty = data['result']['face_list'][i]['beauty']gender = data['result']['face_list'][i]['gender']['type']expression = data['result'

基于学生课堂管理签到的AI人脸识别系统(四)相关推荐

  1. 门前异动监控、AI 人脸识别!360 发布新型智能门铃

    10 月 29 日,360 举行了主题为"硬核新视界"的智能硬件新品发布会.会上,360 发布了一款全新产品--360 智能门铃.360 智能门铃以"门前异动监控&quo ...

  2. 基于人脸识别的课堂签到管理系统(三)---实时时间显示以及百度AI人脸识别

    基于人脸识别的课堂签到管理系统(三)---实时时间显示以及百度AI人脸识别 一.前言概述 二.实时时间显示 三.百度AI人脸识别 3.1 获取access_token 3.2 发送请求,通过网络请求方 ...

  3. 百度AI人脸识别与检测二:学生人脸识别打卡签到系统主界面功能需求和设计以及通过Python实现界面运行

    <百度AI人脸识别与检测>专栏为项目专栏,从零到一,从无到有开发一个学生人脸识别签到系统:主要用到的技术有百度开放平台中的人脸检测.人脸识别.Python图形界面开发PyQt5.线程的管理 ...

  4. 百度AI人脸识别与检测一:学生人脸识别签到系统简介及百度AI开放平台账号注册和人脸实例应用创建

    <百度AI人脸识别与检测>专栏为项目专栏,从零到一,从无到有开发一个学生人脸识别签到系统:主要用到的技术有百度开放平台中的人脸检测.人脸识别.Python图形界面开发PyQt5.线程的管理 ...

  5. 微信小程序开发工具结合腾讯云开发AI人脸识别和身份证识别——基于腾讯云开发者实验项目

    微信小程序开发工具结合腾讯云开发AI人脸识别和身份证识别--基于腾讯云开发者实验项目 开通腾讯云相关权限(AI人脸识别,文字识别-身份证识别) 查看API密钥 部署微信小程序 成功演示 代码包 开通腾 ...

  6. 基于JAVA学生住宿管理平台计算机毕业设计源码+系统+数据库+lw文档+部署

    基于JAVA学生住宿管理平台计算机毕业设计源码+系统+数据库+lw文档+部署 基于JAVA学生住宿管理平台计算机毕业设计源码+系统+数据库+lw文档+部署 本源码技术栈: 项目架构:B/S架构 开发语 ...

  7. 基于Python的(拍照签到+网课在线检测)深度学习的人脸识别系统

    摘 要 近年来,网络技术日新月异,我们已经进入了大数据的时代并成为其中第一员,由此带来数据量的飞跃式的增长,而如何利用这些数据产生实际的生产价值则成为了大数据时代的一个重要问题.而人脸识别技术是一份对 ...

  8. 基于Python的百度AI人脸识别API接口(可用于OpenCV-Python人脸识别)

    基于Python的百度AI人脸识别API接口(可用于OpenCV-Python人脸识别) 资源: download.csdn.net/download/weixin_53403301/43644312 ...

  9. Python基于百度AI的人脸识别系统--颜值检测

    基于百度AI的人脸识别系统–颜值检测 刚开始学,觉得好玩就写了这个 主要是分为人脸识别系统的对接,UI的设计 人脸识别系统: 用的百度的AI,其中的AK,SK可以换成自己的,在百度开放平台上注册就能获 ...

  10. Python+OpenCv实现AI人脸识别身份认证系统(2)——人脸数据采集、存储

    原 Python+OpenCv实现AI人脸识别身份认证系统(2)--人脸数据采集.存储 2019年07月02日 08:47:52 不脱发的程序猿 阅读数 602更多 所属专栏: 人脸识别身份认证系统设 ...

最新文章

  1. 7.1 pdo 宝塔面板php_宝塔面板配置阿里云服务器步骤和教程
  2. sor迭代法matlab实例,Jacobi G-S SOR迭代法在matlab中例子.pdf
  3. Chrome DevTools 之 Network,网络加载分析利器
  4. Udacity并行计算课程笔记-The GPU Hardware and Parallel Communication Patterns
  5. 10 迭代器与生成器
  6. html怎样做登录页面,使用HTML 5和CSS3制作登录页面完整步骤
  7. ubuntu 设置静态路由_Linux系统添加永久静态路由的方法
  8. 怎么隐藏php版本,Linux服务器中怎样隐藏PHP版本
  9. java 实例化数组_java数组实例化
  10. exchange创建邮箱组_Exchange 2010 如何创建通讯组
  11. zmeet会议在金融、教育和场景特点与产品功能方案
  12. java的程序的创建快捷方式_关于Swing:如何为Java程序创建快捷方式图标
  13. wd移动硬盘不能识别_wd移动硬盘无法识别
  14. Spark推测执行spark.speculation
  15. 软件测试面试刁难人?花重金购买的资料1套全给你解决
  16. vue,下载导出文件,开新窗口导出
  17. Java基础 实验四 抽象类和接口
  18. PPT之幻灯片中的大纲选项卡
  19. 数据库(单表查询与多表联查)
  20. Github实用Android开源项目推荐(一)

热门文章

  1. 用excel的宏命令解決標籤批量打印的問題
  2. 深度学习下的图像分割
  3. 微信ui设计 ---添加朋友
  4. 韩国媒体称三星可折叠屏手机Galaxy Fold下月也无法发货
  5. SQL Server行列转换学习日记
  6. “微信教父”张小龙,31岁的时候,迷茫过
  7. 程序员的烦恼:西安年薪20万嫌低,去上海35万,有必要跳么
  8. Linux Shell 学习笔记三(主要是jq)
  9. 双非一本跨专业计算机考北邮,双非二本,三跨,北邮计算机上岸
  10. PyQT5.QtWidgets.QApplication结构及用法