# 人脸识别 **Repository Path**: zfisher/face-recognition ## Basic Information - **Project Name**: 人脸识别 - **Description**: 基于tiny4412开发板的人脸识别系统 - **Primary Language**: C - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-11-26 - **Last Updated**: 2022-11-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: tiny4412, Linux, arm ## README # 人脸识别 #### 介绍 基于tiny4412开发板的人脸识别系统 #### 软件架构 ![输入图片说明](%E7%B3%BB%E7%BB%9F%E7%BB%93%E6%9E%84.png) #### 使用说明 - 图像数据采集模块:利用超声波测距,来判断摄像头是否工作,若工作,采集图像上传到系统。 - 图像显示模块:显示用户操作提示信息,同时显示摄像头采集到的用户照片。 - 触屏模块:通过触屏操作打开摄像头进行拍照。 - 云端参数获取模块:利用https协议访问百度云库来获取对比结果。 - 图像处理模块: 利用base64将图片转换成字符串上传进云端进行对比,然后接受云端返回的相似度情况以及人脸唯一标志。 - 管理者登录模块:利用返回的标志与数据库中人员参数进行对比,在数据库中记录员工签到打卡时间。 ### 函数接口 | 接口名称 | 参数说明 | 返回值 | 接口描述 | |---------------|------------------------------------------|--------------------------|-------------------------| | Base64_encode | Unsigned char *str Int len_str | Res结构体 | 创建base64表 | | Base64_decode | Unsigned char *code Int *code_len | Res结构体 | 对图片进行解码 | | Get_https | Char *imag1 | Return 0 成功 Return -1失败 | 发送请求头 | | Doit | Char *text Char *buf | void | 将JSON转化为字符串 | | dofile | Char *filename Char *buf | void | 创建网页文件接收响应头 | | deal | Char *buf Face_result *res | void | 对响应头进行处理,得到所需信息 | | Find_face | Char * filename Int len Face_Result *res | Return 0 成功 Return -1失败 | 将照片上传至云端进行对比 | | Get_pic | Char *pic_name | Return 0 成功 Return -1失败 | 驱动摄像头获取照片 | | Read_frame | void | Return 0 成功 Return -1失败 | 将缓冲区中捕获到的一帧照片出列写入文件后再入列 | | Fb_driver_init| void | Return 0 成功 Return -1失败 | 读取屏幕信息,开始映射| | Show_jpg | Const char *name | Return 0 成功 Return -1失败 | 将JPEG格式转化为BMP格式后写入屏幕| | Sqlite_comp_human| Char *uid | Return 0 成功 Return -1失败 | 将客户端上传的UID与数据库中进行比对 | | check | void *flag, int col, char **result, char **title | Return 0 成功 Return -1失败 | 获取UID所对应的姓名 | | Sqlite_inc_sign | Char *uid, Char *name | Return 0 成功 Return -1失败 | 将签到人员信息与时间写入库中 | | Result_sign | void *flag, int col, char **result, char **title | Return 0 成功 Return -1失败 | 将签到表中的数据写入网页 | | Show_bmp | int x0, int y0, int width, int height, char *filename | Return 0 成功 Return -1失败 | 将图片映射在LCD屏幕上 | | Touch_screen | | Return 0 成功 Return -1失败 | LCD屏幕触控,手动开启签到系统 | | display_show_utf8_str | UTF8_INFO *info, int arg_x, int arg_y, char* zi, u32 col, u32 col1 | Return 0 成功 Return -1失败 | 提示签到成功或失败 | | beep_suc | | Return 0 成功 Return -1失败 | 提示签到成功,蜂鸣器响应1秒 | | beep_fal | | Return 0 成功 Return -1失败 | 提示签到失败,蜂鸣器连续响应两次0.5秒。 | | cli2ser | Face_Result *res | Return 0 成功 Return -1失败 | 作为客户端向本地服务器发送签到人员UID |