当前位置: 首页 > news >正文

简单的签到程序 python笔记

简单的人脸识别签到程序

在看完以下代码后,略微修改一番,你就能够组装出自己的“简单的人脸识别签到程序”了。
请注意库的安装,否则会不可用。
你可以通过在cmd中使用:pip install来安装。
以下代码运行python = 3.8

UI界面

使用前安装:PySimpleGUI库

import PySimpleGUI as sg# 创建一个简单的窗口,包含一个标签和一个输入框
Layout = [[sg.Text("编号: ", size=(10, 1)), sg.InputText(key='id')],[sg.Text("姓名: ", size=(10, 1)), sg.InputText(key='name')],[sg.Text(key='msg')],[sg.Button("人脸采集"), sg.Button("关闭"),sg.Button('签到')]]
window = sg.Window("人脸识别", Layout,icon="./icon.ico")
while True:event, values = window.read()# 读取窗口事件和输入值print(event, values)if event == "人脸采集":id = values["id"]name = values["name"]window["msg"].update(f"编号: {id}, 姓名: {name}")# 更新消息框内容sg.popup("人脸采集")elif event == "签到":id = values["id"]name = values["name"]window["msg"].update(f"编号: {id}, 姓名: {name}")if id == "1" and name == "1":sg.popup("签到成功")print("签到成功")else:sg.popup("签到失败")print("签到失败")elif event == "关闭" or event == sg.WIN_CLOSED:print("退出")sg.popup_timed("退出")# 弹出提示信息break

数据库

使用前请安装好MySQL和图形化界面。

CREATE TABLE tu (user_id INT AUTO_INCREMENT PRIMARY KEY,user_name VARCHAR(255) NOT NULL,user_num INT NOT NULL
);

数据库操作

使用前安装:pymysql库

import pymysql# 数据库配置
db_config = {'host': 'localhost','user': 'root','password': '123456','port': 3306,'database': "name",'charset': 'utf8'
}# 增
def connect_mysql(name, num):con = pymysql.connect(**db_config)cur = con.cursor()sql = "insert into tu (user_name,user_num) values(%s,%s)"cur.execute(sql, (name, num))con.commit()if cur.rowcount > 0:print("数据库添加成功")else:print("数据库添加失败")cur.close()con.close()# 改
def update_mysql(name, num):con = pymysql.connect(**db_config)cur = con.cursor()sql = "UPDATE tu SET user_num = %s WHERE user_name = %s"affected_rows = cur.execute(sql, (num, name))con.commit()if affected_rows > 0:print("更新成功")else:print("更新失败或未找到对应的记录")cur.close()con.close()# 删
def delete_mysql(name):con = pymysql.connect(**db_config)cur = con.cursor()sql = "DELETE FROM tu WHERE user_name = %s"affected_rows = cur.execute(sql, (name,))con.commit()if affected_rows > 0:print("删除成功")else:print("删除失败或未找到对应的记录")cur.close()con.close()# 查
def num_to_name(user_num):con = pymysql.connect(**db_config)cur = con.cursor()sql = "SELECT user_name FROM tu WHERE user_num = %s"cur.execute(sql, (user_num,))result = cur.fetchone()cur.close()con.close()return result[0] if result else None

人脸识别

使用前安装配置好cv2(opencv-python),face_recognition,numpy

import cv2
import face_recognition
import os
import numpy as np
#开启摄像头
c = cv2.VideoCapture(0, cv2.CAP_DSHOW)
#文件路径
file_path = "D:\work\python\open\lian"while True:ret,frame = c.read()if ret:#显示图cv2.imshow("a",frame)if cv2.waitKey(20) == 27:breakif cv2.waitKey(20) == 113:# 检测人脸face_list = face_recognition.face_locations(frame)if len(face_list) > 0:print("视频检测到人脸")# 遍历目录path = os.listdir(file_path)# print(path)for i in path:#获取人脸特征img = cv2.imread(f"{file_path}\\{i}")encodings = face_recognition.face_encodings(img)if len(encodings) == 0:continueelse:en1 = face_recognition.face_encodings(img)[0]en2 = face_recognition.face_encodings(frame)[0]iss = np.linalg.norm(en1-en2)# print(iss)if iss < 0.5:print("与图像",i,"中欧几里得距离:",round(iss,2),"是同一个人")else:print("与图像",i,"欧几里得距离为 :",round(iss,2),"不是同一个人")
cv2.destroyAllWindows()

