bimage-display

Window system for Bimage
README

v0.5.0

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-0.5.0.tbz
sha256=3875b65b243ea7055af6aeb70099fcfbde7973ad02e5b1613c16ffb702c77cd8
sha512=7ff3fd5d71c93b11a487d7be3fdfca4b0e98973551f44d2fd49b8b4ce866f7ad380a4a784ba16ea01173c52e24b2d93b9a635c471b690b35792c12c4ee69a886
Dependencies
glfw-ocaml
>= "3.3.0"
bimage
= version
dune
>= "2.0"
ocaml
>= "4.08.0"
Reverse Dependencies