Files
vision-record/README.md

130 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 视觉记录系统
一个基于 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