最近用python写的毕业设计。总结一下,给大家提供一下参考。准备写一系列的教程,包括一些最基本的人脸识别原理以及具体代码的实现。

本人水平有限,所涉及到的东西很多只是浅层的应用,文中如果有错误,欢迎大家批评指正。

项目概述

本设计采用Python + OpenCV + face_recognition库,利用电脑自带的摄像头,实现人脸的注册、实时的识别和考勤结果的查询。用Pyqt进行UI设计,Pyinstaller进行系统的打包。选择Mysql数据库对数据进行管理。

开发环境:Windows10系统 + Anaconda3 + Pycahrm

众所周知,Python拥有强大的包资源(也就是库多),Anaconda可以非常方便的配置Python开发所需要的各种包、切换不同的虚拟环境满足不同开发需求。Pycharm是当前最为流行的Python IDE,属于Python开发中的重武器,可以满足大型Web开发。操作简单、方便,对新手小白比较友好,基本上你想要干的它全都能满足。

关于人脸识别,可以自己搭建训练器,也可以采用现成的人脸识别包。OpenCV内置了一些常见的训练器,非常方便。但是训练数据少的话特别容易识别错误。原先我自己搭建训练器,成功训练出一个人工智障~~~,最后放弃。采用了face_recognition人脸识别包。

系统的UI设计选择Qt,Python提供了与Qt的API包:Pyqt。关于UI设计,Python内置的Tkinter也可以满足,本人想的折腾一下,选择较为常见的Pyqt作为UI设计工具。

在脚本可以成功运行之后,需要把脚本打包成可执行文件,这样在没有安装相对应的开发环境的电脑上,也可以执行该系统。本系统采用该PyInstaller打包工具,将脚本打包成可执行文件。

脚本运行结束后,所有产生的数据都会清空,当下一次需要上次所产生的数据时(如查询人脸识别记录),根本无法查找。这就需要保存数据,可以以文件的形式将数据保存,也可以使用数据库保存。MySQL是目前最为流行的开源的数据库,功能强大,运行速度快。

开发前提

了解基本的Python语法,此设计所使用的程序都是最基本的语句,没有用到Python复杂的语法。最简单的也是最实用的。

没有基础的同学可以了学习一下python入门资料提取码:didg。

温馨提示:学习编程语言,语法学习和动手实践一起食用更美味哦~

最终效果

最终所设计的UI界面和功能界面比较简洁(说白了就是丑),有兴趣的同学可以进一步深入研究。

登录界面

用python进行人脸识别(一)

主界面

用python进行人脸识别(一)

人脸注册界面

用python进行人脸识别(一)

考勤界面

用python进行人脸识别(一)

人脸识别界面

用python进行人脸识别(一)

查询界面

用python进行人脸识别(一)

相关文章: