A lightweight C library for image processing, inspired by FFmpeg.
- Load and save BMP images
- Unified in-memory image representation (
Imgstruct) - Zero external dependencies
- Simple CLI tool included
make # release build
make debug # build with sanitizers
make test # run testsRequirements: GCC or Clang, Make, Linux/macOS
./imgmpeg input.bmp output.bmp
./imgmpeg -i input.bmp -f grayscale -o output.bmp#include "imgmpeg.h"
Img *img = img_load("input.bmp");
img_save(img, "output.bmp");
img_free(img);- Grayscale and color filters
- 3×3 convolution engine
- Image resizing (nearest-neighbor, bilinear)
- PNG/JPEG support
- Filter graph syntax
See CONTRIBUTING.md.