当前位置:网站首页>Class head up rate detection based on face recognition
Class head up rate detection based on face recognition
2022-07-08 00:41:00 【biyezuopinvip】
Resource download address :https://download.csdn.net/download/sheziqiong/85948238
Resource download address :https://download.csdn.net/download/sheziqiong/85948238
Head up rate detection system
This warehouse designs and implements a simple head rate detection system , Get the real-time image of the classroom by calling the camera , Face recognition on images , And calculate the real-time rise rate of the class in combination with the number of students in the database . Besides , We also designed a UI interface , For managers to browse and manage .
This warehouse contains the following contents :
- All the source code needed for the system to run ( share ipython and py Two file formats , Can operate independently and completely )
- Face recognition requires good training
- Pictures and data needed to run the test
Content abstract
Code function introduction
This document only describes .ipython file , Corresponding .py The document will not repeat , The content is the same .
camera.ipynb
This code realizes calling the camera to intercept the image at a certain time , And store it locally .
code0_initial.ipynb
This code is the original body code , Face recognition mainly refers to dlib A sample program of , There are still some original English comments in the code , Explain the possible problems in the environment configuration , If you are interested, you can have a look .
code1_window_and_face_recognition.py.ipynb
This code is the first relatively complete code , It has been able to run completely , And brought UI Interface .
code2_password_final.ipynb
Just like the file name of this code , It is the login interface added to the code of the previous version , And improve the functions of the code , It is the final code used in this system . It's too troublesome not to look at the first two versions of the code , Just look at the final version .
The code is mainly composed of three parts : Interface code 、 Face detection code and data call code .
Interface code is used tkinter library , Face detection code is also called directly opencv A human face detection interface , Call the trained model and directly check the picture infer That's it . Data calling code mainly calls two kinds of data , They are classroom information and real-time pictures of the classroom . The former is used for head up rate detection , The latter is used to display the real-time image of the classroom on UI On the interface , For observation and comparison .
Key code explanation
In fact, the whole code is also relatively simple , There's nothing to talk about , It's basically the code of the interface , Let me talk about the core functions , Face detection function .
def inspect(): ## Declare a function
nonlocal face ## take face Variables are defined as global , So you don't have to face to return 了 , What comes out of the function face value , You can also get , Can guarantee face Worth real-time
str1 = " classroom "
str2 = " The rise rate in class is :"
path = r'.\faces' ## The path to save the picture
pic_path = str(class_room_chosen.get()) + str(course_time_chosen.get()) + '.jpg' ## Get the name of the corresponding picture according to the selected classroom and time ( The name of the picture needs to be named according to certain rules , Otherwise, an error will be reported )
p = path + '/' + pic_path ## Splice the total path of the image with the name of a single image , Get the path of a single image
img = cv2.imread(p) ## Read the picture
color = (0, 255, 0)
grey = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) ## Only select the image data of a single channel for processing , Is to turn the color image into a gray-scale image
classfier = cv2.CascadeClassifier(
r".\haarcascade_frontalface_alt2.xml") ## Create a classifier , This classifier is already trained , Call a trained model file
faceRects = classfier.detectMultiScale(grey, scaleFactor=1.2, minNeighbors=3, minSize=(32, 32)) ## Face recognition of images through classifiers
a = len(faceRects) ## faceRects There are several pieces of data , It means that there are several faces , So we can judge how many people are looking up
face = a
str3 = str(a) ## Change data format , So that it can be output in UI On the interface
Operation description and result display
Operating instructions
Coding language :python3.7
Programming environment : Jupyter notebook
The main dependency Library : Opencv
Result display
The first is the login interface :

Because of time , This system does not really realize the password verification function , Interested partners can combine MySQL Database and so on to realize this function .
The second is the initialization interface of the system , That is, the interface you will jump to after logging in :

Finally, the result display screen of the head up rate , After selecting the corresponding classroom and time , Click the two buttons on the interface in turn , You can show the rise rate , And the real-time image of the classroom is displayed on the side :

Resource download address :https://download.csdn.net/download/sheziqiong/85948238
Resource download address :https://download.csdn.net/download/sheziqiong/85948238
边栏推荐
- Cause analysis and solution of too laggy page of [test interview questions]
- Which securities company has a low, safe and reliable account opening commission
- Qt添加资源文件,为QAction添加图标,建立信号槽函数并实现
- Reptile practice (VIII): reptile expression pack
- 某马旅游网站开发(对servlet的优化)
- Basic mode of service mesh
- 第一讲:链表中环的入口结点
- Jouer sonar
- 51与蓝牙模块通讯,51驱动蓝牙APP点灯
- Su embedded training - day4
猜你喜欢

3年经验,面试测试岗20K都拿不到了吗?这么坑?

Huawei switch s5735s-l24t4s-qa2 cannot be remotely accessed by telnet

基于微信小程序开发的我最在行的小游戏

玩转Sonar
![[programming questions] [scratch Level 2] March 2019 garbage classification](/img/08/9f7ebf4302c9239784751b579c9efc.png)
[programming questions] [scratch Level 2] March 2019 garbage classification

What if the testing process is not perfect and the development is not active?
![[研发人员必备]paddle 如何制作自己的数据集,并显示。](/img/50/3d826186b563069fd8d433e8feefc4.png)
[研发人员必备]paddle 如何制作自己的数据集,并显示。

Thinkphp内核工单系统源码商业开源版 多用户+多客服+短信+邮件通知

接口测试要测试什么?

Kubernetes static pod (static POD)
随机推荐
他们齐聚 2022 ECUG Con,只为「中国技术力量」
华泰证券官方网站开户安全吗?
取消select的默认样式的向下箭头和设置select默认字样
Lecture 1: the entry node of the link in the linked list
国外众测之密码找回漏洞
如果在构造函数中抛出异常,最好的做法是防止内存泄漏?
Thinkphp内核工单系统源码商业开源版 多用户+多客服+短信+邮件通知
从服务器到云托管,到底经历了什么?
什么是负载均衡?DNS如何实现负载均衡?
[C language] objective questions - knowledge points
《因果性Causality》教程,哥本哈根大学Jonas Peters讲授
RPA云电脑,让RPA开箱即用算力无限?
备库一直有延迟,查看mrp为wait_for_log,重启mrp后为apply_log但过一会又wait_for_log
Summary of the third course of weidongshan
[Yugong series] go teaching course 006 in July 2022 - automatic derivation of types and input and output
How does the markdown editor of CSDN input mathematical formulas--- Latex syntax summary
QT adds resource files, adds icons for qaction, establishes signal slot functions, and implements
How to learn a new technology (programming language)
Which securities company has a low, safe and reliable account opening commission
How to insert highlighted code blocks in WPS and word