feat: 视觉记录系统 v1.0.0 - 摄像头定时拍照+智能分析+Web界面

This commit is contained in:
2026-04-16 09:42:53 +08:00
commit 49785191c3
14 changed files with 1997 additions and 0 deletions

130
README.md Normal file
View File

@@ -0,0 +1,130 @@
# 视觉记录系统
一个基于 Python 的视觉监控系统,使用摄像头定期拍照并通过大模型分析场景事件。
## 功能特性
- 📹 **摄像头拍照** - 定时或手动触发拍照
- 🔍 **智能分析** - 通过 Vision API 分析图片中的事件
- 📊 **Web 界面** - 查看图片时间线、事件列表
- ⚙️ **灵活配置** - 可调整拍照间隔、自动分析开关
- 🗄️ **数据存储** - SQLite 本地存储图片和事件记录
## 系统要求
- Python 3.10+
- Windows / Linux / macOS
- 可用的摄像头
- Vision API支持 OpenAI 格式的视觉模型)
## 快速启动
### Windows
```bash
双击 start.bat 或在命令行运行:
python main.py
```
### Linux/macOS
```bash
./start.sh 或:
python main.py
```
访问地址: http://localhost:19016
## 配置说明
`config.py` 中可以修改:
```python
# Web 服务端口
WEB_PORT = 19016
# 摄像头索引(默认 0
CAMERA_INDEX = 0
# 拍照间隔(秒)
CAPTURE_INTERVAL = 60
# 大模型配置
LLM_API_URL = "https://dashscope.aliyuncs.com/compatible-mode/v1"
LLM_API_KEY = "your-api-key"
LLM_MODEL = "qwen-vl-plus"
```
## Web 界面功能
### 控制面板
- 启动/停止定时拍照
- 设置拍照间隔
- 开启/关闭自动分析
- 立即拍照按钮
### 图片时间线
- 查看所有拍摄的图片
- 按已分析/未分析筛选
- 点击查看详情
- 手动分析未分析的图片
### 事件列表
- 查看所有识别的事件
- 按事件类型筛选
- 点击事件查看对应图片
## API 接口
| 接口 | 方法 | 说明 |
|------|------|------|
| `/api/status` | GET | 获取系统状态 |
| `/api/scheduler/start` | POST | 启动定时拍照 |
| `/api/scheduler/stop` | POST | 停止定时拍照 |
| `/api/capture` | POST | 立即拍照 |
| `/api/analyze/{id}` | POST | 分析指定图片 |
| `/api/images` | GET | 获取图片列表 |
| `/api/events` | GET | 获取事件列表 |
## 项目结构
```
vision-record/
├── main.py # 主入口
├── config.py # 配置管理
├── camera.py # 摄像头拍照模块
├── analyzer.py # 图片分析模块
├── database.py # 数据库管理
├── scheduler.py # 定时任务调度
├── web/
│ ├── app.py # FastAPI 后端
│ └── static/ # 前端文件
│ ├── index.html
│ ├── style.css
│ └── app.js
├── data/
│ ├── images/ # 图片存储
│ └── events.db # SQLite 数据库
├── requirements.txt
├── start.bat # Windows 启动脚本
├── start.sh # Linux/Mac 启动脚本
└── README.md
```
## 依赖项
- `opencv-python` - 摄像头拍照
- `fastapi` - Web 后端
- `uvicorn` - ASGI 服务器
- `requests` - API 调用
## 注意事项
- Windows 上使用 DirectShow (`cv2.CAP_DSHOW`) 者提升摄像头性能
- 拍照间隔建议不少于 10 秒
- Vision API 需要配置正确的 API Key
- 图片分析可能需要 10-30 秒,请耐心等待
## Git 仓库
http://192.168.2.8:12007/coder/vision-record