Participate in Reproducible Research
General Image Processing
OpenCV
(C/C++ code, BSD lic) Image manipulation, matrix manipulation, transforms
Torch3Vision
(C/C++ code, BSD lic) Basic image processing, matrix manipulation and featureextraction algorithms: rotation, flip, photometric normalisations (HistogramEqualization, Multiscale Retinex, Self-Quotient Image or Gross-Brajovic), edgedetection, 2D DCT, 2D FFT, 2D Gabor, PCA to do Eigen-Faces, LDA to doFisher-Faces. Various metrics (Euclidean, Mahanalobis, ChiSquare,NormalizeCorrelation, TangentDistance, ...)
GradientShop
(C/C++ code, GPL lic) GradientShop: A Gradient-Domain Optimization Frameworkfor Image and Video Filtering
ImLab
(C/C++ code, MIT lic) A Free Experimental System for Image Processing (loading,transforms, filters, histogram, morphology, ...)
CIMG
(C/C++ code, GPL and LGPL lic) CImg Library is an open source C++ toolkit forimage processing
Generic Image Library (GIL) - boost integration
(C/C++ code, MIT lic) Adobe open source C++ Generic Image Library (GIL)
SimpleCV a kinder, gentler machine vision library
(python code, MIT lic) SimpleCV is a Python interface to several powerful opensource computer vision libraries in a single convenient package
PCL, The Point Cloud Library
(C/C++ code, BSD lic) The Point Cloud Library (or PCL) is a large scale, openproject for point cloud processing. The PCL framework contains numerousstate-of-the art algorithms including filtering, feature estimation, surfacereconstruction, registration, model fitting and segmentation.
Population, imaging library in C++ for processing, analysing, modelling andvisualising
(C/C++ code, CeCill lic) Population is an open-source imaging library in C++for processing, analysing, modelling and visualising including more than 200algorithms designed by V. Tariel.
Free but not open source - ArrayFire (formely LibJacket) is a matrix libraryfor CUDA
(CUDA/C++, free lic) ArrayFire offers hundreds of general matrix and imageprocessing functions, all running on the GPU. The syntax is very Matlab-like,with the goal of offering easy porting of Matlab code to C++/ArrayFire.
Image Acquisition, Decoding & encoding
FFMPEG
(C/C++ code, LGPL or GPL lic) Record, convert and stream audio and video (lotof codec)
OpenCV
(C/C++ code, BSD lic) PNG, JPEG,... images, avi video files, USB webcam,...
Torch3Vision
(C/C++ code, BSD lic) Video file decoding/encoding (ffmpeg integration), imagecapture from a frame grabber or from USB, Sony pan/tilt/zoom camera controlusing VISCA interface
lib VLC
(C/C++ code, GPL lic) Used by VLC player: record, convert and stream audio andvideo
Live555
(C/C++ code, LGPL lic) RTSP streams
ImageMagick
(C/C++ code, GPL lic) Loading & saving DPX, EXR, GIF, JPEG, JPEG-2000, PDF,PhotoCD, PNG, Postscript, SVG, TIFF, and more
DevIL
(C/C++ code, LGPL lic) Loading & saving various image format
FreeImage
(C/C++ code, GPL & FPL lic) PNG, BMP, JPEG, TIFF loading
Segmentation
OpenCV
(C/C++ code, BSD lic) Pyramid image segmentation
Branch-and-Mincut
(C/C++ code, Microsoft Research Lic) Branch-and-Mincut Algorithm for ImageSegmentation
Efficiently solving multi-label MRFs (Readme)
(C/C++ code) Segmentation, object category labelling, stereo
Machine Learning
Torch
(C/C++ code, BSD lic) Gradient machines ( multi-layered perceptrons, radialbasis functions, mixtures of experts, convolutional networks and eventime-delay neural networks), Support vector machines, Ensemble models (bagging,adaboost), Non-parametric models (K-nearest-neighbors, Parzen regression andParzen density estimator), distributions (Kmeans, Gaussian mixture models,hidden Markov models, input-output hidden Markov models, and Bayes classifier),speech recognition tools
Object Detection
OpenCV
(C/C++ code, BSD lic) Viola-jones face detection (Haar features)
Torch3Vision
(C/C++ code, BSD lic) MLP & cascade of Haar-like classifiers face detection
Hough Forests
(C/C++ code, Microsoft Research Lic) Class-Specific Hough Forests for Object Detection
Efficient Subwindow Object Detection
(C/C++ code, Apache Lic) Christoph Lampert "Efficient Subwindow"algorithms for Object Detection
INRIA Object Detection and Localization Toolkit
(C/C++ code, Custom Lic) Histograms of Oriented Gradients library for ObjectDetection
Object Category Labelling
Efficiently solving multi-label MRFs (Readme)
(C/C++ code) Segmentation, object category labelling, stereo
Multi-label optimization
(C/C++/MATLAB code) The gco-v3.0 library is for optimizing multi-label energies.It supports energies with any combination of unary, pairwise, and label costterms.
Optical flow
OpenCV
(C/C++ code, BSD lic) Horn & Schunck algorithm, Lucas & Kanadealgorithm, Lucas-Kanade optical flow in pyramids, block matching
GPU-KLT+FLOW
(C/C++/OpenGL/Cg code, LGPL) Gain-Adaptive KLT Tracking and TV-L1 optical flowon the GPU
Features Extraction & Matching
SIFT by R. Hess
(C/C++ code, GPL lic) SIFT feature extraction & RANSAC matching
OpenSURF
(C/C++ code) SURF feature extraction algorihtm (kind of fast SIFT)
ASIFT (from IPOL)
(C/C++ code, Ecole Polytechnique and ENS Cachan for commercial Lic) Affine SIFT(ASIFT)
VLFeat (formely Sift++)
(C/C++ code) SIFT, MSER, k-means, hierarchical k-means, agglomerativeinformation bottleneck, and quick shift
SiftGPU
A GPU Implementation of Scale Invariant Feature Transform (SIFT)
Groupsac
(C/C++ code, GPL lic) An enhance version of RANSAC that considers thecorrelation between data points
Nearest Neighbors matching
FLANN
(C/C++ code, BSD lic) Approximate Nearest Neighbors (Fast Approximate NearestNeighbors with Automatic Algorithm Configuration)
ANN
(C/C++ code, LGPL lic) Approximate Nearest Neighbor Searching
Tracking
OpenCV
(C/C++ code, BSD lic) Kalman, Condensation, CAMSHIFT, Mean shift, Snakes
KLT: An Implementation of the Kanade-Lucas-Tomasi Feature Tracker
(C/C++ code, public domain) Kanade-Lucas-Tomasi Feature Tracker
GPU_KLT
(C/C++/OpenGL/Cg code, ) A GPU-based Implementation of the Kanade-Lucas-TomasiFeature Tracker
GPU-KLT+FLOW
(C/C++/OpenGL/Cg code, LGPL) Gain-Adaptive KLT Tracking and TV-L1 optical flowon the GPU
On-line boosting trackers
(C/C++, LGPL) On-line boosting tracker, semi-supervised tracker, beyondsemi-supervised tracker
Simultaneous localization and mapping
Real-Time SLAM - SceneLib
(C/C++ code, LGPL lic) Real-time vision-based SLAM with a single camera
PTAM
(C/C++ code, Isis Innovation Limited lic) Parallel Tracking and Mapping forSmall AR Workspaces
Camera Calibration & constraint
OpenCV
(C/C++ code, BSD lic) Chessboard calibration, calibration with rig or pattern
Geometric camera constraint - Minimal Problems in Computer Vision
Minimal problems in computer vision arise when computing geometrical modelsfrom image data. They often lead to solving systems of algebraic equations.
Camera Calibration Toolbox for Matlab
(Matlab toolbox) Camera Calibration Toolbox for Matlab by Jean-Yves Bouguet (Cimplementation in OpenCV)
Multi-View Reconstruction
Bundle Adjustment - SBA
(C/C++ code, GPL lic) A Generic Sparse Bundle Adjustment Package Based on theLevenberg-Marquardt Algorithm
Bundle Adjustment - SSBA
(C/C++ code, LGPL lic) Simple Sparse Bundle Adjustment (SSBA)
Stereo
Efficiently solving multi-label MRFs (Readme)
(C/C++ code) Segmentation, object category labelling, stereo
LIBELAS: Library for Efficient LArge-scale Stereo Matching
(C/C++ code) Disparity maps, stereo
Structure from motion
Bundler
(C/C++ code, GPL lic) A structure-from-motion system for unordered imagecollections
Patch-based Multi-view Stereo Software (Windows version)
(C/C++ code, GPL lic) A multi-view stereo software that takes a set of imagesand camera parameters, then reconstructs 3D structure of an object or a scenevisible in the images
libmv - work in progress
(C/C++ code, MIT lic) A structure from motion library
Visual odometry
LIBVISO2: Library for VISual Odometry 2
(C/C++ code, Matlab, GPL lic) Libviso 2 is a very fast cross-platfrom (Linux,Windows) C++ library with MATLAB wrappers for computing the 6 DOF motion of amoving mono/stereo camera