semvec/pypi-packages huggingface dataset:
funtrack 0.1.9
微生物轨迹跟踪和分析工具包
License: MIT
Requires Python: >=3.8
Keywords: bacteria, computer-vision, microbe, tracking, trajectory

# 大肠杆菌轨迹跟踪系统

这是一个用于识别和跟踪视频中大肠杆菌轨迹的Python程序。使用计算机视觉技术自动检测每一帧中的细菌并跟踪它们的运动轨迹。

## 功能特点

- 自动检测视频中每一帧的大肠杆菌
- 多目标跟踪，为每个细菌分配唯一ID
- 实时可视化跟踪结果
- 导出轨迹数据（CSV格式）
- 可调节的检测参数以适应不同的视频条件

## 安装依赖

```bash
pip install -r requirements.txt
```

## 使用方法

### 基本用法

```bash
python src/bacteria_tracker.py /path/to/video.mp4
```

### 完整参数示例

```bash
python src/bacteria_tracker.py /path/to/video.mp4 \
    --output output_tracked.mp4 \
    --csv tracks.csv \
    --min-area 5 \
    --max-area 500 \
    --max-distance 50
```

### 参数说明

- `video_path`: 输入视频文件路径（必需）
- `--output, -o`: 输出视频路径（可选），保存带有轨迹标注的视频
- `--csv, -c`: 轨迹数据保存路径（可选），CSV格式
- `--min-area`: 最小检测面积（像素），默认5
- `--max-area`: 最大检测面积（像素），默认500
- `--max-distance`: 最大跟踪距离（像素），默认50
- `--no-visualize`: 不显示可视化窗口

## 工作原理

1. **背景减除**: 使用MOG2背景减除算法检测移动的物体
2. **形态学处理**: 去除噪声，连接断开的区域
3. **轮廓检测**: 找到符合大小条件的细菌轮廓
4. **质心计算**: 计算每个细菌的质心位置
5. **多目标跟踪**: 使用最近邻匹配算法关联不同帧中的同一细菌
6. **轨迹记录**: 记录每个细菌的完整运动轨迹

## 输出格式

### 轨迹CSV文件格式

CSV文件包含以下列：
- `frame`: 帧号
- `time`: 时间（秒），根据视频FPS计算
- `idx`: 轨迹ID
- `x`: x坐标（像素）
- `y`: y坐标（像素）

示例：
```csv
frame,time,idx,x,y
0,0.0,0,100,200
1,0.033,0,102,201
2,0.067,0,105,203
0,0.0,1,300,150
1,0.033,1,302,152
```

CSV格式便于在Excel、Python pandas等工具中进行分析。

## 调整参数

根据你的视频特点，可能需要调整以下参数：

- **min-area / max-area**: 如果检测到太多噪声，增大min-area；如果漏检细菌，减小max-area
- **max-distance**: 如果细菌移动很快，增大max-distance；如果出现轨迹混乱，减小max-distance

## 示例

处理指定视频：

```bash
python src/bacteria_tracker.py /Users/bingtao/Downloads/大肠杆菌/0/251218181859.mp4 \
    --output tracked_output.mp4 \
    --csv bacteria_tracks.csv
```

## 注意事项

- 确保视频中细菌与背景有足够的对比度
- 如果视频中有很多噪声，可能需要调整检测参数
- 处理大视频文件可能需要较长时间