A list of paid, free or open source C++ (C plus plus) image processing libraries, plugins and tools for working with BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP image files including analysis, manipulation and classification libraries and more. Sourced under a creative commons. This list will be updated regularly. Email over the URL, if you wish to be included.

C++ image processing libraries

  • Boost.GIL – Generic Image Library. [Boost] website
  • BitmapPlusPLus – Simple and Fast header only Bitmap C++ library. [MIT]
  • CImg – A small, open source, C++ toolkit for image processing. [Own LGPL or GPL]
  • CxImage – An image processing and conversion library to load, save, display, transform BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, J2K images. [zlib]
  • Dlib ⚡ – A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost] website
  • FreeImage – An open source library that supports popular graphics image formats and others as needed by today’s multimedia applications. [GPL2 or GPL3]
  • GD – GD Graphics Library, famously used in PHP for image loading/manipulation & thumbnail generation. [custom permissive license, requires mention in user docs] website
  • DCMTK – DICOM Toolkit.
  • GDCM – Grassroots DICOM library.
  • ITK – An open-source, cross-platform system for image analysis. [Apache2 from ITK 4.0]
  • Leptonica – Leptonica is an open source library containing software that is broadly useful for image processing and image analysis applications. [BSD-2-Clause] website
  • libfacedetection – Open source library for face detection in images. The face detection speed can reach 1500FPS. [BSD]
  • libjpeg-turbo – A JPEG image codec that uses SIMD instructions to accelerate baseline JPEG encoding and decoding. [IJG & BSD-3-Clause & zlib] website
  • libvips – A fast image processing library with low memory needs. [LGPL] website
  • Magick++ – ImageMagick program interfaces for C++. [Apache2]
  • MagickWnd – ImageMagick program interfaces for C. [Apache2]
  • OpenCV ⚡ – Open source computer vision. [Apache2] website
  • OpenEXR – Cross-platform library for high dynamic range imaging. [Modified BSDF]
  • OpenImageIO – Powerful image and texture wrangling library with support for a wide number of common lossy and RAW formats. [Modified BSD]
  • SAIL – Easy-to-use cross-platform image decoding library with pluggable image codecs. [MIT]
  • Simd – C++ image processing library with using of SIMD: SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX-512, VMX(Altivec) and VSX(Power7), NEON for ARM. [MIT]
  • stb-image – STB single-header image loading library. [Public Domain]
  • tesseract-ocr – An OCR engine. [Apache2]
  • TinyEXIF – Tiny ISO-compliant C++ EXIF and XMP parsing library for JPEG. [MIT]
  • Video++ – A C++14 high performance video and image processing library. [MIT]
  • VIGRA – A generic C++ computer vision library for image analysis. [MIT X11]
  • VTK – Open-source, freely available software system for 3D computer graphics, image processing and visualization. [BSD]

Tags: c++, open source, c plus plus, c++ tools, c++ plugins, c++ libraries, c plus plus tools, c plus plus plugins, c plus plus libraries, image processing, BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, image analysis, image manipulation, image classification, c++ image processing, c++ BMP, c++ JPEG, c++ GIF, c++ PNG, c++ TIFF, c++ MNG, c++ ICO, c++ PCX, c++ TGA, c++ WMF, c++ WBMP, c++ image analysis, c++ image manipulation, c++ image classification

Image: Unsplash License.

Portions of this text under: MIT license