3b3ca866f140a46980a8cb0a60c914c0.mp4
- 🎯 AI进球检测:基于YOLOv8模型的篮球进球自动识别
- 🎬 视频集锦生成:FFmpeg自动剪辑生成精彩进球集锦
- 📊 统计分析:提供投篮统计和命中率分析
- 🚀 REST API:完整的后端API接口服务
- ⚡ 实时处理:支持视频上传和实时处理进度反馈
- Flask - Python Web框架
- YOLOv8 (Ultralytics) - AI目标检测模型
- OpenCV - 计算机视觉库
- FFmpeg - 视频处理工具
- Python 3.8+
- FFmpeg (用于视频处理)
- 支持的视频格式:MP4, AVI, MOV, MKV
# 克隆项目
git clone <repository-url>
cd HoopCut
# 进入后端目录
cd backend
# 创建虚拟环境
python -m venv venv
# 激活虚拟环境 (Windows)
venv\Scripts\activate
# 或 (Linux/macOS)
source venv/bin/activate
# 安装依赖
pip install -r requirements.txt
# 启动后端服务(测试阶段)
python test_full_pipeline.py
# 返回项目根目录
cd ..
# 进入前端目录
cd frontend
# 安装依赖
npm install
# 启动开发服务器
npm run dev
HoopCut/
├── backend/ # 后端代码
│ ├── app.py # 主应用文件
│ ├── shot_detector_video.py # 进球检测模块
│ ├── video_processor.py # 视频处理模块
│ ├── utils.py # 工具函数
│ ├── requirements.txt # 依赖配置
│ ├── uploads/ # 上传文件目录
│ ├── outputs/ # 输出文件目录
│ └── AI-Basketball-Shot-Detection-Tracker/ # AI模型
├── models/ # 模型文件目录
├── outputs/ # 全局输出目录
├── uploads/ # 全局上传目录
└── README.md # 项目说明文档
POST /api/upload
Content-Type: multipart/form-data
# 参数
- file: 视频文件 (MP4, AVI, MOV, MKV)
- before_time: 进球前保留时间 (默认8秒)
- after_time: 进球后保留时间 (默认2秒)GET /api/status/{task_id}GET /api/download/{filename}MIT License
- 本项目受 AI-Basketball-Shot-Detection-Tracker 的启发,感谢作者提供的思路与开源贡献。
🏀 帮你发现篮球场上的每一个精彩瞬间!