genicam/harvesters

Image Acquisition Library for GenICam-based Machine Vision System

What it solves

Harvester simplifies the complex process of image acquisition for computer vision applications. It provides a unified Python interface to gather image data from various cameras and devices that follow the GenICam standard, removing the need for developers to handle low-level transport layer details manually.

How it works

Harvester acts as an image acquisition engine that utilizes GenTL Producers (libraries with C interfaces) to communicate with cameras over physical transport layers. It leverages GenApi-Python bindings to allow users to manipulate GenICam feature nodes (like width, height, and pixel format) directly within Python scripts. This allows a single script to manage multiple cameras and different transport layers simultaneously.

Who it’s for

Developers building computer vision applications who need a standardized, easy-to-use way to acquire images from GenICam-compliant hardware.

Highlights

  • GenTL Support: Acquires images through GenTL Producers, abstracting the transport layer.
  • Multiple Device Management: Supports loading and controlling multiple GenTL Producers and GenICam entities in a single script.
  • Intuitive Configuration: Allows direct manipulation of GenICam feature nodes for camera settings.
  • Pythonic Workflow: Integrates well with tools like IPython and Matplotlib for rapid prototyping and image processing.