NiKoTron / dart-lut

The image processing library via 3d LUT that's written on the pure dart language.

Home Page:https://pub.dartlang.org/packages/dart_lut

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Dart LUT3D

pub package Build Status

The library for working with LUTs.

License

project under MIT license

Changelogs

full changelog

Task List

  • 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

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

Photo by Caique Silva on Unsplash

image by Caique Silva LUTs: KURO B&W by David Morgan Jones, Arabica 12 and Lenox 340 by rocketstock

Photo by sean Kong on Unsplash

image by sean Kong LUTs: KURO B&W by David Morgan Jones, Arabica 12 and Lenox 340 by rocketstock

About

The image processing library via 3d LUT that's written on the pure dart language.

https://pub.dartlang.org/packages/dart_lut

License:MIT License


Languages

Language:Dart 97.9%Language:Shell 2.1%