基于树莓派百度Api的人脸门禁系统

在学校中因为上课原因,没有拿到关于电气及其自动化本专业的毕业题目,但是门禁系统让我眼前一亮。此题目是我硬着头皮接下的。

为了更好的做完自己的毕业设计,在不断的学习python的知识,并运用mysql建立起了一定的链接。

此设计分为两个方面,一个是后台管理系统,这个是用于人员信息的输入。此用学号作为ID,并输入班级姓名和人脸照片,这方面我是用python中的Django框架进行设计的。

另一个是人脸识别系统,此系统是通过linux作为核心原件,Ubuntu作为系统设计的。

下面展示的是人脸识别系统,至于后台管理系统看时间情况吧。

import base64
import threading
from numpy import *
import cv2
import pymysql
import time
import RPi.GPIO as GPIO
import pyttsx3
from aip import AipFacecap = cv2.VideoCapture(0)# 活体检测
# 活体检测的级别NONE LOW NORMSL HIGH
options = {}
options["liveness_control"] = "LOW"
GROUP = 'face'
e_close = False# 录像函数
def void():while True:global cv2, img, e_closewin_name = 'read'# 调用摄像头sucess, img = cap.read()cv2.namedWindow(win_name, 0)cv2.resizeWindow(win_name, 500,300)# 图像展示cv2.imshow(win_name, img)# 保持图像k = cv2.waitKey(1)# 退出函数if k == 27:e_close = Truecap.release()cv2.destroyAllWindows()break# 人脸检测主体函数
def getImg():while True:# 线程互锁if e_close:return# 延迟time.sleep(2)# 调用识别函数并返回结果result = Picture_Processing()# 判断是否成功if result['error_msg'] == 'SUCCESS':# 获取成功后的信息bstu_id = result['result']['user_list'][0]['user_id']# 获取分数score = result['result']['user_list'][0]['score']if score > 80:  # 大于80成立# 数据库调取信息bstu_id, bstu_name, bstu_class = mysql_select(bstu_id)# 控制树莓派引脚函数yinjiao()# 播报函数sound(bstu_name)# 进门时间录入函数W_door_in(bstu_id, bstu_name, bstu_class)else:print("未识别")# 引脚函数
def yinjiao():# 设置调用引脚的模式GPIO.setmode(GPIO.BOARD)# 设置输出引脚GPIO.setup(11, GPIO.OUT)# 输出引脚设为高电平GPIO.output(11, GPIO.HIGH)time.sleep(5)# 5秒延时后低电平GPIO.output(11, GPIO.LOW)time.sleep(3)def W_Mysql_door(bstu_id, bstu_name, bstu_class, in_datatime):conn = mysql_connection()cur = conn.cursor()sql = "INSERT INTO  door_in (bstu_id,bstu_name,bstu_class, bin_door) values (%s,%s,%s,%s)"cur.execute(sql, (bstu_id, bstu_name, bstu_class, in_datatime))conn.commit()cur.close()conn.close()def W_door_in(bstu_id, bstu_name, bstu_class):# 获取当地时间in_datatime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())# 调用sqlW_Mysql_door(bstu_id, bstu_name, bstu_class, in_datatime)# 进门人员播报
def sound(sound_name):# 初始化engine = pyttsx3.init()# 读取中文engine.setProperty('voice', 'zh')# 设置播报的语句engine.say("欢迎" + sound_name + '进入')# 等待播报完毕engine.runAndWait()def mysql_select(bstu_id):   conn = mysql_connection()cursor = conn.cursor(pymysql.cursors.DictCursor)sql = 'select * from face_stu where bstu_id = %s'cursor.execute(sql, bstu_id)sul = cursor.fetchone()cursor.close()conn.close()print(sul["bstu_id"], sul["bstu_name"], sul["bstu_class"])return sul["bstu_id"], sul["bstu_name"], sul["bstu_class"]# 设置数据库的初始
def mysql_connection():conn = pymysql.connect(host='localhost',port=3306,user='root',password='123456',database='face_door',charset='utf8')return conndef Picture_Processing():# 获取照片并保存在1.jpg中cv2.imwrite("1.jpg", img)# 百度的apiID之类的APP_ID = ''#需自己注册API_KEY = ''#需自己注册SECRET_KEY = ''#需自己注册client = AipFace(APP_ID, API_KEY, SECRET_KEY)# 设置转换格式IMAGE_TYPE = 'BASE64'with open('1.jpg', 'rb') as f:# 转换格式baidu_base64 = base64.b64encode(f.read())# 发送给百度apiresult = client.search(str(baidu_base64, 'utf-8'), IMAGE_TYPE, GROUP, options)# 销毁图像with open('1.jpg', 'w') as a:a.write("1111")return result# 线程问题
def thread():t1 = threading.Thread(target=void)t2 = threading.Thread(target=getImg)t1.start()t2.start()if __name__ == '__main__':thread()

求打赏求点赞求关注

