资源简介
本资源是基于树莓派的人脸识别门禁系统的源码,带有界面的系统,使用的是python2.7+OpenCV3.4.0+PyQt5进行开发,具有检测人脸、录入人脸、训练人脸和人脸识别开门的功能,具体可参见博客:https://blog.csdn.net/One_L_Star/article/details/99837868
代码片段和文件信息
# -*- coding: utf-8 -*-
import sys
import cv2
import threading
from PyQt5.QtCore import QBasicTimer
from PyQt5.QtCore import *
from PyQt5.QtWidgets import QApplication QWidget QPushButton QLabel QLineEdit QGridLayout QMessageBox QGroupBox
from PyQt5 import QtWidgets
from PyQt5 import QtCore QtGui QtWidgets
from PyQt5.QtWidgets import QWidget QLabel QApplication
from PIL import Image
import numpy as np
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import QPalette QBrush QPixmap
import os
import RPi.GPIO as GPIO
# 定义人脸标签和初始化标签对应的人物名称
id = 0
names = [‘None‘ ‘oneStar‘ ‘LR‘ ‘GuoMo‘ ‘FeiGe‘]
# 导入GPIO
import RPi.GPIO as GPIO
# 设置GPIO模式,BCM模式在所有数码派通用
GPIO.setmode(GPIO.BCM)
# 设置GPIO25为电流输出
GPIO.setup(25 GPIO.OUT)
# 导入OpenCV自带的数据集,定义多个是因为在后面有多次调用,用一个的话会报错
faceCascade = cv2.CascadeClassifier(‘/home/pi/Downloads/opencv-3.4.0/data/haarcascades/haarcascade_frontalface_default.xml‘)
faceCascade2 = cv2.CascadeClassifier(‘/home/pi/Downloads/opencv-3.4.0/data/haarcascades/haarcascade_frontalface_default.xml‘)
faceCascade3 = cv2.CascadeClassifier(‘/home/pi/Downloads/opencv-3.4.0/data/haarcascades/haarcascade_frontalface_default.xml‘)
# 继承QLineEdit,重写mouseReleaseEvent函数
class mylineedit(QLineEdit):
clicked = pyqtSignal() # 定义clicked信号
def mouseReleaseEvent(self QMouseEvent):
if QMouseEvent.button() == Qt.LeftButton:
self.clicked.emit() # 发送clicked信号
# 创建主界面类
class Ui_Menu(QWidget):
def __init__(self):
super(Ui_Menu self).__init__()
# 创建label并设置文本内容
self.label = QLabel(‘欢迎使用人脸识别门禁系统‘ self)
# 创建普通用户和管理员按键
self.btn_ordinary = QPushButton(‘普通用户‘ self)
self.btn_admin = QPushButton(‘管理员‘ self)
# 初始化界面
self.init_ui()
def init_ui(self):
# 设置窗口大小
self.resize(1280 800)
# 设置label框的位置
self.label.move(140 200)
# 设置按键框的位置和大小
self.btn_ordinary.setGeometry(550 420 181 61)
self.btn_admin.setGeometry(550 510 181 61)
# 设置label样式(字体、大小、颜色等)
self.label.setstyleSheet(
“QLabel{color:rgb(000255);“ # 字体颜色为黑色
“font-size:82px;font-weight:bold;“ # 大小为70 加粗
“font-family:Roman times;}“) # Roman times字体
self.btn_ordinary.setstyleSheet(
“QPushButton{color:rgb(000255);“ # 字体颜色为黑色
“font-size:30px;“ # 大小为30
“font-family:Roman times;}“) # Roman times字体
self.btn_admin.setstyleSheet(
“QPushButton{color:rgb(000255);“ # 字体颜色为黑色
“font-size:30px;“ # 大小为30
“font-family:Roman times;}“) # Roman times字体
# 点击管理员按钮事件
self.btn_admin.clicked.connect(self.slot_btn_admin)
# 点击普通用户按钮事件
self.btn_ordinary.clicked.connect(self.slot_btn_ordinary)
# 点点击管理员按钮事件
def slot_btn_admin(self):
self.logon = Ui_logon()
self.logon.showFullScreen()
self.hide
- 上一篇:python爬取淘宝信息并作分析
- 下一篇:画散点图轮廓图雷达图调和曲线图等
相关资源
- python实现SGBM图像匹配算法
- python实现灰度直方图均衡化
- scrapy_qunar_one
- Python学习全系列教程永久可用
- python简明教程.chm
- 抽奖大转盘python的图形化界面
- 双边滤波器实验报告及代码python
- python +MYSQL+HTML实现21蛋糕网上商城
- Python-直播答题助手自动检测出题搜索
- OpenCV入门教程+OpenCV官方教程中文版
- Python 串口工具源码+.exe文件
- Python开发的全栈股票系统.zip
- Python操作Excel表格并将其中部分数据写
- python书籍 PDF
- 利用python绘制散点图
- python+labview+No1.vi
- 老男孩python项目实战
- python源码制作whl文件.rar
- python3.5可用的scipy
- PYTHON3 经典50案例.pptx
- 计算机科学导论-python.pdf
- python模拟鼠标点击屏幕
- windows鼠标自动点击py脚本
- 鱼c小甲鱼零基础学python全套课后题和
- Python 练习题100道
- Practical Programming 2nd Edition
- wxPython Application Development Cookbook
- python 3.6
- Python 3.5.2 中文文档 互联网唯一CHM版本
- python3.5.2.chm官方文档
评论
共有 条评论