The library for working with LUTs.
project under MIT license
- Basic impl.
- Read .cube files
- Read another formats
- Store 3DLUT
- Generate LUTs by expression
- Verifying LUTs
- Applying 3D LUTs
- Applying 1D LUTs
- Optimize perfomance
- Trilinear interpolation
- More tests
- Documentation
- Publish to PUB
- Remove task list
- more tests
- fixed wrong equalification of Colour class
- error handling while parsing LUT
- added travis integration
- some minor changes
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
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
});
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