好了,现在你可以组装自己的简单的签到程序了。

相关文章:

简单的签到程序 python笔记

简单的人脸识别签到程序 在看完以下代码后&#xff0c;略微修改一番&#xff0c;你就能够组装出自己的“简单的人脸识别签到程序”了。 请注意库的安装&#xff0c;否则会不可用。 你可以通过在cmd中使用&#xff1a;pip install来安装。 以下代码运行python 3.8 UI界面 使…...

30天如何成功转行成为AI产品经理?如果你也想转行到AI,赶紧进来抄作业!!!

前言 随着AI技术的快速发展&#xff0c;AI产品经理成为了备受瞩目的职业。如果您也想抓住这个机遇&#xff0c;不妨跟随这份30天快速入门指南&#xff0c;开始您的AI产品经理转型之旅。 一、学习路线 第一阶段&#xff08;5天&#xff09;&#xff1a;初阶应用 该阶段让大家…...

基于Python+Vue开发的蛋糕商城管理系统

项目简介 该项目是基于PythonVue开发的蛋糕商城管理系统&#xff08;前后端分离&#xff09;&#xff0c;这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能&#xff0c;同时锻炼他们的项目设计与开发能力。通过学习基于Python的蛋糕商…...

WSL开发--利用Git连接远程仓库(详细步骤)

这篇文章主要介绍了如何将本地项目推送到 GitLab 上&#xff0c;并且避免每次提交都需要输入用户名和密码。文中分步讲解了配置 GitLab SSH 密钥以及配置 Git 远程仓库地址的方法。以下是文章的优化和简洁版&#xff1a; 将本地项目推送到 GitLab 并配置 SSH 免密登录 为了方便…...

VLAN高级+以太网安全

VLAN聚合 MUX VLAN QinQ 以下是这三种VLAN技术的作用及其在项目中的应用实例&#xff1a; VLAN聚合 (VLAN Aggregation) VLAN聚合通常用于将多个VLAN数据聚合到一个物理链路上&#xff0c;以减少链路数量、提高链路利用率。这样可以在一个物理链路上同时传输不同VLAN的数据包&…...

R7:糖尿病预测模型优化探索

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 一、实验目的&#xff1a; 探索本案例是否还有进一步优化的空间 二、实验环境&#xff1a; 语言环境&#xff1a;python 3.8编译器&#xff1a;Jupyter notebo…...

Spring核心:探索IoC容器与依赖注入的奥秘

目录 一、什么是Spring&#xff1f; 二、什么是 Ioc &#xff1f; 2.1 控制反转的实现方式 2.1.1 依赖注入 2.1.2 依赖查找 2.1.3 优点分析 2.2 理解 Ioc 一、什么是Spring&#xff1f; 我们通常所说的 Spring 指的是 Spring Framework&#xff08;Spring 框架&#xff…...

15分钟学 Go 实践项目二:打造博客系统

打造博客系统 项目概述 在本项目中&#xff0c;我们将创建一个简单的博客系统&#xff0c;重点实现CRUD&#xff08;创建、读取、更新、删除&#xff09;操作和用户管理。这个博客系统将使用户能够发布文章&#xff0c;评论&#xff0c;并管理其个人账户信息。 目标 实现用…...

Follow软件的使用入门教程

开篇 看到很多兄弟还不知道怎么用这个当下爆火的浏览器&#xff01;在这里简单给需要入门的小伙伴一些建议&#xff1a; 介绍 简单解释一下&#xff0c;RSS 意思是简易信息聚合&#xff0c;用户可以通过 RSS 阅读器或聚合工具自主订阅并浏览各个平台的内容源&#xff0c;不用…...

【IC验证】systemverilog的设计特性

systemverilog的设计特性 一.概述二.面向硬件的过程语句块1.说明2.always_comb2.always_latch3.always_ff 三.关系运算符1.说明2.例子 四.inside判定符1.说明2.例子 五.条件分支语句&#xff08;1&#xff09;说明&#xff08;2&#xff09;例子&#xff08;case和unique case的…...

【点击劫持漏洞(附测试代码)】

