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 aflatcv.h
andflatcv.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!