项目简介
本项目是一个图片墙系统,支持用户上传、查看和搜索具有人脸识别功能的照片库。采用前后端分离架构,前端运用React.js搭建用户界面并与后端交互数据,后端采用Flask框架处理API请求,实现文件上传、人脸识别、数据检索等业务逻辑,数据存储使用SQLite数据库。
项目的主要特性和功能
前端特性
- 提供直观界面,包含展示所有图片的Home页面和搜索框。
- 支持通过名称搜索相关照片的Search功能。
- 有Image Upload组件用于上传图片并显示上传状态。
- Gallery视图可依据搜索结果或全部图片显示图片墙。
后端特性
- 提供RESTful API,处理前端上传图片、搜索、获取图片列表等请求。
- 具备人脸识别处理器,对上传图片进行人脸检测和识别,并存储人脸数据。
- 实现数据库管理,处理用户、图片、人脸等数据的增删查改操作。
其他特性
- 可扩展性强,后端API和前端组件便于扩展新功能。
- 数据库使用ORM管理,支持未来更换为更高性能的数据库。
- 具备一定安全性,后端验证上传文件类型和大小,可实现用户验证。
安装使用步骤
后端安装与启动
- 进入
backend
目录。 - 创建虚拟环境(可选但推荐):
bash python -m venv venv source venv/bin/activate # Linux/Mac .\venv\Scripts\activate # Windows
- 安装依赖:
bash pip install -r requirements.txt
- 配置数据库等信息,可在
config.py
中修改。 - 启动Flask应用:
bash python app.py
前端安装与启动
- 进入
frontend
目录。 - 安装依赖:
bash npm install
- 启动前端应用:
bash npm start
使用
打开浏览器,访问前端应用地址,即可进行图片上传、搜索等操作。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】