Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

FlatCV

Image processing and computer vision library in pure C.

Check out the sidebar on the left for all available features.

Characteristics

  • Color images are a flat array of 8-bit per channel RGBA row-major top-to-bottom
  • Grayscale images are a flat array of 8-bit GRAY row-major top-to-bottom
  • All operations are done on the raw sRGB pixel values
  • Available as an amalgamation where all code is combined into one file.
    (Each release includes a flatcv.h and flatcv.c file.)
  • Simple code
    • Only uses functions from the C standard library.
    • Minimal usage of macros and preprocessor
    • No multithreading
      Yet, it's still plenty fast and, for many operations, faster than ImageMagick. (See benchmark below.) For batch processing, make sure to process one file per core.
    • No GPU acceleration
    • No fusing of image transformations

Playground

You can try out FlatCV in your browser using the FlatCV Playground. It uses WebAssembly to run the image processing code in your browser.

Code

You can find the ISC licensed source code on GitHub.

Examples

All examples in this documentation are executed during testing. So you can be confident that they work as described!