flirmulticamera

C++ Library to record synchronized videos and images using synchronizable Flir Cameras on Ubuntu. Contains python bindings.

https://github.com/henriktrom/flirmulticamera

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.9%) to scientific vocabulary

Keywords

cpp flir-cameras image-aquisition python3 spinnaker synchronization video-recording
Last synced: 6 months ago · JSON representation

Repository

C++ Library to record synchronized videos and images using synchronizable Flir Cameras on Ubuntu. Contains python bindings.

Basic Info
  • Host: GitHub
  • Owner: HenrikTrom
  • License: cc0-1.0
  • Language: C++
  • Default Branch: main
  • Homepage:
  • Size: 4.94 MB
Statistics
  • Stars: 0
  • Watchers: 0
  • Forks: 1
  • Open Issues: 1
  • Releases: 1
Topics
cpp flir-cameras image-aquisition python3 spinnaker synchronization video-recording
Created 9 months ago · Last pushed 6 months ago
Metadata Files
Readme License Citation

Readme.md

📷 flirmulticamera – v1.0.0

DOI

C++ Library to record synchronized videos and images using synchronizable Flir Cameras on Ubuntu. Also contains python bindings.

This module is part of my ROS/ROS2 real-time 3D tracker and its docker-implementation.

System Setup

📑 Citation

If you use this software, please use the GitHub “Cite this repository” button at the top(-right) of this page.

🧪 Tested with

  • Spinnaker-2.4.0.143-Ubuntu20.04-amd64-pkg.tar.gz
  • 5x Flir Grasshopper GS3-U3-32S-4C
  • cpp_utils v1.0.0
  • pybind11-dev

Requirements

  • USB Card to handle all the video input
  • Synchronization cable that connects master cameras Trigger Pin to the Slave cameras input pins.
  • We use Line2 on the Master and Line3 for the Slave cameras.
  • cpp_utils v1.0.0
  • fmt and ffmpeg
  1. Download and install the Spinnaker SDK. Make sure that you can run Spinview and that you can get a stable video of each camera.

This repo is used for real time inference. For this purpose there is the option to use a compile time known constant for the amount of used cameras. To enable this option use -DUSE_ENV_DEFINED_CAMERA_COUNT=ON in cmake and export this environment variable

bash FLIR_CAMERA_COUNT #Number of elements in the list above, i.e. 5

Installation

You can build and install the python bindings, executables and the libraries by executing this script:

bash ./build_install.sh Otherwise, feel free to adapt use whatever installation configuration you like.

Usage

Python example: bash ./src/apps/get_images.py

CMake generates the following executables.

./build/record_synchronized_frame - to save a synchronized image

./build/record_synchronized_videos - to record synchronized videos

You can specify the camera settings by passing a <your-settings>.json to each executable as first argument: bash ./build/record_synchronized_frame /home/docker/modules/FlirMultiCamera/cfg/1024x768.json See the json scheme in ./cfg.

For the video executable you can further specify the number of frames by passing them as second argument:

bash ./build/record_synchronized_videos /home/docker/workspace/build/dependencies/FlirMultiCamera/cfg/1024x768.json 40

Otherwise the executables will assume the default configuration 1024x768.json and a default frame number of 30.

You can specify the savepath of your images/videos in the the config. If save_dir is an empty string it will chose the ./outputs folder as default.

Notes

This software is an essential part of my docker-based pipeline for online 3D tracking, that I build during my PhD.

Owner

  • Name: Henrik
  • Login: HenrikTrom
  • Kind: user
  • Company: Göttingen University

👋 Hi, I'm Henrik — PhD researcher with a focus on real-time 3D tracking and software development for human-robot interaction.

GitHub Events

Total
  • Public event: 1
  • Push event: 10
  • Pull request event: 3
  • Fork event: 1
  • Create event: 1
Last Year
  • Public event: 1
  • Push event: 10
  • Pull request event: 3
  • Fork event: 1
  • Create event: 1

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 0
  • Total pull requests: 2
  • Average time to close issues: N/A
  • Average time to close pull requests: 13 days
  • Total issue authors: 0
  • Total pull request authors: 2
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 2
  • Average time to close issues: N/A
  • Average time to close pull requests: 13 days
  • Issue authors: 0
  • Pull request authors: 2
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
  • HenrikTrom (1)
  • simonblaue (1)
Top Labels
Issue Labels
Pull Request Labels