Skip to main content

A modular and versatile Python package for computer vision object detection pipelines tailored for robotics applications

Project description

OVL - Object Vision Library

OVL Logo

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)

  • Requests (requests) for HTTPConnection

  • PySerial (pyserial) for SerialConnection

OVL is officially supported for python 3.5+ only!

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.area_sort()]

threshold = ovl.YELLOW_HSV  # Define the wanted color to detect 

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_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


There are more code examples and usages here

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ovl-2021.1.1.tar.gz (44.3 kB view details)

Uploaded Source

File details

Details for the file ovl-2021.1.1.tar.gz.

File metadata

  • Download URL: ovl-2021.1.1.tar.gz
  • Upload date:
  • Size: 44.3 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

Hashes for ovl-2021.1.1.tar.gz
Algorithm Hash digest
SHA256 c07c674e1924ac0102fde995ea603b5573cb67c6d509fbddfd1f765659348a98
MD5 cbda33bdcc8d2372e4bd81494e024aee
BLAKE2b-256 f4fb30e085a63cc9771777a7c6c8329cf197f24bb30984d6ad68f74bd3b26b54

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page