Skip to content

lilith/imaging-wiki

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 

Repository files navigation

OSS Imaging Libraries

List of all open-source imaging libraries and their strengths and weaknesses. Please help me improve this page! Submit pull requests for additions and corrections.

We're looking for a cross-platform library suitable for on-demand, server-side image processing. It should have the following attributes:

  • Free-threaded (No shared graphics thread)
  • Multi-tenanting-enabled (Multiple instances per process)
  • Fast hq image decoding, encoding, and scaling
  • At least accurate bicubic scaling must be implemented. Bicubic smoother & lanczos preferred.
  • No memory leaks whatsoever
  • Low RAM use
  • Fast startup times
  • Fast per-image processing times
  • Secure
  • Permissive license
Library License Language Promising? Comments
LibGD Similar to MIT C yes See LibGD.md
Skia image_operations.cc New BSD C++ Yes
Libvips LGPL C++ yes
Cairo LGPL 2.1 or MPL 1.1 C Yes
OpenCV BSD C++
OpenCV-Ruby BSD
OpenImageIO Github BSD C++ Yes - very active
Pixman MIT C Yes
CImg CeCILL-C
CxImage zlib C++
Leptonica Apache C Yes
DevIL LGPL
PIL or Pillow Similar to MIT/BSD C Tied to Python. Pillow is a community fork.
Magick++ as a part of ImageMagick Apache C++
FreeImage GPL 2/3 OR FIPL C
SDL_Image zlib license
Adobe Generic Image Library Boost Software License C++ No Entirely C++ templates; part of Boost; no actual imaging algorithms.
ExactImage GPL 2
ImLib2 Unclear
Marvin LGPL Java
Animal GPL C
Gandalf LGPL C
IM MIT C++
PIL BSD-style C/Python
GMIC CeCILL2 C
FrameWave Apache V2.0 C AMD's alternative to IPP. Claims to also work decently on Intel
modpagespeed kernel/image Apache 2 C++ Offers box/area averaging resizing, Google's page optimization apache module

Uncategorized - need to organize

https://github.com/mosra/magnum http://gfxprim.ucw.cz/

https://github.com/mono/csharpplugin <- Create .NET wrappers from header files (better than SWIG)

List of imaging libraries with lisp bindings

http://stackoverflow.com/questions/11816571/light-weight-c-image-library

http://www.tecgraf.puc-rio.br/im/

http://www.exactcode.com/site/open_source/exactimage/releases/ GPL

https://github.com/cinder/Cinder/blob/ae580c2cb0fc44d0a99b233dbefdf736f7093209/src/cinder/ip/Resize.cpp Cinder Modified BSD

Optimization resources

https://github.com/rflynn/imgmin

Halide, a language for optimized image processing - Very promising!

liborc

https://github.com/ispc/ispc

.NET

https://github.com/praeclarum/CrossGraphics

Graphics Gems

https://github.com/erich666/GraphicsGems https://github.com/erich666/GraphicsGems/blob/master/gemsiii/filter.c https://github.com/erich666/GraphicsGems/blob/master/gemsiii/bitmap.c

Image servers

https://github.com/buaazp/zimg ImageMagick-based, async https://github.com/kristopolous/apophnia ImageMagick-based

https://github.com/beetlebugorg/mod_dims ImageMagick-based

https://github.com/3078825/ngx_image_thumb LibGD based

https://github.com/hudora/huImages PIL based

https://github.com/lovell/sharp libvips based for Node

https://github.com/ipconfiger/pyImageServer

https://github.com/sdepold/node-imageable-server

https://github.com/agschwender/pilbox

Scaling-only resources

https://code.google.com/p/imageresampler/

github/jrmuizel/image-scaling: Porting Skia scaling to Emscripten

https://code.google.com/p/java-image-scaling/

https://github.com/tmiddelkoop/ImageResize

https://github.com/jrmuizel/pixman-scaler

Imaging/graphics libraries that don't offer significant image scaling abilities

Library License Platforms Language
ccv MIT C++
GDAL MIT ?

Exisitng comparisons

http://www.vips.ecs.soton.ac.uk/index.php?title=Speed_and_Memory_Use http://randomfoo.net/2013/02/24/performance-comparison-of-image-libraries-revisited http://leocharre.com/articles/faster-image-resizing-in-linux/

Chainable image processing frameworks with GUIs

MathMap - https://github.com/schani/mathmap

Vips - http://www.vips.ecs.soton.ac.uk/index.php?title=Libvips

https://code.google.com/p/imagestack/

iOS specific

https://github.com/BradLarson/GPUImage

Go-lang

https://github.com/disintegration/imaging

Windows APIs

Windows Imaging Components StrechDIBits DrawDIB

Image resizing and transformation reading

Unsorted

https://github.com/psobot/smartcrop

Finding more libraries on GitHub

https://github.com/search?l=C%23&p=2&q=stars%3A%3E1+graphics&ref=searchresults&type=Repositories

About

List/benchmark open-source imaging libraries

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published