A modular and versatile Python package for Computer Vision object detection pipelines Tailored for robotics applications
Project description
Ovl-Python
Python Module for Computer Vision Object Tracking and Detection mainly for the FIRSTֲ® Robotics Competition Program You can follow up on changes in for the current version in the changelog folder There have been significant changes from the previous version - changelog
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) -
sklearn (scikit-learn) for
HSVCalibration
creation (not needed for use inVision
) -
PySerial (pyserial) for
SerialConnection
OVL is officially supported for python 3.5+!
Installation:
Using pip
:
python -m pip install ovl
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
# filter contours that are larger than 200 pixels
# and are approximately a circle and then sort by size
contour_filters = [ovl.area_filter(min_area=200),
ovl.circle_filter(min_area_ratio=0.7),
ovl.dec_area_sort()]
threshold = ovl.YELLOW_HSV # Define the wanted color to detect
yellow_circle = Vision(threshold=threshold,
contour_filters=contour_filters,
camera=0, # open the first connected camera
image_filters=image_filters)
while True:
image = yellow_circle.get_filtered_image()
contours, filtered_image = yellow_circle.detect(image)
directions = yellow_circle.get_directions(contours, filtered_image)
print(directions) # prints out the (x, y) coordinates of the largest target
Documentation
The Hebrew and English documentation have been removed for being outdated all functions and classes now have in code documentation. This includes code examples, recommended usage reference to further documentation and more.
There are multiple code examples here
Simply use help
on a class/function:
help(ovl.Vision)
help(ovl.contour_filter)
help(ovl.area_filter)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file ovl-2020.1.3.tar.gz
.
File metadata
- Download URL: ovl-2020.1.3.tar.gz
- Upload date:
- Size: 40.0 kB
- Tags: Source
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d3aa7959ceec69ea1e6bceb94a60cbd1e0516070a82e60f63dc96a23ae1cc04b |
|
MD5 | ba525c3737774def059725889e4c13dd |
|
BLAKE2b-256 | bab4cdf0277a03764378bae35b74287a99ba35c99789f62c09aaef4bb0b4d867 |