labforge / sdk-demos

A collection of use-cases of interacting with the camera
Apache License 2.0
0 stars 0 forks source link

Labforge logo

CI linting: pylint

Overview

This repository contains the Python SDK samples for Bottlenose cameras, and a C++ example for stereo acquisition.

The camera supports the GEV 2.1 standard and does work with major Machine Vision software packages out of the box without additional drivers, please see our documentation here.

In this repository we provide samples for power users and integrators that want to work directly with the Camera without third-party frameworks.

The samples allow depth and color streaming, and provide snippets to update intrinsic and extrinsic calibration information.

Bottlenose cameras necessary to use these samples library are available for purchase at Mouser.

Please follow the steps to set up the Bottlenose camera from our documentation.

Environment Setup

Please see the releases page for the necessary Pleora eBUS SDK for your target platform.

Please see the requirements.txt file in each sample directory for the required python packages to run.

Microsoft Windows

Note the Python backend for Microsoft Windows systems does not install Python support by default. Please install the following wheels for your respective Python version.

Python Version Matching Wheel
3.6.x (*) ebus_python-*-py36-none-win_amd64.whl
3.7.x ebus_python-*-py37-none-win_amd64.whl
3.8.x ebus_python-*-py38-none-win_amd64.whl
3.8.x ebus_python-*-py39-none-win_amd64.whl
3.10.x ebus_python-*-py310-none-win_amd64.whl

(*) Some of the examples included in this repository use Pyside6 and require a newer version than Python 3.6.

Ubuntu Linux

We provide support for Ubuntu Linux. To install the SDK including Python packages please install corresponding Debian package (.dpkg).

sudo dpkg -i eBUS_SDK_Ubuntu-<Ubuntu version>-*.deb

The corresponding libraries will automatically be installed to

/opt/pleora/ebus_sdk/Ubuntu-<Ubuntu version>/lib/

Use this helper script to include the libraries in your environment

source /opt/pleora/ebus_sdk/Ubuntu-<Ubuntu version>/bin/set_puregev_env.sh

Python Code Samples

Sample Description Applicable Device(s)
Stream Simple Streaming Example Mono, Stereo
Focus Simple Utility to focus Lenses Mono, Stereo
Keypoints Simple Keypoint Detection Demo Mono, Stereo
Descriptors Simple Descriptor extraction Demo Mono, Stereo
Stereo Matching Simple Stereo Matching Example Stereo only
AI Model Simple Bounding Box Detection Demo Mono, Stereo
Utility Sources of the update utility for firmware and AI models Mono, Stereo
Distribution Sources of the utility distribution build Mono, Stereo
Calibration Shows how to upload calibration parameters into your Bottlenose Camera Mono, Stereo
Sparse PointCloud Shows how to stream out sparse pointcloud from a Bottlenose camera Stereo only
Disparity Shows how to stream disparity data from a Bottlenose camera Stereo only
Parameters List all parameters exposed by your Bottlenose camera Mono, Stereo

Python API Documentation

The API documentation corresponding to the latest SDK release can be found in api_docs.zip the releases section of this repository.

C++ Code Samples

A comprehensive example on how to use the C++ API is our ROS2 driver.

License

This project is licensed under the Apache License, Version 2.0.