A minimalist, easy to use tool for deflickering image sequences such as timelapses.
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).
- Download the latest version from the releases page. Prebuilt binaries are provided for Windows, and macOS builds are CLI-only.
- Execute
simple-deflicker.exeon Windows to use the GUI. Check the console for error messages.
Simple Deflicker can run without the GUI by passing a source and destination directory:
simple-deflicker -source "/path/to/input" -destination "/path/to/output"Optional flags:
simple-deflicker -source "/path/to/input" -destination "/path/to/output" -rollingAverage 15 -jpegCompression 95 -threads 8Build a CLI-only binary:
go build -tags cli -o simple-deflickermacOS builds are CLI-only:
GOOS=darwin GOARCH=arm64 go build -o simple-deflicker-macos-arm64
GOOS=darwin GOARCH=amd64 go build -o simple-deflicker-macos-amd64On platforms built with the cli tag, the GUI is disabled and -source plus -destination are required.
- 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).
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.
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.
- nucular for the GUI.
