Skip to content

seekthermal/seekcamera-python

Repository files navigation

seekcamera-python

main Actions Status GitHub

Welcome! 👋

This is the official home of the Python language bindings for the Seek Thermal SDK. 🐍

About 📜

In general, the Seek Thermal SDK allows customers to develop applications that interface with our thermal camera cores easily, flexibly, and efficiently. In addition, examples are provided to demonstrate the use of several functional areas and can be a starting point for your own projects.

The Python language bindings supplement and extend the SDK's traditional C interface in a higher-level language. They require the Seek Thermal SDK 4.X to be pre-installed on the system; they also require a Seek Thermal OEM core to be physically attached to the system.

Visit our website for more information and to get your Starter Kit.

Features 🧪

The Python language bindings mirror all the major functionality in our SDK.

Highlights 🎊

  • Asynchronous event driven API that is fast and responsive
  • Ability to use multiple cameras in one SDK instance
  • Common set of APIs for both Mosaic and Micro Core cameras
  • Robust error handling and logging interface
  • Numerous frame output formats
  • Example applications to learn and get started

Supported platforms 🔌

The Python language bindings will run on a wide variety of common processors and Linux/Windows OSs.

The requirements are

  • Python 3.X
  • numpy >= 1
  • Host architecture supported by the SDK
    • See the official SDK documentation for more information

The optional dependencies are

Getting started 📖

We recommend that you jump right in by checking out one of the sample applications. The sample applications demonstrate how to use the most common APIs and features in the SDK.

Sample applications 💡

  • seekcamera-opencv
    • Demonstrates how to image and display thermal frames to the screen using OpenCV's drawing functions.
  • seekcamera-simple
    • Demonstrates how to export frame pixel values to disk as a CSV file.

Run the samples

cd seekcamera-python
python3 examples/seekcamera-opencv.py

API documentation 🧠

API documentation is provided as standard Python docstrings. Please refer to the more complete Seek Thermal SDK C Programming Guide which is provided with the SDK for more in-depth documentation.

Installation 📂

The Python language bindings are developed using Python 3.X. We recommended Python 3.6+ since we test against those versions; older versions may work as well but we have not tested against them.

You can download Python from the official website.

The recommended method of installation is via the package on pypi

pip3 install seekcamera-python

Alternatively, you can install manually. To do so, after installing Python, clone this repository

git clone https://github.com/seekthermal/seekcamera-python.git

Change directories into the cloned repository

cd seekcamera-python

Install via pip

pip3 install -e .

Dependencies 💾

Python dependencies

Additional Python dependencies (required for some of the samples) can be installed via pip.

pip3 install -r requirements.examples.txt

Other dependencies

The Python language bindings require the Seek Thermal SDK to be installed. It is recommended, but not required, to use one of the SDK installers. We provide Debian installers (.deb) for Linux and zipfile archives (.zip) for Windows.

On Windows, the SDK library (seekcamera.dll) should be located in one of the following places in order of precedence:

%SEEKTHERMAL_LIB_DIR%/
C:/Program Files/Seek Thermal/Seek Thermal SDK/4.X.X/x64-windows/lib

On Linux, the SDK library (libseekcamera.so) should be located in one of the following places in order of precedence:

$SEEKTHERMAL_LIB_DIR/
$LD_LIBRARY_PATH/
/lib/
/lib64/
/usr/lib/
/usr/lib64/

NOTE

%SEEKTHERMAL_LIB_DIR% is Windows environment variable and is (optionally) set by the user.

$SEEKTHERMAL_LIB_DIR is a Linux environment variable and is (optionally) set by the user.


The minimum SDK runtime version for each stable release of the Python language bindings is shown below:

seekcamera-python Minimum SDK runtime version
1.0.0 4.0.0
1.1.0 4.1.0
1.1.1 4.1.0
1.2.0 4.2.0

License ⚖️

The project is licensed under the Apache 2.0 License. Please see the LICENSE for more information.

Copyright (c) 2021 Seek Thermal.

Contributing 🔨

We are excited about contributions!

Please see our contributing guide for more information.

About

Python language bindings for the Seek Thermal SDK

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages