87 lines
1.8 KiB
Markdown
87 lines
1.8 KiB
Markdown
# Video YOLO Player
|
||
|
||
一個使用 OpenCV 和 YOLO 物體檢測的視頻播放器,支持實時檢測和預掃描數據顯示。
|
||
|
||
## 功能特點
|
||
|
||
- 視頻播放(使用 OpenCV)
|
||
- YOLO 物體檢測覆蓋層
|
||
- 實時檢測(藍色框)
|
||
- 預掃描數據顯示(綠色框)
|
||
- 三個窗口布局
|
||
- 原始視頻窗口
|
||
- YOLO 檢測窗口
|
||
- 命令窗口
|
||
- 時間碼和幀信息狀態欄
|
||
- 音頻播放控制
|
||
|
||
## 系統需求
|
||
|
||
- Python 3.7+
|
||
- OpenCV (cv2)
|
||
- NumPy
|
||
- Ultralytics YOLO
|
||
- ffplay(用於音頻播放)
|
||
|
||
## 安裝
|
||
|
||
```bash
|
||
pip install opencv-python numpy ultralytics
|
||
```
|
||
|
||
確保已安裝 `ffplay`(macOS: `brew install ffmpeg`, Ubuntu: `sudo apt-get install ffmpeg`)
|
||
|
||
## 使用方法
|
||
|
||
```bash
|
||
python video_player.py <video_path> <yolo_model_path>
|
||
```
|
||
|
||
### 示例
|
||
|
||
```bash
|
||
python video_player.py video.mp4 yolov8n.pt
|
||
```
|
||
|
||
## 快捷鍵
|
||
|
||
| 按鍵 | 功能 |
|
||
|------|------|
|
||
| `y` / `Y` | 切換實時 YOLO 檢測(藍框) |
|
||
| `p` / `P` | 切換預掃描 YOLO 數據(綠框) |
|
||
| `Space` | 暫停/恢復 |
|
||
| `s` / `S` | 切換聲音 |
|
||
| `b` / `B` | 切換狀態欄顯示 |
|
||
| `h` / `H` | 隱藏當前窗口 |
|
||
| `1` | 切換原始視頻窗口 |
|
||
| `2` | 切換 YOLO 檢測窗口 |
|
||
| `3` | 切換命令窗口 |
|
||
| `←` / `→` | 快進/快退 ±5 秒 |
|
||
| `Shift + ←` / `Shift + →` | 快進/快退 ±30 秒 |
|
||
| `q` / `ESC` | 退出 |
|
||
|
||
## 命令輸入
|
||
|
||
在命令窗口中可輸入:
|
||
|
||
- **幀號**:直接輸入數字跳轉到指定幀
|
||
- **時間格式**:`hh:mm:ss.ff` 跳轉到指定時間
|
||
- **相對跳轉**:`+10` 或 `-5` 秒
|
||
- **探針信息**:輸入 `i` 顯示視頻詳細信息
|
||
|
||
## 相關文件
|
||
|
||
播放器會嘗試加載以下輔助文件(與視頻同名):
|
||
|
||
- `.probe.json` - 視頻探針信息
|
||
- `.yolo.json` - 預掃描的 YOLO 檢測數據
|
||
|
||
## 版本信息
|
||
|
||
- 版本:2.0.0
|
||
- 構建時間:2026-03-06
|
||
|
||
## 許可證
|
||
|
||
MIT License
|