人脸识别考勤 Android 课程设计

题目十二

如果点不了衔接,下面有文本
参考文挡百度人脸识别api
https://ai.baidu.com/ai-doc/FACE/7k37c1twu
学长写的
https://blog.csdn.net/qq_36752486/article/details/88045868#_Toc22179_WPSOffice_Level1

源代码
注释详尽细致
代码规范比较好(虽然还是垃圾)
开源地址
https://github.com/Duskry/FaceCheck
没有提供app
请自己打包,看一下源代码在用,测试demo。

主要用到的技术有人脸识别,文件的读取,数据库,网络IO,图像处理

设计情况
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

UI界面
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

数据设计


类型 是否为空 注释 其他
Id Integer 标识 PK 自增
Account Text 用户账户 一般为数字
Name Text 用户名字 一般为中文
Pwd Text 账户密码 字母数字常用字符
Role Integer 用户权限代码 1 学生2 老师3 超级管理员

类型 是否为空 注释 其他
Checkid Integer 标识 PK 自增
Account Text 用户账户 一般为数字
Name Text 用户名字 一般为中文
Checktime Time 用户打卡时间 时间格式 例如2019-12-12 09:00:00

主要功能模块

A. 账户注册与登录
负责账号登录和注册的主要逻辑,匹配账号密码才能登录,同时,加入权限管理。
对于不同权限的人展示不同的组件。

B. 人脸注册与识别
每个账号本质上可以对应多个人脸,给与每个账号注册一个人脸,人脸可以通过相册导入和相机拍照获得。之后上传人脸和相关信息到百度的人脸库。

C. 考勤打卡
考勤打卡同样需要上传图片,图片的获取方式可以是相册或者相机。读入图片的EXIF信息。校对要求,比如时间差在一个小时以内,位置信息等。

D. 人脸管理
更新用户的人脸数据,或者删除人脸数据
E. 打卡信息管理
可以选择日期或者账户对已经打卡的人员已经一个查看。

代码结构:

├─main
│ ├─java
│ │ └─com
│ │ └─ren
│ │ └─face
│ │ ├─acitivity
│ │ ├─adapter
│ │ ├─bean
│ │ ├─constant
│ │ ├─dao
│ │ ├─database
│ │ ├─handler
│ │ ├─service
│ │ └─utils

说明 :

  1. activity包中是主要界面的主逻辑,是活动的主体。
  2. adapter包是用于展示视图的适配器
  3. bean定义了POJO类和一些网络请求的结果封装类
  4. constant包中是一些常量的定义
  5. dao 是对象序列化成数据库数据的转化层
  6. database 定义Android独有的SQLite数据的创建和更新
  7. handler中是网络异步请求的回调类,处理上传图片完成之后需要做的事情
  8. service 中主要是一些网络请求相关的类 和处理人脸识别和上传的主函数
  9. utils定义了一些网络,图片工具。包含图片压缩,图片转码,网络getpost请求。

其他的就不说了。看代码都能懂

发布了22 篇原创文章 · 获赞 2 · 访问量 881

猜你喜欢

转载自blog.csdn.net/weixin_41685373/article/details/103610775