Python tkinter 实现简易人脸识别系统(基于opencv)

简介: 从无到有,基于 opencv 模块,以及开源的正面检测器,用 tkinter 实现的一个简易人脸识别系统

简易人脸识别系统

从无到有,基于 opencv 模块,以及开源的正面检测器,用 tkinter 实现的一个简易人脸识别系统

其中正面检测器是用别人开源的数据,即仓库源代码中的 data_haarcascades_haarcascade_frontalface_default.xml 文件

代码仓库地址:小康2022 / face_recognizer · GitCode

效果展示

界面样式

左上为摄像头开启时实时显示的画面,右上为开启人脸识别后识别度的显示(以绘图的方式,随时间移动),图中左上为识别情况(开启人脸识别后显示),右下为鼠标在图上的坐标,以百分数显示,右下小图是人脸识别的人脸,左下是一些操作及选择,中间下方为当前已有的模型(trainner文件夹中的),最下方是状态栏,状态栏右侧两个按钮,可以调节右上显示图的属性,左侧是一些说明。

选择模型

那三个模型是我之前已经训练好的,大家也可以在”录入数据“中训练属于自己的模型,训练数据越大(建议1000),识别效果越好。当然,代码仓库里面没有现成的模型,毕竟高识别度模型对于每个人都是不一样的。

打开摄像头

摄像头的调用是通过 opencv 模块实现的,调用摄像头需要一会儿时间,在调用的同时会读取选中的模型,模型越大,调用时间越久,但大多都在几秒内完成。如果没有选中模型,则只会打开摄像头,而不进行人脸识别。

调节摄像头参数

这个调节器是 opencv 自带的,有些人的摄像头可能不是默认值,可在这里将其设为默认值。

人脸识别

人脸识别是持续的,绿色的识别框会随着人脸的移动而移动,而右上的图会实时显示相关的数据

还有其他更多功能!

录入数据

数据的录入到形成模型有两个过程,先收集数据,再对收集的数据进行训练。

其中,收集数据时,摄像头会保持开启并持续拍摄照片,通过开源模型解析人脸得到数据,然后再对训练的数据进行训练,最终得到模型。数据收集过程可能会很漫长,但训练速度很快。

训练好模型后,训练材料(源码中data文件夹下)会被自动删除,毕竟几千个数据有点大,不过模型本身也比较大,一万个数据训练的模型的大小已经达到了 1.27GB 了,而且调用起来非常慢,识别时特别卡(或许是我电脑不太好),摄像头显示画面的左上有 FPS 显示。

还想了解更多的朋友,可以去代码仓库(前面给了地址)下载源码,自己运行并体验一下。

运行环境要求

要求 Python3.8 及以上版本,Python3.10 以上会更好一点,因为不同版本的 GUI 界面略有差异。

同时,运行需要的第三方模块有:numpycv2(基础的opencv-python模块和人脸识别需要的opencv-contrib-python模块)、PILpillow模块)

目录
相关文章
|
21天前
|
机器学习/深度学习 人工智能 算法
植物病害识别系统Python+卷积神经网络算法+图像识别+人工智能项目+深度学习项目+计算机课设项目+Django网页界面
植物病害识别系统。本系统使用Python作为主要编程语言,通过收集水稻常见的四种叶片病害图片('细菌性叶枯病', '稻瘟病', '褐斑病', '稻瘟条纹病毒病')作为后面模型训练用到的数据集。然后使用TensorFlow搭建卷积神经网络算法模型,并进行多轮迭代训练,最后得到一个识别精度较高的算法模型,然后将其保存为h5格式的本地模型文件。再使用Django搭建Web网页平台操作界面,实现用户上传一张测试图片识别其名称。
72 21
植物病害识别系统Python+卷积神经网络算法+图像识别+人工智能项目+深度学习项目+计算机课设项目+Django网页界面
|
20天前
|
机器学习/深度学习 算法 TensorFlow
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
交通标志识别系统。本系统使用Python作为主要编程语言,在交通标志图像识别功能实现中,基于TensorFlow搭建卷积神经网络算法模型,通过对收集到的58种常见的交通标志图像作为数据集,进行迭代训练最后得到一个识别精度较高的模型文件,然后保存为本地的h5格式文件。再使用Django开发Web网页端操作界面,实现用户上传一张交通标志图片,识别其名称。
46 6
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
|
16天前
|
机器学习/深度学习 人工智能 算法
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
文本分类识别系统。本系统使用Python作为主要开发语言,首先收集了10种中文文本数据集("体育类", "财经类", "房产类", "家居类", "教育类", "科技类", "时尚类", "时政类", "游戏类", "娱乐类"),然后基于TensorFlow搭建CNN卷积神经网络算法模型。通过对数据集进行多轮迭代训练,最后得到一个识别精度较高的模型,并保存为本地的h5格式。然后使用Django开发Web网页端操作界面,实现用户上传一段文本识别其所属的类别。
31 1
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
|
2天前
|
机器学习/深度学习 算法 计算机视觉
【Python篇】Python + OpenCV 全面实战:解锁图像处理与视觉智能的核心技能
【Python篇】Python + OpenCV 全面实战:解锁图像处理与视觉智能的核心技能
22 2
|
10天前
|
数据采集 存储 XML
构建高效的Python爬虫系统
【9月更文挑战第30天】在数据驱动的时代,掌握如何快速高效地获取网络信息变得至关重要。本文将引导读者了解如何构建一个高效的Python爬虫系统,从基础概念出发,逐步深入到高级技巧和最佳实践。我们将探索如何使用Python的强大库如BeautifulSoup和Scrapy,以及如何应对反爬措施和提升爬取效率的策略。无论你是初学者还是有经验的开发者,这篇文章都将为你提供宝贵的知识和技能,帮助你在信息收集的海洋中航行得更远、更深。
30 6
|
14天前
|
前端开发 Python
python之【Tkinter模块】
python之【Tkinter模块】
20 5
|
18天前
|
机器学习/深度学习 数据挖掘 测试技术
自学Python的系统策略与步骤
通过遵循这些步骤和策略,你可以系统地自学Python,并有效地构建和深化你的编程知识和技能。
18 6
|
16天前
|
机器学习/深度学习 人工智能 算法
【果蔬识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
【果蔬识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台。果蔬识别系统,本系统使用Python作为主要开发语言,通过收集了12种常见的水果和蔬菜('土豆', '圣女果', '大白菜', '大葱', '梨', '胡萝卜', '芒果', '苹果', '西红柿', '韭菜', '香蕉', '黄瓜'),然后基于TensorFlow库搭建CNN卷积神经网络算法模型,然后对数据集进行训练,最后得到一个识别精度较高的算法模型,然后将其保存为h5格式的本地文件方便后期调用。再使用Django框架搭建Web网页平台操作界面,实现用户上传一张果蔬图片识别其名称。
36 0
【果蔬识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
|
1天前
|
iOS开发 MacOS Python
Python编程-macOS系统数学符号快捷键录入并生成csv文件转换为excel文件
Python编程-macOS系统数学符号快捷键录入并生成csv文件转换为excel文件
|
1天前
|
Python
Python 中的文件处理与系统模块详解
Python 中的文件处理与系统模块详解
8 0