OTVision
OTVision is a core module of the OpenTrafficCam framework designed to detect and track objects (road users) in videos recorded by OTCamera or other camera systems. The resulting trajectories can be used for traffic analysis using OTAnalytics.
Features
- Video Conversion: Convert video files (h264 to mp4) with options to set frame rate and rotation
- Object Detection: Detect road users in videos using state-of-the-art YOLO models
- Object Tracking: Track detected objects through video frames using IOU-based tracking algorithms
Requirements
System Requirements
- Python 3.12
- uv for dependency management
- CUDA-capable GPU (recommended for faster processing)
- ffmpeg (optional for video conversion)
Installation
Installation from GitHub Releases
Pre-built releases are available on GitHub for easy installation:
- Go to the OTVision Releases page on GitHub
- Download the appropriate release for your platform:
- Windows: Choose between
OTVision-win-{vX.Y.Z}.zip(standard) orOTVision-win-cuda-{vX.Y.Z}.zip(with CUDA support) - Linux: Choose between
OTVision-linux-{vX.Y.Z}.zip(standard) orOTVision-linux-cuda-{vX.Y.Z}.zip(with CUDA support) - macOS: Choose
OTVision-macos-{vX.Y.Z}.zip
- Windows: Choose between
- Extract the downloaded ZIP file
- Run the installation script:
- On Windows: Double-click
install.cmd - On Linux: Run
./install.sh - On macOS: Double-click
install.command
- On Windows: Double-click
Manual Installation
-
Clone the repository:
git clone https://github.com/OpenTrafficCam/OTVision.git cd OTVision
-
Install the package:
- On Windows:
install.cmd
- On Linux/macOS:
./install.sh
- On Windows:
Manual Development Installation
For development purposes, if you want to contribute to the project:
-
Clone the repository:
git clone https://github.com/OpenTrafficCam/OTVision.git cd OTVision
-
Install the development version:
- On Windows:
install_dev.cmd
- On Linux/macOS:
./install_dev.sh
- On Windows:
Usage
OTVision provides several command-line scripts for different functionalities:
Video Conversion
Convert video files (e.g., h264 to mp4):
uv run convert.py --paths /path/to/videos/*.h264 --input-fps 20.0 --rotation 0
Object Detection
Detect objects in videos:
uv run detect.py --paths /path/to/videos/*.mp4 --weights yolov8s
Object Tracking
Track detected objects:
uv run track.py --paths /path/to/detections/*.otdet
Coordinate Transformation
Transform pixel coordinates to UTM coordinates:
uv run transform.py --paths /path/to/tracks/*.ottrk --refpts-file /path/to/reference_points.json
Configuration
OTVision can be configured using a YAML configuration file. A default configuration is provided in user_config.otvision.yaml. You can specify a custom configuration file using the --config option:
uv run detect.py --config /path/to/custom_config.yaml
Documentation
For detailed documentation, visit:
Contributing
We appreciate your support in the form of both code and comments. Please have a look at the contribute section of the OpenTrafficCam documentation for guidelines on how to contribute to the project.
License
This software is licensed under the GPL-3.0 License.
Contact
- GitHub: https://github.com/OpenTrafficCam
- Email: team@opentrafficcam.org
Metadata
Release files for OTVision 0.7.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| otvision-0.7.2.tar.gz | 65.2 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| otvision-0.7.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 65.4 MB
Release files / otvision-0.7.2.tar.gz
| Download URL | otvision-0.7.2.tar.gz |
|---|---|
| Size | 65.2 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e534b2d3d6562ad0756fd636179e1e6a22dc0cefe0e8895f628060776b8f6947
|
|
BLAKE2b-256 checksum How to use checksums |
a800559c9f6c44026873f5eb555507cbae898b9545a8caab83ec217b63543d20
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 16, 2026.
Transparency logRelease files / otvision-0.7.2-py3-none-any.whl
| Download URL | otvision-0.7.2-py3-none-any.whl |
|---|---|
| Size | 141.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c7e1a80c3cbb7a4b17bf2810c9ea3b4556904f964f2d6a007e4915b31225d6b4
|
|
BLAKE2b-256 checksum How to use checksums |
79e72ccc1c6c3f4da6eb2eb4d21f8af8401dbd4cf17367c6b64a7d4331bba8c0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 16, 2026.
Transparency log