Skip to content

A fiducial marker system powered by OpenCV - Supports ArUco and April

License

Notifications You must be signed in to change notification settings

WillB97/zoloto

 
 

Repository files navigation

Zoloto

Documentation Status Tests Status PyPI PyPI - Python Version PyPI - Wheel PyPI - Status PyPI - License

A fiducial marker system powered by OpenCV - Supports ArUco and April

Documentation

Installation

pip install zoloto

OpenCV

OpenCV should be installed manually, ideally through your system package manager. This makes it easier to customize your OpenCV installation for your system, or use the optimal settings for your OS / hardware. Note that you may need to install opencv-contrib as well as opencv.

If you'd rather have one installed automatically, install the extra opencv:

pip install zoloto[opencv]

Note that this version lacks hardware acceleration. See the README for more details.

For storage-constrained environments, there's also opencv-contrib-python-headless, which should be installed manually.

Examples

from pathlib import Path

from zoloto import MarkerType
from zoloto.cameras import ImageFileCamera


with ImageFileCamera(Path("my-image.png"), marker_type=MarkerType.ARUCO_6X6) as camera:
    camera.save_frame("my-annotated-image.png", annotate=True)
    print("I saved an image with {} markers in.".format(len(camera.get_visible_markers())))

More examples

Zoloto ships with a CLI (aptly named zoloto), which contains some helpful utils for working with Zoloto and fiducial markers.

Development setup

./scripts/setup.sh will create a virtual environment, and install all the required development dependencies into it.

Note that this will not install a version of OpenCV for you. For that, run ./scripts/setup.sh opencv.

There are some additional useful scripts to assist:

  • ./scripts/test.sh: Run the unit tests and linters
  • ./scripts/fix.sh: Automatically fix issues from black and isort
  • ./scripts/benchmark.sh: Run benchmarks (these can take a couple minutes depending on your hardware)

About

A fiducial marker system powered by OpenCV - Supports ArUco and April

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 98.2%
  • Shell 1.8%