Skip to content

This is a Java tool to interpolate settings from a list of images in format DNG,

License

Notifications You must be signed in to change notification settings

victor-porcar/TimelapseDNGInterpolator2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DNG Images Settings Interpolator for Timelapses

This is a command line tool to interpolate settings values from a list of images in format DNG to process smooth transitions in timelapses.

DNG is supported by many image/video application, specially the Adobe ecosystem (Lightroom, Photoshop, Premiere..).

Please note that Adobe offers a free tool to convert any propietary custom RAW format to DNG

Motivation

I developed this tool for my own use to process timelapses when using Adobe Lightroom, just for fun, so it is basic and there is plenty of room for improvement. Said that, it is fully working and I believe it could be useful for somebody else, so I decided to make it publicly available under license Apache 2.0. If you feel like to extend it, please do it!.

How it works

Let's suppose there is a list of consecutives images in DNG format from a timelapse in a directory D:\IMAGES:

Image01.dng Image02.dng Image03.dng Image04.dng Image05.dng ... Image20.dng ... Image99.dng

At this point all images settings are set to 0 for all images (as it is taken from the camera)

Using a program like Lightroom or similar, we set some settings in Image01.dng for example exposure is set to 1 and Image20.dng is set to 2

Now, it would be very nice to have a gradual increase of exposure from Image01.dng to Image20.dng as follows:

  • Image01.dng exposure = 1
  • Image02.dng exposure = 1.05
  • Image03.dng exposure = 1.1
  • ...
  • Image18.dng exposure = 1.90
  • Image19.dng exposure = 1.95
  • Image20.dng exposure = 2

This is what this tool performs, it interpolates values of settings between two images:

java -jar dng-settings-interpolator-X.X.jar D:\IMAGES D:\BACKUP -- files Image01.dng Image20.dng --settings crs:Exposure2012

Where:

  • dng-settings-interpolator-X.X.jar is the latest version of the tool (located in /bindirectory of this repository)
  • D:\IMAGES is the folder containing all the **.DNG files
  • D:\BACKUP is a folder where the tool will make a copy before changing anything.
  • --files : it means that subsequent parameters will be the names of files that defines the range to interpolate settings [Image01.dng, Image20.dng]
  • --settings: it means that subsequent parameters will have the name the settings to interpolate => crs:Exposure2012 is the name of the setting "Exposure" in a DNG file (see how to know the name of the settings below)

Once the execution is over, the exposure value for range of images from Image02.dng to Image19.dng will have been overwritten by the tool as per a linear interpolation function between values 1 (from Image01.dng ) and 2 (Image20.dng)

Arguments

Broadly speaking, the tool suppors the following arguments:

java -jar dng-settings-interpolator-X.X.jar [image_directory] [backup_directory] --file [file1] [file2] ... [filen] --settings [setting1 Name] [setting2 name] ... [settingN name]

Please note that --settings is optional, if not provided, the tool will interpolate ALL settings

View all available settings

java -jar dng-settings-interpolator-X.X.jar --settings

Settings

The list of all available settings is here

In order to know the name of the setting in a DNG image, the following trick can be used: Open the file in Lightroom, change setting you want to know and set it to a particular value. Once the DNG file is properly saved, open the file with any text editor and you'll see the XMP section as plain text (JSON). Look for the value you set before and you'll see the corresponding name of the setting.

GoPro and Lightroom

Here is an example of the workflow I use to process smooth transitions in Lightroom for GOPRO nightlapses.


Building a new release

  • develop new code and increase manually version in pom.xml
  • mvn clean verify package
  • git add .
  • git commit -m "comment"
  • git push origin master
  • the new version of the jar will be in /bin folder

About

This is a Java tool to interpolate settings from a list of images in format DNG,

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages