Utilities to easily convert between different bounding box formats (YOLO, XYWH, XYXY, etc.).
You can find documentation for the project at here.
- List of points [top left, top right, bottom right, bottom left]
- XYWH: top left, width, height
- XYXY: top left, bottom right
- YOLO
You can create a 3D bounding box with either:
- A center point, width, height, depth, and rotation
- The back-bottom-left point, width, height, depth, and rotation
You can convert between the two forms and also get a triangular polygon to use for plotting triangular meshes.
The majority of the 3D Bounding Box implementation comes from the bbox PyPI package.
Visualizations You can use bbox-utils to visualize annotations within point clouds or images.
To use point clouds, you will need to install open3d and plotly with either:
pip3 install open3d plotly==4.14.3 pip install # or conda install -c open3d-admin open3d conda install -c plotly plotly=4.14.3
At the time of writing this, open3d requires Python < 3.9
To use images, you will need to install OpenCV:
pip3 install opencv-python # or conda install opencv -c conda-forge
This project uses pre-commit, please make sure to install it before making any changes:
pip install pre-commit cd bbox-utils pre-commit install
It is a good idea to update the hooks to the latest version:
pre-commit autoupdate
This project has been set up using PyScaffold 4.0rc1. For details and usage information on PyScaffold see https://pyscaffold.org/.