friday

A functional image processing library for Haskell.

https://github.com/RaphaelJ/friday

Version on this page:0.2.3.1@rev:1
LTS Haskell 22.14:0.2.3.2
Stackage Nightly 2024-03-29:0.2.3.2
Latest on Hackage:0.2.3.2

See all snapshots friday appears in

LGPL-3.0-only licensed and maintained by Raphael Javaux <raphaeljavaux[at]gmail.com>
This version can be pinned in stack with:friday-0.2.3.1@sha256:a8b4d38b593d866bebbdf141273ce70d2af8ca3351af86ea334dd5bce9252e58,4984

Module documentation for 0.2.3.1

  • Vision
    • Vision.Detector
      • Vision.Detector.Edge
    • Vision.Histogram
    • Vision.Image
      • Vision.Image.Class
      • Vision.Image.Contour
      • Vision.Image.Conversion
      • Vision.Image.Filter
        • Vision.Image.Filter.Internal
      • Vision.Image.Grey
        • Vision.Image.Grey.Specialize
        • Vision.Image.Grey.Type
      • Vision.Image.HSV
        • Vision.Image.HSV.Specialize
        • Vision.Image.HSV.Type
      • Vision.Image.Interpolate
      • Vision.Image.Mutable
      • Vision.Image.Parallel
      • Vision.Image.RGB
        • Vision.Image.RGB.Specialize
        • Vision.Image.RGB.Type
      • Vision.Image.RGBA
        • Vision.Image.RGBA.Specialize
        • Vision.Image.RGBA.Type
      • Vision.Image.Threshold
      • Vision.Image.Transform
      • Vision.Image.Type
    • Vision.Primitive
      • Vision.Primitive.Shape

Friday provides functions to manipulate images in a functional way. The library is designed to be fast, generic and type-safe.

Images can be represented in two representations:

  • the Manifest representation stores images in Haskell Vectors ;

  • the Delayed representation uses functions to produce images pixels. These images can be combined to produce complex transformations. By some inlining, Haskell compilers are able to produce fast algorithms by removing intermediate structures.

The library currently support four color spaces: RGB, RGBA, HSV and gray-scale images.

Please read our README to get a detailed usage and some examples.