Code Monkey home page Code Monkey logo

-'s Introduction

课堂点名

一、项目名称:自动点名

二、设计需求

实现课堂人脸点名功能。

三、实现环境

anaconda 3

python 3.6

import face_recognition

import cv2

import pickle

四、设计方案

1 整体说明

	1.1 项目路径下的文件夹face里存储所有的学生的人脸照片。以学号命名。
	
	1.2 项目路径下的文件夹faceTest里存放上课时学生出勤的照片。可以放置多张照片。多张照片里的学生可重复。
	
	1.3项目路径下的FaceDataSet.txt文件里存储所有学生的人脸数据。初始时为空。
	
2 细节说明

	2.1 iniFaceData.py
	
		初始化人脸数据。调用face_recognition模块将face文件夹下的照片转化成人脸数据存入FaceDataSet.txt里面。
		
	2.2 recognize.py
	
		识别人脸。调用face_recognition模块将faceTest文件夹下的学生出勤照片识别成人脸数据并和faceDataset.txt里的数据进行对比。记录匹配成功的人脸对应的学生的学号并存入数组attend[]里面。同时将出勤照片里的所有的能识别出来的人脸用方框框出来并在窗口faces里显示。
		
	2.3 takePhotos.py
	
		调用摄像头对学生进行拍照。按空格键拍照,照片最终被存入faceTest文件夹下。按esc键退出。
		
	2.4 camareIdentifier.py
	
		调用摄像头将识别出来的人脸数据和faceDatSet.txt里的人脸数据进行匹配。并将视频里的人脸和匹配的学生学号标注出来在窗口video显示。
		
	2.5 faceDataSet.txt
	
		存放iniFaceData.py运行后生成的人脸数据。
		
3 如何使用

	3.1 初始化人脸数据
	
		开始前确保faceDatSet.txt里数据为空;face文件夹里存放了所有人的人脸照片。然后运行iniFaceData.py程序将所有人的人脸数写入faceDatSet.txt。如果需要增加、更新、删除学生的人脸照片,那么需要先清空faceDatSet.txt里的所有数据,然后再运行一遍iniFaceData.py。
		
	3.2 离线点名
	
		可以先用手机或者其他拍摄工具对出勤的学生拍照,然后再将照片存入工程目录下的face文件夹。或者直接运行takePhotos.py对学生进行拍照。照片可以拍很多张。最后再运行recognize.py。程序会输出出勤(attend[])和缺勤(absent[])的学生的学号。
		
	3.3 实时点名
	
		运行camareIdentifier.py程序会自动调用摄像头对在场的学生进行识别并在视频上标注出他们的学号。

-'s People

Contributors

zzy321043695 avatar

Stargazers

朱治非 avatar Scott avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.