Libvips
lastmod 2024-12-20created 2024-12-201 edits
Very fast image processing library with low memory use
About
- More than 300 image processing functions
- Language bindings for C, Ruby, Python, PHP, C#, Go, Lua
- There are also a CLI and libraries for Node and RoR.
In most cases much faster and uses less memory than libraries such as ImageMagic/OpenCV/etc.
Why libvips is fast
- https://github.com/libvips/libvips/wiki/Why-is-libvips-quick
- Instead of processing the whole image in memory, processes only parts of the image in memory, streamed on demand.
- Developed to use fast operations
- Handles image IO with threading
- Supports parallel processing
- Region-based processing (overlap allowed) rather than tile-based processing (split without overlap)
- Uses almost no locks.
- Supports 10 pixel formats from 8-bit to 128-bit
See also
- Image Processing
- libpng
- wasm-vips - fast image processing library for browsers and NodeJS