# 智能入口身份识别 **Repository Path**: mr-chen2003/project ## Basic Information - **Project Name**: 智能入口身份识别 - **Description**: 基于C++与OpenCV的小区门禁类型的项目 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-11-28 - **Last Updated**: 2024-11-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 项目名称: 智能入口身份识别 项目负责人: Chen 团队成员: Chen ### 设计目标: 提高安全性:通过人脸识别技术增强小区门禁系统的安全性。 提升用户体验:实现快速、无接触的门禁访问控制。 确保隐私保护:在收集和处理面部数据时遵守隐私法规。 跨平台兼容性:确保软件在Windows和Linux环境下都能稳定运行。 易于维护和扩展:设计模块化系统,便于未来的维护和功能扩展。 ### 功能描述: 服务器: 1. 接收客户端数据,以及广播信息和数据发送。 2. 用户注册与管理:允许用户注册面部信息,并由管理员审核。 3. 访问记录:记录每次门禁使用详情。 4. 系统监控与维护:监控系统性能,提供日志记录。 5. 用户界面/用户体验设计:提供直观易用的用户界面。 客户端: 1. 重连机制:在连接失败时,自动重连。 2. 人脸识别:实时捕捉图像并进行身份验证。 3. 异常检测与报警:检测未授权访问并触发警告。 4. 访问记录:记录每次门禁使用详情。 5. 系统监控与维护:监控系统性能,提供日志记录。 6. 用户界面/用户体验设计:提供直观易用的用户界面,天气温度和实时数据显示。 7. 模块化设计:模块间通过接口进行通信,便于扩展和修改。 ### 设计方案: 软件设计:基于QT Creator平台 和 QT 架构,采用C/C++语言编程、多线程编程、socket编程、http协议、cJSON、CVui图形库,结合Windows 和 Linux 环境进行开发。 ## 使用说明书 ### 环境搭建 使用VScode进行源码编写 在QT Creator进行项目构建,编译运行。 ### 项目目录 client:客户端源代码 server:服务器源代码 build-xxxx:QT Creator 构建和编译文件存放目录 face_data:用户和人脸数据存放目录 model: 人脸模型文件存放目录 img:: 界面设计的图片素材存放目录 README.md:项目说明文档 ## 功能描述 #### 客户端: 程序运行后,尝试连接服务器,如果未成功,会后台一直尝试重连服务器。 如果连接成功,会将用户相关数据和日志发送给服务器。 在未连接服务器的情况下,会将相关数据暂存在本地文件中。 界面左边显示摄像头获取的画面,在识别到人脸会出现人脸框,以及在右边显示截取到的人脸,否则在右边显示提示信息。 界面右边上方显示天气温度和实时时间,下方显示相似度。 识别成功超过两秒会出现成功弹窗以及用户名,并将记录写入日志。 识别到人脸但超过5秒未通过认证,出现警告弹窗,并将记录写入日志。 #### 服务端: 程序运行后,会初始化服务器,并在后台监听客户端连接。 当有客户端连接时,会创建线程接收客户端发送的数据,并进行处理。 界面左边显示摄像头获取的画面,在识别到人脸会出现人脸框。 界面右边显示提示信息。 当识别到人脸时,并按下特定键"Enter",会截取人脸图像保存在数据目录下,并在界面右边显示截取到的人脸。 在出现人脸图像时,人脸图像下方会出现提示信息,以及注册和更新按钮。 在注册和更新前,需要先在下方输入框输入用户标识和用户姓名,并点击yes按钮确认。 在确认后,点击注册按钮,会注册新的模型并保存在model目录下,并将用户标识和用户姓名写入文件,注册完后会出现注册成功提示。 点击更新,会将当前人脸图像更新到输入框用户名对应的模型,并在终端显示更新成功提示。 客户端和服务器都可以按"ESC"键退出程序。