Giter Site home page Giter Site logo

claverru / flirimageextractor Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nationaldronesau/flirimageextractor

0.0 1.0 0.0 3.49 MB

A small tool/lib to read temperatures and original photos from FLIR® thermal camera images.

License: MIT License

Python 99.74% Jupyter Notebook 0.26%

flirimageextractor's Introduction

Flir Image Extractor CLI

The email address attached to this on PyPi may not be monitored, open issues on the GitHub repo to ensure a response

Feel free to submit any pull requests or issues, this is in active development. Also let me know if you are successful in using this on cameras not listed below.

FLIR® thermal cameras like the FLIR ONE® include both a thermal and a visual light camera. The latter is used to enhance the thermal image using an edge detector. The resulting image is saved as a jpg image but both the original visual image and the raw thermal sensor data are embedded in the jpg metadata.

This Python CLI that allows you to extract the original photo and thermal sensor values converted to temperatures, normalize the temperature range and output the photos to different color maps.

Requirements and Install

This tool relies on exiftool. It should be available in most Linux distributions (e.g. as perl-image-exiftool in Arch Linux or libimage-exiftool-perl in Debian and Ubuntu). Links for downloading the Mac version and more information is available on the ExifTool site. To install on Linux:

sudo apt update
sudo apt install exiftool

To install exiftool on Windows for use in this CLI, download the exiftool windows executable from here. Extract exiftool(-k).exe and rename to exiftool.exe. Copy this executable to C:\Windows on your computer. You will need admin permissions to do this. Doing this will make exiftool available to the CLI.

It also requires other python packages, matplotlib, numpy and pillow, which are installed when the CLI is installed through pip.

Once you have install exiftool, you can install the CLI using pip:

pip install flir-image-extractor-cli

On windows you may need to use:

python -m pip install flir-image-extractor-cli

To update to the latest version of the CLI use this command. The first time you install the latest version will be automatically downloaded.

pip install --upgrade flir-image-extractor-cli

Usage

You can start the CLI using the terminal.

flir-image-extractor-cli

Resulting Plot and Saved Images

The CLI is able to output 3 folders of images with the bwr, gnuplot, and gist_ncar colormaps from matplotlib. You can define the pallete(s) that you would rather use.

Supported/Tested Cameras

  • Flir One (thermal + RGB)
  • Xenmuse XTR (thermal + thumbnail, set the subject distance to 1 meter)
  • AX8 (thermal + RGB)

Other cameras might need some small tweaks (the embedded raw data can be in multiple image formats). Let me know if you succesfully use other cameras so they can be added to this list.

Development

Install the required packages using Pipenv. Then run pre-commit install to install the pre-commit hooks. Note that this tool is intended to work on Windows as well as Unix operating systems so use os.path functions to manipulate file paths instead of string manipulation.

Credits

This CLi was developed using this repo: https://github.com/Nervengift/read_thermal.py

flirimageextractor's People

Contributors

aidankinzett avatar conorbros avatar h3ct0r avatar nervengift avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.