漏洞描述 点击劫持&#xff08;Clickjacking&#xff09;是一种网络攻击技术&#xff0c;攻击者通过将一个恶意的页面或按钮隐藏在合法网站的页面下&#xff0c;诱使用户在不知情的情况下点击隐藏的内容&#xff0c;从而触发攻击者设计的操作。这种攻击通常会导致用户无意中执…...

【AD】3-4 在原理图中放置元件

1.打开原理图库&#xff0c;选中元件点击放置 2.点击工程右键&#xff0c;选择&#xff0c;&#xff0c;进行编译&#xff0c;点击Components&#xff0c;选中鼠标点击拖动即可...

协程2 --- 相关概念

文章目录 协程切换方案协程库的完善程度协程栈方案协程调度实现有栈协程与无栈协程对称协程与非对称协程 协程切换方案 具体使用和解析看栈切换那个博客 使用setjump、longjump c语言提供的方案 可参考&#xff1a;libmill 使用操作系统提供的api&#xff1a;ucontext、fiber …...

Hadoop-005-HDFS分布式文件存储原理

一、HDFS数据如何存储 分布式存储&#xff1a;每个服务器&#xff08;节点&#xff09;存储文件的一部分, 本文提到的part只是为方便理解, 指的文件部分数据, 并不是真实存在的概念 #mermaid-svg-qjJMG6r2bzRNcWkF {font-family:"trebuchet ms",verdana,arial,sans-s…...

【多线程入门篇】 创建线程以及线程的属性

大家好呀 我是浪前 今天给大家讲解的是创建线程以及线程的属性 祝愿所有点赞关注的人&#xff0c;身体健康&#xff0c;一夜暴富&#xff0c;升职加薪迎娶白富美!!! 点我领取迎娶白富美大礼包 &#x1f353;多线程编程: 前言&#xff1a; 我们为什么不用多进程&#xff1f;…...

三十四、Python基础语法(文件操作-上)

一、介绍 文件&#xff1a;可以储存在长期储存设备上的一段数据&#xff0c;在计算机储存的数据都是二进制的形式储存的&#xff0c;我们用软件打开文件不是看见0和1是因为软件会自动将二进制数据进行转换。 二、文件操作 1.打开文件 打开文件&#xff1a;文件是在硬盘中储…...

【大咖云集,院士出席 | ACM独立出版】第四届大数据、人工智能与风险管理国际学术会议 (ICBAR 2024,11月15-17日)--冬季主会场

第四届大数据、人工智能与风险管理国际学术会议 (ICBAR 2024)--冬季主会场 2024 4th International Conference on Big Data, Artificial Intelligence and Risk Management 官方信息 会议官网&#xff1a;www.icbar.net 2024 4th International Conference on Big Data, Art…...

03 Oracle进程秘籍:深度解析Oracle后台进程体系

文章目录 Oracle进程秘籍&#xff1a;深度解析Oracle后台进程体系一、Oracle后台进程概览1.1 DBWn&#xff08;Database Writer Process&#xff09;1.2 LGWR&#xff08;Log Writer Process&#xff09;1.3 SMON&#xff08;System Monitor Process&#xff09;1.4 PMON&#…...

AndroidStudio通过Bundle进行数据传递

作者&#xff1a;CSDN-PleaSure乐事 欢迎大家阅读我的博客 希望大家喜欢 使用环境&#xff1a;AndroidStudio 目录 1.新建活动 2.修改页面布局 代码&#xff1a; 效果&#xff1a; 3.新建类ResultActivity并继承AppCompatActivity 4.新建布局文件activity_result.xml 代…...

Linux篇(文件管理命令)

目录 一、Linux下文件命名规则 1. 可以使用哪些字符 2. 文件名的长度 3. 文件名的大小写 4. Linux文件扩展名 二、目录创建与删除 1. 目录创建 1.1. mkdir创建目录 1.2. mkdir -p 递归创建目录 1.3. 使用mkdir同时创建多个目录 2. 目录删除&#xff08;必须是空目录&…...

质子交换膜燃料电池Comsol完整版仿真模型:涵盖两相流非等温雾状流道、液态水相变及扩散项,考...

