All Projects → StruffelProductions → Simple Deflicker

StruffelProductions / Simple Deflicker

Licence: mit
A lightweight and easy to use tool for deflickering timelapse image sequences.

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Simple Deflicker

Bild
Image processing algorithms in pure Go
Stars: ✭ 3,431 (+4474.67%)
Mutual labels:  image-processing, histogram
Coursera Specializations
Solutions to assignments of Coursera Specializations - Deep learning, Machine learning, Algorithms & Data Structures, Image Processing and Python For Everybody
Stars: ✭ 72 (-4%)
Mutual labels:  image-processing
Legoizer
A tool to convert images to Lego bricks.
Stars: ✭ 63 (-16%)
Mutual labels:  image-processing
Blendit
🖼 Blend images with text and generate amazing looking posters.
Stars: ✭ 68 (-9.33%)
Mutual labels:  image-processing
Fft Conv Pytorch
Implementation of 1D, 2D, and 3D FFT convolutions in PyTorch. Much faster than direct convolutions for large kernel sizes.
Stars: ✭ 65 (-13.33%)
Mutual labels:  image-processing
Gobrot
Mandelbrot image renderer in Go
Stars: ✭ 70 (-6.67%)
Mutual labels:  image-processing
Jpg Glitch
glitch images with jpg encoding
Stars: ✭ 1,120 (+1393.33%)
Mutual labels:  image-processing
Pixlab
PixLab Resources & Sample Set
Stars: ✭ 74 (-1.33%)
Mutual labels:  image-processing
Imageviewer
HDR, PFM, DDS, KTX, EXR, PNG, JPG, BMP image viewer and manipulator
Stars: ✭ 71 (-5.33%)
Mutual labels:  image-processing
Scanbot Sdk Example Android
Document scanning SDK example apps for the Scanbot SDK for Android.
Stars: ✭ 67 (-10.67%)
Mutual labels:  image-processing
Opendcx
OpenDCX Repository
Stars: ✭ 67 (-10.67%)
Mutual labels:  image-processing
Go Cv
Computer Vision package in pure Go taking advantage of SIMD acceleration
Stars: ✭ 66 (-12%)
Mutual labels:  image-processing
Skrop
Image transformation service using libvips, based on Skipper.
Stars: ✭ 71 (-5.33%)
Mutual labels:  image-processing
Artos
Adaptive Real-Time Object Detection System with HOG and CNN Features
Stars: ✭ 64 (-14.67%)
Mutual labels:  image-processing
Simpleimage
A PHP class that makes working with images as simple as possible.
Stars: ✭ 1,184 (+1478.67%)
Mutual labels:  image-processing
Retouch
🎬 An OpenGL application for editing and retouching images using depth-maps in 2.5D
Stars: ✭ 63 (-16%)
Mutual labels:  image-processing
Multiclass Semantic Segmentation Camvid
Tensorflow 2 implementation of complete pipeline for multiclass image semantic segmentation using UNet, SegNet and FCN32 architectures on Cambridge-driving Labeled Video Database (CamVid) dataset.
Stars: ✭ 67 (-10.67%)
Mutual labels:  image-processing
Image Filtering
A Swift playgroundbook about Image Filtering
Stars: ✭ 70 (-6.67%)
Mutual labels:  image-processing
Dcv
Computer Vision Library for D Programming Language
Stars: ✭ 74 (-1.33%)
Mutual labels:  image-processing
Kaggle Rsna
Deep Learning for Automatic Pneumonia Detection, RSNA challenge
Stars: ✭ 74 (-1.33%)
Mutual labels:  image-processing

Simple Deflicker

A minimalist, lightning-fast and easy to use tool for deflickering image sequences such as timelapses. It's still in its early stages of development.

Short Demo

What is timelapse flickering?

Timelapse flickering can occur if one or more settings of the camera have been left on "auto" which causes it to randomly switch between two settings (for example shutter speeds).

How to use this software

  • Download the latest version from the releases page. The compiled binary is only available for windows at this point
  • Execute simple-deflicker.exe either by double-clicking it or by launching it from the console. If launched without any arguments Simple Deflicker will ask you to specify a source and destination folder. Read the wiki for more details.
  • The software will then start deflickering the images.

Current limitations of the tool

  • Only JPG and PNG (8bit) are supported
  • JPGs will always be saved with a compression setting of 95
  • All metadata present in the source files will not be copied over.
  • The software can only fix global flicker. It can not deal with rolling flicker (caused by certain indoor lighting conditions).

How does the deflickering work?

The current implementation uses a technique called histogram matching. It basically creates a list of how often a certain brighness (or rather every individual brightness level) appears, creates a rolling average to allow for gradual brightness changes (for example in a day to night transition) and finally shifts the brightness to match the "smoothed out" brightness levels.

What's planned for the future

  • Compiled binaries for more operating systems (linux and macOS)
  • Maybe a proper GUI (though CLI will remain possible)
  • 16bit image support

How is the software structured? (only important for developers, not for users)

The software uses several other packages:

  • Imaging for loading, saving and manipulating image files.
  • dialog for creating the dialog boxes and file selection windows.
  • uiprogress for creating the progress bars in the console.

Let's take a quick tour through all the files:

  • main.go contains the main() function as well as the runDeflickering() function which orchestrate the entire process.
  • histogram.go contains the mathematical operations for handeling histograms and luts (Look up tables) used for deflickering
  • files.go deals with the filesystem. It parses the source directory for images and creates the destination directory if it does not exist.
  • config.go deals with the configuration, either via args or (if the args parameters are missing) by creating a pop-up to let users make a selection.
  • progress.go is responsible for managing the progress bars in the console window.
  • util.go contains various helper functions.
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].