All Projects → ElvinC → Gyroflow

ElvinC / Gyroflow

Licence: gpl-3.0
Video stabilization using gyro data from GoPro or external logs

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Gyroflow

Boofcv
Fast computer vision library for SFM, calibration, fiducials, tracking, image processing, and more.
Stars: ✭ 706 (+246.08%)
Mutual labels:  camera-calibration, image-processing
Rawpy
📷 RAW image processing for Python, a wrapper for libraw
Stars: ✭ 256 (+25.49%)
Mutual labels:  camera-calibration, image-processing
Computer Vision Guide
📖 This guide is to help you understand the basics of the computerized image and develop computer vision projects with OpenCV. Includes Python, Java, JavaScript, C# and C++ examples.
Stars: ✭ 244 (+19.61%)
Mutual labels:  camera-calibration, image-processing
Imageprocessing
MicaSense RedEdge and Altum image processing tutorials
Stars: ✭ 139 (-31.86%)
Mutual labels:  camera-calibration, image-processing
Stackblur Go
A fast, almost Gaussian Blur implementation in Go
Stars: ✭ 189 (-7.35%)
Mutual labels:  image-processing
Dlib
Allocators, I/O streams, math, geometry, image and audio processing for D
Stars: ✭ 182 (-10.78%)
Mutual labels:  image-processing
Ossim
Core OSSIM (Open Source Software Image Map) package including C++ code for OSSIM library, command-line applications, tests, and build system
Stars: ✭ 182 (-10.78%)
Mutual labels:  image-processing
Smartcrop.py
smartcrop implementation in Python
Stars: ✭ 178 (-12.75%)
Mutual labels:  image-processing
Krita Batch Exporter
A Free Krita plugin to batch export layers and groups with maximum flexibility. Scale, trim, export multiple copies of your layers...
Stars: ✭ 201 (-1.47%)
Mutual labels:  image-processing
Ailearnnotes
Artificial Intelligence Learning Notes.
Stars: ✭ 195 (-4.41%)
Mutual labels:  image-processing
Gulp Webp
Convert images to WebP
Stars: ✭ 187 (-8.33%)
Mutual labels:  image-processing
Opencv Python Tutorial
📖 OpenCV-Python image processing tutorial for beginners
Stars: ✭ 2,425 (+1088.73%)
Mutual labels:  image-processing
Resdet
Detect source resolution of upscaled images
Stars: ✭ 191 (-6.37%)
Mutual labels:  image-processing
Alexei
DEPRECATED - An Image Processing Interface for Android
Stars: ✭ 182 (-10.78%)
Mutual labels:  image-processing
Marvel
Marvel - Face Recognition With Android & OpenCV
Stars: ✭ 199 (-2.45%)
Mutual labels:  image-processing
Imgsmlr
Similar images search for PostgreSQL
Stars: ✭ 181 (-11.27%)
Mutual labels:  image-processing
Go Exif
A very complete, highly tested, standards-driven (but customizable) EXIF reader/writer lovingly written in Go.
Stars: ✭ 186 (-8.82%)
Mutual labels:  image-processing
Piccante
The hottest High Dynamic Range (HDR) Library
Stars: ✭ 195 (-4.41%)
Mutual labels:  image-processing
Android Cutout
Android image background removing library
Stars: ✭ 183 (-10.29%)
Mutual labels:  image-processing
Imantics
📷 Reactive python package for managing, creating and visualizing different deep-learning image annotation formats
Stars: ✭ 184 (-9.8%)
Mutual labels:  image-processing

Gyroflow - Video stabilization using gyroscope data targeting drone footage (WIP)

In-depth video guide

Website with more info

A program built around Python, OpenCV, and PySide2 for video stabilization using gyroscope data.

The project consists of three core parts: A utility for the generation of lens undistortion preset, a utility for stabilizing footage using gyro data, and a utility for stretching 4:3 video to 16:9 using non-linear horizontal stretching (similar to GoPro's superview).

The main goal of creating something that can stabilize footage based on blackbox gyro data has mostly been achieved. Moving forwards, more work will be done to improve the quality of the result.

The launcher containing all the utilities is available by executing gyroflow.py if all the dependencies are met. Otherwise a binary can be found over in releases. Also, check out the wiki where there's some more information about the camera calibration and video stabilization process.

Other things to check out:

  • BlackboxToGPMF by Cleric-K and Attilafustos. Tool for adding GoPro metadata and blackbox data to non-GoPro cameras for use with Reelsteady GO. Initial discussion here.
  • blackbox2gpmf by Jaromeyer. Tool for adding blackbox gyro data to Hero 7 files for Reelsteady Go.
  • Discord server maintained by Nicecrash for discussion about gyroflow, BlackboxToGPMF, blackbox2gpmf and other related projects.
  • FPV Stabilization Tools Facebook group maintained by Attilafustos.

Status

Sample clips:

Working:

  • Videoplayer based on OpenCV and Pyside2
  • Gyro integration using quaternions
  • Non-linear stretch utility
  • Basic video import/export
  • Camera calibration utility with preset import/export
  • GoPro metadata import
  • Symmetrical slerp-based quaternion low-pass filter
  • Blackbox data import
  • Undistort and rotation perspective transform
  • Semi-automatic temporal gyro/video sync.
  • Blackbox orientation handling and wide interval sync.
  • Stabilization UI without video player
  • (Basic) gyro orientation presets for GoPro cameras

Work in progress:

  • Documentation
  • Improved low-pass filter and more stabilization modes (Time-lapse, separate pitch/yaw/roll smoothness control etc.)

Not working (yet) and potential future additions and ideas:

  • Incorporate acceleration data in orientation estimation for horizon lock (Probably just a complementary filter. Kalman is overkill but could be fun to learn).
  • Automatic camera alignment identification with respect to gyro
  • Try different calibration pattern? Asymmetric circles/ChArUco?
  • Streamlining/optimizing the image processing pipeline (more hardware acceleration etc.)
  • Rolling shutter correction (and determination?) + RS-aware gyro sync.
  • Automatic determination of required crop
  • Integration with external logger hardware
  • Native support for other cameras with internal gyro (insta360, sony A7 series?)
  • Support for reading and writing professional video formats (video editor plugin?)
  • Audio handling
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].