质子交换膜燃料电池仿真Comsol完整版 虽然氢电发文量多了&#xff0c;但是氢电模型复杂程度和别的领域没法比&#xff0c;两相流非等温的氢燃料电池&#xff0c;跑通的都得好几千的&#xff0c;这个模型的流道和内侧都是多相流&#xff0c;这个里面是雾状流的流道&#xff0c;目…...

基于Hunyuan-MT-7B的算法竞赛题解翻译系统

基于Hunyuan-MT-7B的算法竞赛题解翻译系统 1. 引言 算法竞赛是全球程序员和算法爱好者展示实力的舞台&#xff0c;但语言障碍常常成为知识共享的壁垒。一道优秀的解题思路&#xff0c;可能因为语言不通而无法被更多人学习借鉴。传统的机器翻译工具在面对算法题解中的专业术语…...

像素幻梦工坊实战落地:数字艺术教育机构像素创作课AI教具部署

像素幻梦工坊实战落地&#xff1a;数字艺术教育机构像素创作课AI教具部署 1. 项目背景与教育价值 在数字艺术教育领域&#xff0c;像素艺术作为入门门槛较低但创意空间广阔的艺术形式&#xff0c;正受到越来越多教育机构的青睐。然而传统像素艺术教学面临两大挑战&#xff1a…...

别再只盯着PID了!用MATLAB的musyn命令,5步搞定复杂不确定系统的鲁棒控制器设计

别再只盯着PID了&#xff01;用MATLAB的musyn命令&#xff0c;5步搞定复杂不确定系统的鲁棒控制器设计 当你的无人机在强风环境下出现姿态抖动&#xff0c;或者工业机械臂负载突变时产生振荡&#xff0c;传统PID控制器往往显得力不从心。这类具有参数不确定性、动态扰动的多变量…...

7天打造智能助理:OpenClaw+Qwen3-VL:30B飞书开发周计划

7天打造智能助理&#xff1a;OpenClawQwen3-VL:30B飞书开发周计划 1. 为什么选择这个组合&#xff1f; 去年冬天&#xff0c;我偶然在GitHub上发现了OpenClaw这个项目。当时我正在为团队寻找一个既能处理日常办公自动化&#xff0c;又能理解图片内容的智能助手方案。传统的RP…...

力扣原题《长度最小的子数组》,无序版(不考虑元素必须要相邻)纯手搓,已验证,有序版在下一篇

给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 子数组 [numsl, numsl1, …, numsr-1, numsr] &#xff0c;并返回其长度。如果不存在符合条件的子数组&#xff0c;返回 0 。 示例 1&#xff1a; 输入&#xff1a;t…...

Mysql是怎么加锁的?

原文地址https://www.xiaolincoding.com/mysql/lock/how_to_lock.html#%E4%BB%80%E4%B9%88-sql-%E8%AF%AD%E5%8F%A5%E4%BC%9A%E5%8A%A0%E8%A1%8C%E7%BA%A7%E9%94%81 我只是精简一下做个记录 这篇汇总将基于 MySQL 8.0 的 InnoDB 引擎&#xff0c;在 可重复读&#xff08;Repe…...

Web开发中前端与Node服务中的信息安全与解决办法

Web开发中前端与Node服务中的信息安全与解决办法 input限制特殊字符和长度 漏洞描述&#xff1a; 永远不要相信用户输入的信息&#xff0c;如常规的注入脚本通过input输入之后被页面执行 整改办法 方法1&#xff1a;对于vue项目中ElementUI的el-input 和 原生input <el-in…...

Go Mutex 与 RWMutex 性能对比

在Go语言并发编程中&#xff0c;Mutex&#xff08;互斥锁&#xff09;和RWMutex&#xff08;读写锁&#xff09;是两种常用的同步机制。它们的性能差异直接影响高并发场景下的程序效率。本文将从多个角度对比两者的性能表现&#xff0c;帮助开发者根据实际需求选择合适的锁机制…...

Qwen3-ASR-1.7B部署案例:AI初创公司低成本构建ASR SaaS服务

Qwen3-ASR-1.7B部署案例&#xff1a;AI初创公司低成本构建ASR SaaS服务 想象一下&#xff0c;你是一家AI初创公司的技术负责人&#xff0c;老板给你下了个任务&#xff1a;两周内&#xff0c;为公司的新产品上线一个语音转文字&#xff08;ASR&#xff09;功能。要求是识别要准…...