The first place to look for basic code to implement basic computer vision algorithms is the OpenCV Library from Intel. Many research groups build on top of the OpenCV code base. The avaliability of code for specific techniques or applications is harder to predict, but some implementations are made available by the authors and others are available from commercial vendors. The following pointers are organized somewhat by what the code does, with other links by what language the code is written in. If you follow the link for the code reference you may find links to the related papers in the Computer Vision Bibliography. Additionally, following the link to the Author often leads to a site with more code. A number of lists of code for sub-areas (e.g. OCR) have been created by researchers in the past, but too often these are no longer maintained. These lists are included in the my listing along with many of the individual entries in those lists. Current research and applications are highlighted in various general and topical Computer Vision and Image Processing conferences, especially applications workshops. As always, the links may not work for all time -- I have no control over the actions of others who move or delete files, but often broken links can provide a starting place to find the source.
Computer Vision resources include:
For more information on the topics, contact information, etc. see the annotated Computer Vision Bibliography or the Complete Conference Listing for Computer Vision and Image Analysis
Code, 3-D Segmentation
* *Seg3D: Volumetric Image Segmentation and Visualization
Code, 3-D Visualization
* *map3d: Interactive scientific visualization tool for bioengineering data
Code, 3D Data
* *libE57: software tools for managing E57 files
Code, 3D Fly Through
* *Make3D
Code, Active Appearance Model
* *AAM Building
* *Active Appearance Models
* *am_tools
Code, Active Blobs
* Active Blobs
Code, Alignment
* Fast, Approximately Optimal Solutions for Single and Dynamic MRFs
Code, Annotation
* LableMe: The Open Annotation Tool
Code, Bundle Adjustment
* *Simple Sparse Bundle Adjustment (SSBA)
* Addingham Bundle Adjustment
* Apero, An Open Source Bundle Adjusment Software For Automatic Calibration and Orientation of Set of Images
* Design and Implementation of a Generic Sparse Bundle Adjustment Software Package Based on the Levenberg-Marquardt Algorithm, The
Code, Calibration
* *HySCaS: Hybrid Stereoscopic Calibration Software
Code, Camera Calibration
* Flexible New Technique for Camera Calibration, A
* Matlab Camera Calibration Toolbox
* Versatile Camera Calibration Technique for High-Accuracy 3D Machine Vision Metrology Using Off-the-Shelf TV Cameras and Lenses, A
Code, Chain Code
* *Chain Code Representation
* Fast Chain Coding of Region Boundaries
Code, Chain Code, C
* *Chain Code Representation
Code, Clustering
* Optimized Data Fusion for Kernel k-Means Clustering
Code, Color Balance
* Simplest Color Balance
Code, Color Correction
* Local Color Correction
Code, Color Descriptors
* Evaluating Color Descriptors for Object and Scene Recognition
Code, Color Enhancement
* Automatic Color Enhancement (ACE) and its Fast Implementation
Code, Color Histograms
* Image Color Cube Dimensional Filtering and Visualization
Code, Computer Vision
* *AccelerEyes
* *FastCV
* *GPU4Vision
* *Handbook of Computer Vision and Applications. 3. Systems and Applications
* *OpenCV
* *OpenVidia
* *PEIPA Computer Vision Software
* *VXL
* Computer Vision and Applications: A Guide for Students and Practitioners
* Handbook of Mathematical Models in Computer Vision
* Invitation to 3-D Vision: From Images to Geometric Models, An
* MATLAB and Octave Functions Software for Computer Vision and Image Processing
* Practical Computer Vision Using C
* Robotics, Vision and Control: Fundamental Algorithms in MATLAB
Code, Computer Vision, C++
* *VXL
Code, Computer Vision, Matlab
* MATLAB and Octave Functions Software for Computer Vision and Image Processing
* Robotics, Vision and Control: Fundamental Algorithms in MATLAB
Code, Convex Grouping
* Robust and Efficient Detection of Salient Convex Groups
Code, Convex Hull
* Exact polyhedral visual hulls
Code, Curve Segmentation
* Nonparametric Segmentation of Curves into Various Representations
Code, Curve Smoothing
* Non-Parametric Multi-Scale Curve Smoothing
Code, Demosaicking
* Gunturk-Altunbasak-Mersereau Alternating Projections Image Demosaicking
* Image Demosaicking with Contour Stencils
* Malvar-He-Cutler Linear Image Demosaicking
* Self-Similarity Driven Demosaicking
* Zhang-Wu Directional LMMSE Image Demosaicking
Code, Denoising
* Analysis and Implementation of the BM3D Image Denoising Method, Image Processing, An
* DCT image denoising: a simple and effective image denoising algorithm
* implementation and detailed analysis of the K-SVD image denoising algorithm, An
* Non-local Means Denoising
Code, Depth from Focus
* Rational Filters for Passive Depth from Defocus
Code, Distance Transform
* Distance Transforms of Sampled Functions
Code, Document Analysis
* *Gamera project
* SCRIBO Module of the Olena Platform: A Free Software Framework for Document Image Analysis, The
Code, Edge Detection
* *Edison: Edge Detection and Image SegmentatiON system
* Combined Corner and Edge Detector, A
* Global Measures of Coherence for Edge Detector Evaluation
* Logical/Linear Operators for Image Curves
* Recursive Filtering and Edge Tracking: Two Primary Tools for 3D Edge Detection
* Susan: A New Approach to Low-Level Image-Processing
Code, Ellipse Fitting
* Ellipse-Specific Direct Least-Square Fitting
Code, Energy Minimization
* Computing geodesics and minimal surfaces via graph cuts
Code, Equalization
* Non-uniformity Correction of Infrared Images by Midway Equalization
Code, Eye Tracking
* *openEyes
Code, Face Detection
* *Face Detection Home Page
* *TLD: Tracks the object, Learns its appearance and Detects
Code, Face Recognition
* *Face Recogniton Home Page
* CSU Face Identification Evaluation System: Its purpose, features, and structure, The
Code, Face Tracking
* *TLD: Tracks the object, Learns its appearance and Detects
Code, Facial Expressions
* Computer Expression Recognition Toolbox
* computer expression recognition toolbox (CERT), The
Code, FastICA
* *FastICA package for MATLAB, The
Code, Flutter Shutter
* Flutter Shutter Camera Simulator, The
Code, Fourier
* Shape Discrimination Using Fourier Descriptors
Code, Gait
* *Baseline Algorithm and Performance for Gait Based Human ID Challenge Problem
Code, Geospatial
* *OSGeo: Open Source Geospatial Foundation
Code, Gesture
* *HandVu Gesture Interface
Code, GIS
* *OSGeo: Open Source Geospatial Foundation
Code, GPU
* *AccelerEyes
* *GPU4Vision
* *OpenVidia
Code, H.264/AVC
* H.264/AVC Refrence Software
Code, HCI
* HCI-lambda-2 Workbench: A development tool for multimodal human-computer interaction systems
Code, Head Tracking
* Fast, Reliable Head Tracking under Varying Illumination: An Approach Based on Registration of Textured-Mapped 3D Models
Code, HEIV
* HEIV based estimation
Code, Hough Transform
* *Hough Transform Code
Code, Hough Transform, C
* *Hough Transform Code
Code, Illumination Estimation
* Estimating natural illumination from a single outdoor image
Code, Illumination
* Camera parameters estimation from hand-labelled sun positions in image sequences
Code, Image Analysis
* *C++ Template Image Processing Library
* *Delft Image Processing library, The
* *Image Processing Library 98
* *ImageLib: An Image Processing C++ Class Library
* *LibCVD: computer vision library
* *Microsoft Kinect SDK
* *MPEG Org Home Page
* *NeatVision
* *Noesis Vision
* *Recognition And Vision Library
* *Robot Vision 2 Inc.
* *Torch3vision: Machine Vision Library
* Computational strategies for protein quantitation in 2D electrophoresis gel image processor for Matlab
* Vista: A Software Environment for Computer Vision Research
Code, Image Analysis, C
* *Delft Image Processing library, The
Code, Image Analysis, Matlab
* *Delft Image Processing library, The
Code, Image Coding
* Java-Based MPEG-4 Like Video Codec, A
Code, Image Coding, Java
* Java-Based MPEG-4 Like Video Codec, A
Code, Image Compression
* Compression Method for Arbitrary Precision Floating-Point Images, A
Code, Image Interpolation
* Image Interpolation with Contour Stencils
* Image Interpolation with Geometric Contour Stencils
* Linear Methods for Image Interpolation
* Roussos-Maragos Tensor-Driven Diffusion for Image Interpolation
Code, Image Processing
* *AccuSoft
* *Bioimage Suite
* *FastCV
* *Generic Programming for Computer Vision: The VIGRA Computer Vision Library
* *GNU Image Manipulation Program
* *Groningen Image Processing System, GIPSY
* *Handbook of Mathematical Methods in Computer Vision
* *HIPR2: Free WWW-based Image Processing Teaching Materials with JAVA
* *IFS: Image File System
* *Image Processing Online
* *ImageJ-Plugins -- Various Plugins for the image manipulation software ImageJ
* *ImageJ: Image Processing and Analysis in Java
* *ImageMagick
* *IrfanView
* *JPEG 2000
* *JPEG: Joint Photographic Experts Group
* *LibTIFF: TIFF Library and Utilities
* *LTI-Lib
* *MediaCybernetics
* *Mimas
* *Mobile Robot Programming Toolkit, The
* *OpenCV
* *pbmplus Image File Format Conversion Package
* *QCV
* *Supercomputing Systems: Vision
* 3-D Image Processing Algorithms
* Algorithms for Graphics and Image Processing
* Algorithms for Image Processing and Computer Vision
* Building Imaging Applications with Java(TM)
* Computer Vision and Image Processing: A Practical Approach Using CVIPtools
* Concise Introduction to Image Processing using C++, A
* Data Structures for Image Processing in C
* Digital Image Processing Algorithms and Applications
* Digital Image Processing and Analysis: Human and Computer Vision Applications with CVIPtools, Second Edition
* Digital Image Processing Using MATLAB(R), 2nd Edition
* Digital Image Processing: A Practical Introduction Using Java
* Digital Image Processing: An Algorithmic Approach Using Java
* Digital Image Processing: An Algorithmic Approach with MATLAB
* Digital Signal and Image Processing Using MATLAB(R)
* Fundamentals of Digital Image Processing: A Practical Approach with Examples in Matlab
* Fuzzy Image Processing and Applications with MATLAB
* Handbook of Astronomical Image Processing
* Handbook of Computer Vision Algorithms in Image Algebra
* Handbook of Image Processing Operators
* High Performance Computer Imaging
* HIPS: A Unix-Based Image Processing System
* Hypermedia Image Processing Reference
* Image Analysis, Classification and Change Detection in Remote Sensing: With Algorithms for ENVI/IDL
* Image Processing Handbook, The
* Image Processing in Java
* Image Processing with MATLAB: Applications in Medicine and Biology
* Image Processing, Analysis and and Machine Vision: A MATLAB Companion
* Introduction to Image Processing Using R: Learning by Examples
* Machine Vision Algorithms in Java: Techniques and Implementation
* Pattern Recognition and Image Processing in C++
* Photo-Based 3D Graphics in C++: Compositing, Warping, Morphing, and Other Digital Special Effects
* PIKS Foundation C Programmer's Guide
* Practical Algorithms for Image Analysis: Description, Examples, and Code
* Practical Image Processing in C
* Principles of Digital Image Processing: Core Algorithms
* Principles of Digital Image Processing: Fundamental Techniques
* VIPS: A Digital Image Processing Algorithm Development Environment
Code, Image Processing, C
* *FastCV
* *OpenCV
* Data Structures for Image Processing in C
* High Performance Computer Imaging
* Numerical Recipes in C: The Art of Scientific Computing
* PIKS Foundation C Programmer's Guide
* Practical Computer Vision Using C
* Practical Image Processing in C
* Signal Processing Algorithms in Fortran and C
Code, Image Processing, C++
* *C++ Template Image Processing Library
* *Generic Programming for Computer Vision: The VIGRA Computer Vision Library
* *Image Processing Library 98
* *ImageLib: An Image Processing C++ Class Library
* *LibCVD: computer vision library
* *LTI-Lib
* *Mimas
* *Mobile Robot Programming Toolkit, The
* *QCV
* *Recognition And Vision Library
* Concise Introduction to Image Processing using C++, A
* Pattern Recognition and Image Processing in C++
* Photo-Based 3D Graphics in C++: Compositing, Warping, Morphing, and Other Digital Special Effects
Code, Image Processing, Java
* *HIPR2: Free WWW-based Image Processing Teaching Materials with JAVA
* *ImageJ-Plugins -- Various Plugins for the image manipulation software ImageJ
* *ImageJ: Image Processing and Analysis in Java
* *NeatVision
* Building Imaging Applications with Java(TM)
* Digital Image Processing: A Practical Introduction Using Java
* Digital Image Processing: An Algorithmic Approach Using Java
* Image Processing in Java
* Machine Vision Algorithms in Java: Techniques and Implementation
* Principles of Digital Image Processing: Core Algorithms
* Principles of Digital Image Processing: Fundamental Techniques
Code, Image Processing, Matlab
* Applied Medical Image Processing: A Basic Course
* Circular and Linear Regression: Fitting Circles and Lines by Least Squares
* Digital Image Processing Using MATLAB(R), 2nd Edition
* Digital Image Processing: An Algorithmic Approach with MATLAB
* Digital Signal and Image Processing Using MATLAB(R)
* Fundamentals of Digital Image Processing: A Practical Approach with Examples in Matlab
* Fuzzy Image Processing and Applications with MATLAB
* Image Processing with MATLAB: Applications in Medicine and Biology
* Image Processing, Analysis and and Machine Vision: A MATLAB Companion
* Signal Processing Algorithms in MATLAB
Code, Image Processing, Octave
* Applied Medical Image Processing: A Basic Course
Code, Image Pyramids
* *Zoom It, Seadragon
Code, Image Registration
* Automatic Homographic Registration of a Pair of Images, with A Contrario Elimination of Outliers
Code, Image Retrieval
* Evaluating Image Retrieval
Code, Image Stitching
* *Panorama Tools
* *XuvTools - eXtend yoUr View Toolkit
Code, Inpainting
* *restoreInpaint
* Total Variation Inpainting Using Split Bregman
Code, Iris Recognition
* Iris Biometrics: From Segmentation to Template Security
Code, Isocontour
* Probability Density Estimation Using Isocontours and Isosurfaces: Applications to Information-Theoretic Image Registration
Code, Kalman Filter
* *Kalman Filter Library
* Introduction to the Kalman Filter, An
Code, Landmarks
* Precision Landmark Location for Machine Vision and Photogrammetry: Finding and Achieving the Maximum Possible Accuracy
Code, Learning
* *Torch: Machine-Learning Library
Code, Lens Distortion
* Algebraic Lens Distortion Model Estimation
Code, Level Set Segmentation
* Level Set Curve Evolution Partitioning of Polarimetric Images
* Variational and Level Set Methods in Image Segmentation
Code, Levenberg-Marquardt
* Algorithm for Least-Squares Estimation of Nonlinear Parameters, An
* Levenberg-Marquardt nonlinear least squares algorithms in C/C++
Code, Line Segments
* LSD: a Line Segment Detector
Code, Localization
* IM2GPS: estimating geographic information from a single image
Code, Mammography
* Efficient presentation of DICOM mammography images using Matlab
Code, Matching
* Feature Correspondence Via Graph Matching: Models and Global Optimization
* Implementation of the Self-Similarity Descriptor
* LIBPMK: A Pyramid Match Toolkit
* Modal Matching for Correspondence and Recognition
* Software Library for Appearance Matching (SLAM)
Code, Mathematical Software
* *NIST Guide to Available Mathematical Software
Code, Medical Image Analysis
* *Insight Segmentation and Registration Toolkit (ITK)
Code, Mesh Models
* *VolMorph Documentation
* ply2vri
* Zippered Polygon Meshes from Range Images
Code, Modes
* Mode-Finding for Mixtures of Gaussian Distributions
Code, Morphology
* *Mathematical Morphology
Code, Mosaic
* *Photosynth
* Scene Collages and Flexible Camera Arrays
Code, Motion Blur
* 3-D Shape Estimation and Image Restoration: Exploiting Defocus and Motion-Blur
Code, Motion Capture
* *CMU Graphics Lab Motion Capture Database
Code, Motion Segmentation
* Implementation of Bilayer Segmentation of Live Video
* Motion Segmentation in the Presence of Outlying, Incomplete, or Corrupted Trajectories
Code, Motion
* Linear Algorithm for Motion from Three Weak Perspective Images Using Euler Angles
Code, Music Processing
* Staff Line Removal Toolkit for Gamera
Code, Neural Networks
* Enhanced neural gas network for prototype-based clustering
* Pattern Recognition with Neural Networks in C++
Code, Numerical Algorithms
* Numerical Recipes in C: The Art of Scientific Computing
Code, Object Recognition
* Spatial Priors for Part-Based Recognition Using Statistical Models
* Weakly Supervised Learning of Part-Based Spatial Models for Visual Object Recognition
Code, OCR
* *GOCR
* *Google Tesseract-OCR
* Nist Form-Based Handprint Recognition System (Release 2.2)
Code, Open Source
* *AAM Building
* *C++ Template Image Processing Library
* *LTI-Lib
* *Mimas
* *OpenCV
* *OpenVidia
* *OSGeo: Open Source Geospatial Foundation
* *VXL
Code, Optic Flow
* *Gain-Adaptive KLT Tracking and TV-L1 optical flow on the GPU
* *Optic Flow Evaluation
* Performance of Optical Flow Techniques
* Real-Time Quantized Optical Flow
* Robust Estimation of Multiple Motions: Parametric and Piecewise-Smooth Flow-Fields, The
Code, Optimization
* Librjmcmc: An Open-source Generic C++ Library For Stochastic Optimization
* Sparse Non-linear Least Squares Optimization for Geometric Vision
Code, Pattern Recognition
* *MultiSpec: A Freeware Multispectral Image Data Analysis System
* *Presto-Box: Pattern REcognition Scilab TOolBOX
* *PRTools: The Matlab Toolbox for Pattern Recognition
Code, PCA
* Framework for Robust Subspace Learning, A
Code, Perceptual Grouping
* Computing Perceptual Organization in Computer Vision
* in-depth study of graph partitioning measures for perceptual organization, An
Code, PSF Estimation
* Non-parametric sub-pixel local point spread function estimation
Code, Radiometric Calibration
* Radiometric Self Calibration
Code, Range Registration
* *VripPack: Volumetric Range Image Processing Package
Code, Rectification
* Quasi-Euclidean Epipolar Rectification
* Rectification for any epipolar geometry
Code, Registration
* elastix: A Toolbox for Intensity-Based Medical Image Registration
* Iterative Image Registration Technique with an Application to Stereo Vision, An
Code, Relighting
* Lighting Sensitive Display
Code, Restoration
* *restoreInpaint
Code, Retinex
* Retinex in Matlab
* Retinex Poisson Equation: a Model for Color Perception
Code, Retinex, Matlab
* Retinex in Matlab
Code, SAR
* Inverse Synthetic Aperture Radar Imaging With MATLAB Algorithms
Code, SAR, Matlab
* Inverse Synthetic Aperture Radar Imaging With MATLAB Algorithms
Code, Scale Space
* Finite Difference Schemes for MCM and AMSS
Code, Segmenation Evaluation
* Automated Performance Evaluation of Range Image Segmentation
Code, Segmentation
* *Edison: Edge Detection and Image SegmentatiON system
* Berkeley Segmentation Dataset and Benchmark, The
* Code: Active Segmentation With Fixation
* Dynamic Threshold Determination by Local and Global Edge Evaluation
* Efficient Graph-Based Image Segmentation
* Experimental Comparison of Min-Cut/Max-Flow Algorithms for Energy Minimization in Vision, An
* Graph Partitioning Active Contours (GPAC) for Image Segmentation
* Intellegent Scissors: Interactive tool for image segmentation
* Level-set image segmenation software
* Matlab toolbox for Level Set Methods
* Normalized cut image segmenation software
* Ratio Contour Code
* Robust Analysis of Feature Spaces: Color Image Segmentation
* Segmentation skin cancer images
Code, Segmentation, C
* Normalized cut image segmenation software
Code, Segmentation, C++
* Robust Analysis of Feature Spaces: Color Image Segmentation
Code, Segmentation, Matlab
* Matlab toolbox for Level Set Methods
Code, Shape from Shading
* Integration of Shape from Shading and Stereo
* Shape From Shading Using Linear-Approximation
* Shape from Shading: A Survey
Code, SIFT
* *SIFT Feature Detector
* *VLFeat
* ASIFT: An Algorithm for Fully Affine Invariant Comparison
* Distinctive Image Features from Scale-Invariant Keypoints
Code, Signal Processing
* *IT++ Mathematical, Signal Processing and Communication Routines
* Signal Processing Algorithms in Fortran and C
* Signal Processing Algorithms in MATLAB
Code, Signal Processing, C++
* *IT++ Mathematical, Signal Processing and Communication Routines
Code, SLAM
* tinySLAM: A SLAM algorithm in less than 200 lines C-language program
Code, Snakes
* *Mega Wave
* *qsnake_demo
* Code: Active Segmentation With Fixation
* Gradient Vector Flow: A New External Force for Snakes
* Real Time Morphological Snakes Algorithm, A
Code, Space Envelope
* Space Envelope: A Representation for 3D Scenes, The
Code, Steerable Filter
* Steerable Pyramid: A Flexible Architecture for Multi-Scale Derivative Computation, The
Code, Stereo
* *Real Time Dense Stereo
* *SRI Stereo Engine
* Computing Visual Correspondence with Occlusions via Graph Cuts
* Efficient Belief Propagation for Early Vision
* Shape and the Stereo Correspondence Problem
* Stereo Matching With Nonlinear Diffusion
* Taxonomy and Evaluation of Dense Two-Frame Stereo Correspondence Algorithms, A
Code, STIP
* Evaluation of local spatio-temporal features for action recognition
Code, Structure from Motion
* Automatic Non-rigid 3D Modeling from Video
* Bundler: Structure from Motion for Unordered Image Collections
Code, Structured Light
* *Kinect-Like 3D camera
Code, Super-Resolution
* *Super-Resolution Code
* Super-Resolution Imaging
Code, Support Vector Machines
* *LIBSVMTL: a Support Vector Machine Template Library
* LIBSVM: a library for support vector machines
Code, Surface Appearance
* Time-varying Surface Appearance: Acquisition, Modeling, and Rendering
Code, Surface Fitting
* Linear Fitting with Missing Data for Structure-from-Motion
Code, Surfaces, Matlab
* Modeling of Curves and Surfaces with MATLABŪ
Code, Surgery
* IGSTK: an open source software toolkit for image-guided surgery
Code, Texture Analysis
* JAVA-based Texture Analysis Employing Neighborhood Gray-Tone Difference Matrix (NGTDM) for Optimization of Land Use Classifications in High Resolution Remote Sensing Data
Code, Texture Analysis, Java
* JAVA-based Texture Analysis Employing Neighborhood Gray-Tone Difference Matrix (NGTDM) for Optimization of Land Use Classifications in High Resolution Remote Sensing Data
Code, Texture Synthesis
* Micro-Texture Synthesis by Phase Randomization
Code, Texture
* Cartoon+Texture Image Decomposition
Code, TIFF
* *LibTIFF: TIFF Library and Utilities
Code, Total Variation
* Rudin-Osher-Fatemi Total Variation Denoising using Split Bregman
* Total Variation Deconvolution Using Split Bregman
Code, Tracking
* Design and Implementation of People Tracking Algorithms for Visual Surveillance Applications
* Fragments Tracker
* GPU_KLT: A GPU-based Implementation of the Kanade-Lucas-Tomasi Feature Tracker
* KLT: An Implementation of the Kanade-Lucas-Tomasi Feature Tracker
* Learning the Statistics of People in Images and Video
* Lucas-Kanade 20 Years On
* Tracker Fusion for Robustness in Visual Feature Tracking
* Tracking by an Optimal Sequence of Linear Predictors
* Tracking Vector Magnetograms with the Magnetic Induction Equation
Code, Video Processing
* *Rad Video Tools
* Practical Image and Video Processing Using MATLAB
Code, Video Processing, Matlab
* Practical Image and Video Processing Using MATLAB
Code, Viewing
* *Lotus Hill Institute
Code, Visualization
* *Mathematical Morphology
Code, Watermark
* Intelligent Watermarking Techniques
For more information on the topics, contact information, etc. see the annotated Computer Vision Bibliography or the Complete Conference Listing for Computer Vision and Image Analysis