Dart LUT3D
The library for working with LUTs.
License
project under MIT license
Changelogs
Task List
x
Basic impl.x
Read .cube filesx
Store 3DLUTx
Verifying LUTsx
Applying 3D LUTsx
Trilinear interpolationx
More testsx
Publish to PUB
0.0.4
- more tests
- fixed wrong equalification of Colour class
- error handling while parsing LUT
- added travis integration
- some minor changes
Instalation
add dependency in pubsec.yaml
from pub.dartlang.org:
dependencies:
dart_lut: ^0.0.4
latest from github.com:
dependencies:
dart_lut:
git: git://github.com/NiKoTron/dart-lut.git
Usage
generic example:
import 'dart:io';
import 'package:image/image.dart';
import 'package:dart_lut/src/lut.dart';
final lut = LUT.fromString(File('example.cube').readAsStringSync());
final isLoaded = await lut
.awaitLoading()
.timeout(Duration(milliseconds: 1500), onTimeout: () => false);
if (isLoaded) {
final image = decodeImage(imageFile.readAsBytesSync());
var lutedBytes = lut.applySync(image.getBytes());
var imageLUT = Image.fromBytes(image.width, image.height, lutedBytes);
var outputFile = File('out.jpg')..writeAsBytesSync(encodeJpg(imageLUT));
}
lut.applyAsStream(image.getBytes()).listen((result) {
print('#${result.toRadixString(16).padLeft(4, '0')}'); //print ARGB value after applying LUT in HEX format
});
Sample results
image by Caique Silva LUTs: KURO B&W by David Morgan Jones, Arabica 12 and Lenox 340 by rocketstock
image by sean Kong LUTs: KURO B&W by David Morgan Jones, Arabica 12 and Lenox 340 by rocketstock