OVL - Object Vision Library
Python Module for Computer Vision Object Tracking and Detection mainly for the FIRSTֲ® Robotics Competition Program
Ovl support complex yet modular computer vision pipelines that are easy to create and modify.
Easy to create and setup for beginners and flexible for pros
You can follow up on changes in for the current version in the changelog folder
Documentation
There are multiple code examples here
Documentation is available here
Dependencies:
The following python module dependencies are needed:
-
OpenCV
-
numpy
The following python modules are optional for certain features:
- NetworkTables (pyNetworkTables) for
NetworkTableConnection(installed automatically)
OVL is officially supported for python 3.7+ only!
Installation:
Using pip:
python -m pip install ovl[cv]
For the full installation of all features use:
python -m pip install ovl[full]
For the frc related features use the frc option:
python -m pip install ovl[frc]
Note that ovl doesn't come with the precompiled version of opencv for python automatically. If you wish to compile opencv for yourself - simply refrain from using the cv flag during installation.
Usage:
The library uses simple yet highly customizable syntax to create a vision pipeline using the Vision object
A pipeline that detects a yellow circle:
import ovl
target_filters = [ovl.percent_area_filter(min_area=0.005),
ovl.circle_filter(min_area_ratio=0.7),
ovl.area_sort()]
threshold = ovl.Color([20, 100, 100], [55, 255, 255])
yellow_circle = ovl.Vision(threshold=threshold,
target_filters=target_filters,
camera=0, # open the first connected camera
image_filters=[ovl.gaussian_blur()])
while True:
image = yellow_circle.get_image()
targets, filtered_image = yellow_circle.detect(image)
directions = yellow_circle.get_directions(targets, filtered_image)
print(directions) # prints out the (x, y) coordinates of the largest target
There are more code examples and usages here
Metadata
Release files for ovl 2022.2.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 | Provenance | Actions |
|---|---|---|---|---|
| ovl-2022.2.2.tar.gz | 50.7 kB | Without provenance | Details for ovl-2022.2.2.tar.gz |
Release files / ovl-2022.2.2.tar.gz
| Download URL | ovl-2022.2.2.tar.gz |
|---|---|
| Size | 50.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5dad10f4a4d296760b8453f066d4c48b2fb32faefb27d85b0b14a74305e5b130
|
|
BLAKE2b-256 checksum How to use checksums |
4bbf3c5bc07a36740b4dacba3b9721e5a16101d4ae009a84677e18835034e6aa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.2
|
Security for ovl 2022.2.2
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.