基于树莓派百度Api的人脸门禁系统--毕业设计相关推荐

  1. 智能门禁(4)---基于face++和Onenet平台的人脸门禁系统

    基于face++和Onenet平台的人脸门禁系统 前言 第一次见识人脸解锁是在iPhoneX,前两天安卓8.0的小米6把我的手机也可以做到人脸结果.各大公司都推出了自己的人脸识别Api,因为个人兴趣, ...

  2. 树莓派+百度api实现人脸识别

    title: 树莓派+百度api实现人脸识别 tags: 树莓派 date: 2018-5-31 20:06:00 --- 树莓派对接百度api 我以前玩安卓的时候一直用的讯飞的平台和api,对于百度 ...

  3. 【毕业设计_课程设计】基于Android的人脸门禁系统

    文章目录 0 项目说明 1 研究目的 2 研究内容及实验结果 3 部分系统界面 4 项目源码 0 项目说明 基于Android的人脸门禁系统 提示:适合用于课程设计或毕业设计,工作量达标,源码开放 1 ...

  4. 人工智能Java SDK:人脸检测,应用于包括人脸门禁系统、刷脸支付等各行各业

    人脸检测SDK 人脸识别 广义的人脸识别实际包括构建人脸识别系统的一系列相关技术,包括人脸图像采集.人脸定位.人脸识别预处理.身份确认以及身份查找等: 而狭义的人脸识别特指通过人脸进行身份确认或者身份 ...

  5. 毕业设计 Android人脸门禁系统

    文章目录 0 项目说明 1 研究目的 2 研究内容及实验结果 3 部分系统界面 4 项目源码 5 最后 0 项目说明 基于Android的人脸门禁系统 提示:适合用于课程设计或毕业设计,工作量达标,源 ...

  6. 智能门禁(3)---汉王智能人脸门禁系统

    汉王智能人脸门禁系统方案

  7. 基于stm32单片机的指纹解锁门禁系统

    基于stm32单片机的指纹解锁门禁系统 1.包含三个模式,正常模式,录入模式,删除模式 正常模式下,需要管理员指纹开锁,其他人才能正常打卡,实验室人数清零后,重新需要管理员指纹开锁 录入与删除指纹模式 ...

  8. 智慧人脸门禁系统与隐私保护并驾齐驱!

    小区门禁从一开始的是人工控制开关,后来进化到了遥控开关,接着就是刷卡进出.这些传统的方式,要么就是人工成本高,效率低,要么就是进出不方便.因此柏睿网络科技推出的智慧人脸门禁系统的引入不仅仅节省了人工成 ...

  9. 基于百度人脸识别的小区人脸门禁系统

    又是一年毕业季,自己转眼间也毕业一年了!!!前段时间帮学妹指导了一个小区人脸识别门禁系统,整个的实现思路在此记录下,感兴趣的可以参考一下. 整个项目沟通后情况如下: 需求功能: 人脸录入 人脸更新 人 ...

最新文章

  1. python抖音批量点赞_python抖音三百条,悠悠一笑乐逍遥
  2. HBase之HFile解析
  3. 学计算机的学校17w,摇号中签率23.19%,学费一年17W?11所民校详情介绍!
  4. SQL Server 2012入门T-SQL基础篇:(2)SQL的两个基础概念
  5. 美国计算机专业硏究生,2014年美国计算机专业研究生排名
  6. 用ajax传值input file,获取 input type=file 标签的内容,并使用ajax进行请求到服务器...
  7. c#:mysql高效查询_C# LLSQL快速查询框架
  8. js html form,JavaScript 表单
  9. FinTech领域的风险控制——风险篇
  10. sql server 更新语句
  11. Unity中UI界面颤抖解决方法
  12. html里怎么引用php代码,如何实现在html引用php代码,不是简单的?php ?
  13. SQL必知必会知识点总结
  14. 计算T临界值分布的表
  15. 微信小程序学习资料——转载
  16. spring报错→UnexpectedRollbackException: Transaction silently rolled back becaus
  17. 坐标旋转变换 公式图解
  18. 杰理之高低速(HSB/LSB)时钟硬件模块【篇】
  19. 如何在web端登录企业邮箱? 163企业邮箱怎么登陆?
  20. P1458 [USACO2.1]顺序的分数 Ordered Fractions

热门文章

  1. 增强人体免疫力的方法
  2. 二十四节气 c语言,(c语言实现)打印指定年份的公历表和农历表
  3. python 销售数据分析输出表格_Python处理Excel数据实例--销售数据分析
  4. linux环境搭建,基本命令以及文件属性学习
  5. 解决JVM内存不足的问题
  6. 企业微信内部推广的6大方法
  7. C++ 左值与右值 左值引用与右值引用
  8. 恐造成下一个“千年虫”的闰秒,遭科技巨头们联合抵制
  9. java实现双重曝光功能_看起来很「高大上」的双重曝光,其实用手机就能轻松搞定...
  10. 金万维动态域名完美应用于无公网IP网络