利用人脸识别实现课堂签到 基于OpenCV在Android上的实现_第1页
利用人脸识别实现课堂签到 基于OpenCV在Android上的实现_第2页
利用人脸识别实现课堂签到 基于OpenCV在Android上的实现_第3页
利用人脸识别实现课堂签到 基于OpenCV在Android上的实现_第4页
利用人脸识别实现课堂签到 基于OpenCV在Android上的实现_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

利用人脸识别实现课堂签到基于OpenCV在Android上的实现中南大学物联网编程课程小组项目报告人:董嘉伟目录

Content应用背景来源应用介绍如何实现此应用测试效果展示结语应用背景来源

AppSource大学期间,很多老师评价平时成绩依靠其到课率,而点名是最常见的方式。点名通常会占用课堂的大量时间,效率低下。替人答到也令点名“质量”堪忧。……应用介绍

AppIntroduction老师通过Android手机摄像头捕捉当前教室中的信息,拍摄照片。照片经应用后台处理后,会在每位同学的头像附近产生一个框,并标记学生姓名。根据需求统计到课人数照片可以保存记录,方便老师以后查询佐证。我们面临很多问题如何调用摄像头拍照并存储?我们如何实现人脸检测?怎样识别照片中的同学并准确标记?

……——行胜于言,

Let’sGo!

接下来,你将解决这些问题。如何实现此应用

Howtomakeit?如何实现此应用?

Howtomakeit?调用摄像头拍照OpenCV编译环境的搭建人脸检测学生信息标记问题和困难1、2、3、4、5、6、调用摄像头拍照

Callcameratakepictures

It‘seasy!Soeasy!本PPT只是展示小组项目中的关键问题的解决方案,不提供非关键技术的指导。欲学习,请自行参考ShawnVanEvery编著的《Android多媒体开发高级编程》第一、二章内容。很不幸的是,这种方法被否决了。(原因细说)替代方法稍后展示。OpenCV

What’sOpenCVOpenCV的全称是:OpenSourceComputerVisionLibrary。OpenCV是一个基于(开源)发行的跨平台计算机视觉库,它轻量级而且高效——由一系列C函数和少量C++类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。最新版本是2.4.3。人脸识别需要大量计算机图形学的相关知识,这一般属于研究生图像处理。我们采用OpenCV已高度封装好的方法库,无需深入探讨图像处理,拿来即用。编译环境的搭建

BuildyourWorkplaceOpenCV提供了C/C++、Python接口,欲在Android中使用,涉及到Java、C、C++交叉编译。需要利用JNI编写本地代码,并采AndroidNDK编译本地代码。AndroidNDK是一个工具集,集成Android交叉编译环境,并提供了一套比较方便的Makefile,可以帮助开发者快速开发C/C++的共享库。Cygwin用来在Windows环境下模拟Linux环境,在此Linux模拟环境中利用NDK对本地代码进行编译。编译环境的搭建

BuildyourWorkplace应用实现流程OpenCV现已官方支持在Android环境下的开发,下载OpenCV2.43源代码文件,将其减压到一新建文件夹中。打开cygwinOpenCV2.43内的android文件夹下,执行“mkdirbuild”指令,完成创建build文件夹,然后执行“cdbuild”指令进入build文件夹,随后执行“cmake..”指令生成makefile编译文件,最后执行“make”指令对其进行编译,编译完成后将生成OpenCV静态库,用于在Android环境下基于OpenCV的Android应用软件开发。人脸检测

FaceDetection人脸检测属于目标检测(objectdetection)

的一部分,主要涉及两个方面。先对要检测的目标对象进行概率统计,从而知道待检测对象的一些特征,建立起目标检测模型。用得到的模型来匹配输入的图像。OpenCV在物体检测上使用的是haar特征的级联表,这个级联表中包含的是boost的分类器。首先,人们采用样本的haar特征进行分类器的训练,从而得到一个级联的boost分类器。在现在的OpenCV版本中,使用级联分类器做人脸检测的时候,有两种选择:一是使用老版本的CvHaarClassifierCascade,一是使用新版本的CascadeClassifier类。老版本的分类器只支持类Haar特征,而新版本的分类器既可以使用Haar,也可以使用LBP特征。人脸检测

FaceDetectionOpenCVManagerisanAndroidservicetargetedtomanage。OpenCVlibrarybinariesonendusersdevices.ItallowssharingtheOpenCVdynamiclibrariesofdifferentversionsbetweenapplicationsonthesamedevice.人脸检测

FaceDetection

Matimg=CV.imread(istring);//加载图片得到RGB彩色模型Mat数据CascadeClassifiercascade;cascade.load(cstring);//得到分类器CascadeClassifier数据Matgray,smallImg(cvRound(img.rows/scale),cvRound(img.cols/scale),CV_8UC1);/cvtColor(smallImg,gray,CV_RGB2GRAY);//对图像数据进行灰度化equalizeHist(smallImg,smallImg);//进行直方图均衡化cascade.detectMultiScale(smallImg,faces,1.1,2,0|CV_LBP_SCALE_IMAGE,Size(30,30));//进行人脸检测学生信息标记

Students’informationState

到课人数统计原理很简单,统计标框数。MatOfRectfaces=newMatOfRect();Rect[]facesArray=faces.toArray();facesArray.length()学生信息标记

Students’informationState

学生信息识别方案构想(未实现)利用WiFi构建WLAN教师节点及学生节点权限不同教师拍照事件触发后,向所有WLAN内节点发出Invite,学生收到后作出相应信息回馈包含学生姓名以及学生相对位置信息应用后台处理完成后,完成学生信息标记TeacherStu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论