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.
-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
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!