JakubOchnik / Cube-LUT-Loader

A simple command-line 1D/3D .cube LUT loader.
Other
24 stars 4 forks source link
image-processing lut

Cube LUT Loader

drawing

Workflow
A simple command-line C++ tool that allows you to apply a Cube format LUT to an image. It offers high-performance multi-threaded and GPU-accelerated modes, various interpolation methods, and support for 1D and 3D LUTs.
See performance tests for a performance comparison between the offered modes.

Features

Program options

  -h [ --help ]                  Help screen
  -i [ --input ] arg             Input file path
  -l [ --lut ] arg               LUT file path
  -o [ --output ] arg (=out.png) Output file path [= out.png]
  -f [ --force ]                 Force overwrite file
  -s [ --strength ] arg (=1)     Strength of the effect [= 1.0]
  -t [ --trilinear ]             Trilinear interpolation of 3D LUT
  -n [ --nearest_value ]         No interpolation of 3D LUT
  -j [ --threads ] arg (=8)      Number of threads [= Number of physical threads]
  --gpu                          Use GPU acceleration
  --width arg                    Output image width
  --height arg                   Output image height

Hardware requirements

A suitable NVIDIA GPU is required for the GPU mode to work (preferably with compute capability 6.1 or up). However, if you don't have one, you can still build and use the program in CPU mode!

In progress