bimage-lwt

A simple, efficient image-processing library (LWT bindings)
README

v0.3.1-6-g5ba10c5

bimage is an image processing library for OCaml.

Features

  • Simple image type based on bigarrays

  • Supports u8, u16, i32, i64, f32, f64 datatypes

  • Composable image operations

  • Image I/O using OpenImageIO (bimage-io)

  • Image I/O using ImageMagick/GraphicsMagick and stb_image (bimage-unix)

  • GLFW window support (bimage-display)

bimage is distributed under the ISC license.

Homepage: https://github.com/zshipko/ocaml-bimage

Installation

bimage can be installed with opam:

$ opam install bimage

bimage-io can be installed by running:

$ opam install bimage-io

Additionally, bimage-unix, which provides stb-image and ImageMagick bindings, can be installed by running:

$ opam install bimage-unix

If you don't use opam consult the opam file for build
instructions.

Getting started

  • Type.t: Defines the type of an image: u8, u16, f32, f64, i32 or i64

  • Color.t: Defines the color of an image: gray, rgb, rgba, xyz and yuv

    • It's possible to extend the color type by implementing COLOR

  • Image.t: Image type

  • Kernel.t: Convolution kernels

  • Transform.t: Image transformations

  • Expr.t: Expression combinator

    • Building blocks for image processing filters

  • Filter.t: Executable image filter

    • Makes Expr.t executable

There is a corresponding file for each of these types in src/.

Examples

See examples/ for usage examples

Documentation

The documentation and API reference is generated from the source
interfaces. It can be consulted online or via odig doc bimage.

Tests

In the distribution sample programs and tests are located in the
test directory. They can be built and run
with:

dune runtest
Install
Sources
bimage-v0.4.0.tbz
sha256=726857dcd495a35ec7be2e0fdc25473b3e39ba5f211142b4a5bc3b66ee9221ef
sha512=91a48e63499303ca08ed01d745fd40639e8aaaecc1e72deb11f3c29120dc36fab8b0e1f5329bf971df8bf5e1fd35e3a983d9cccb9513615e5f916cc315792947
Dependencies
bimage
= version
dune
>= "2.0"
ocaml
>= "4.08.0"
Reverse Dependencies