Files
vision-record/README.md

3.1 KiB
Raw Blame History

视觉记录系统

一个基于 Python 的视觉监控系统,使用摄像头定期拍照并通过大模型分析场景事件。

功能特性

  • 📹 摄像头拍照 - 定时或手动触发拍照
  • 🔍 智能分析 - 通过 Vision API 分析图片中的事件
  • 📊 Web 界面 - 查看图片时间线、事件列表
  • ⚙️ 灵活配置 - 可调整拍照间隔、自动分析开关
  • 🗄️ 数据存储 - SQLite 本地存储图片和事件记录

系统要求

  • Python 3.10+
  • Windows / Linux / macOS
  • 可用的摄像头
  • Vision API支持 OpenAI 格式的视觉模型)

快速启动

Windows

双击 start.bat 或在命令行运行:
python main.py

Linux/macOS

./start.sh 或:
python main.py

访问地址: http://localhost:19016

配置说明

config.py 中可以修改:

# 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