Computer Vision Algorithm Implementations

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
feature extraction algorithms: rotation, flip, photometric normalisations
(Histogram Equalization, Multiscale Retinex, Self-Quotient Image or
Gross-Brajovic), edge detection, 2D DCT, 2D FFT, 2D Gabor, PCA to do
Eigen-Faces, LDA to do Fisher-Faces. Various metrics (Euclidean, Mahanalobis,
ChiSquare, NormalizeCorrelation, TangentDistance, ...)

GradientShop

(C/C++ code, GPL lic) GradientShop: A Gradient-Domain Optimization
Framework for 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
for image 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
open source 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,
open project for point cloud processing. The PCL framework contains numerous
state-of-the art algorithms including filtering, feature estimation, surface
reconstruction, registration, model fitting and segmentation.

Population, imaging library in
C++ for processing, analysing, modelling and visualising

(C/C++ code, CeCill lic) Population is an open-source imaging library in
C++ for processing, analysing, modelling and visualising including more than
200 algorithms designed by V. Tariel.

qcv

(C/C++ code, LGPL 3) A computer vision framework based on Qt and OpenCV
that provides an easy to use interface to display, analyze and run computer
vision algorithms. The library is provided with multiple application examples
including stereo, SURF, Sobel and and Hough transform.

Machine Vision Toolbox

(MATLAB/C, LGPL lic) image processing, segmentation, blob/line/point
features, multiview geometry, camera models, colorimetry.

BoofCV

(Java code, Apache lic) BoofCV is an open source Java library for
real-time computer vision and robotics applications. BoofCV is organized into
several packages: image processing, features, geometric vision, calibration,
visualize, and IO.

Simd

(C++ code, MIT lic) Simd is free open source library in C++. It includes
high performance image processing algorithms. The algorithms are optimized
with using of SIMD CPU extensions such as SSE2, SSSE3, SSE4.2 and
AVX2.


Free but not open source - ArrayFire (formely
LibJacket)
 is a matrix library for CUDA

(CUDA/C++, free lic) ArrayFire offers hundreds of general matrix and image
processing 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
(lot of 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),
image capture from a frame grabber or from USB, Sony pan/tilt/zoom camera
control using VISCA interface

lib VLC

(C/C++ code, GPL lic) Used by VLC player: record, convert and stream audio
and video

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

VideoMan

(C/C++ code, LGPL lic) VideoMan is trying to make the image capturing
process from cameras, video files or image sequences easier.

Segmentation



OpenCV

(C/C++ code, BSD lic) Pyramid image segmentation

Branch-and-Mincut

(C/C++ code, Microsoft Research Lic) Branch-and-Mincut Algorithm for Image
Segmentation

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,
radial basis functions, mixtures of experts, convolutional networks and even
time-delay neural networks), Support vector machines, Ensemble models
(bagging, adaboost), Non-parametric models (K-nearest-neighbors, Parzen
regression and Parzen 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
Object Detection

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 cost terms.

Optical flow



OpenCV

(C/C++ code, BSD lic) Horn & Schunck algorithm, Lucas & Kanade
algorithm, 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
flow on the GPU.

RLOF

(C/C++/Matlab code, Custom Lic.) The RLOF library provides GPU / CPU
implementation of Optical Flow and Feature Tracking method.

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, agglomerative
information 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 the
correlation between data points

Nearest Neighbors matching



FLANN

(C/C++ code, BSD lic) Approximate Nearest Neighbors (Fast
Approximate Nearest Neighbors 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-Tomasi Feature Tracker

GPU-KLT+FLOW

(C/C++/OpenGL/Cg code, LGPL) Gain-Adaptive KLT Tracking and TV-L1 optical
flow on the GPU

On-line boosting
trackers

(C/C++, LGPL) On-line boosting tracker, semi-supervised tracker, beyond
semi-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
for Small AR Workspaces

GTSAM

(C/C++ code, BSD lic) GTSAM is a library of C++ classes that implement
smoothing and mapping (SAM) in robotics and vision, using factor graphs and
Bayes networks as the underlying computing paradigm rather than sparse
matrices

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
models from 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 (C implementation in OpenCV)

Multi-View Reconstruction



Bundle Adjustment -
SBA

(C/C++ code, GPL lic) A Generic Sparse Bundle Adjustment Package Based on
the Levenberg-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 image
collections

Patch-based
Multi-view Stereo Software
 (Windows
version
)

(C/C++ code, GPL lic) A multi-view stereo software that takes a set of
images and camera parameters, then reconstructs 3D structure of an object or a
scene visible in the images

libmv - work in
progress

(C/C++ code, MIT lic) A structure from motion library

Multicore Bundle
Adjustment

(C/C++/GPU code, GPL3 lic) Design and implementation of new inexact Newton
type Bundle Adjustment algorithms that exploit hardware parallelism for
efficiently solving large scale 3D scene reconstruction problems.

openMVG

(C/C++/GPU code, MPL2 lic) OpenMVG (Multiple View Geometry) "open Multiple
View Geometry" is a library for computer-vision scientists and especially
targeted to the Multiple View Geometry community. It is designed to provide an
easy access to the classical problem solvers in Multiple View Geometry and
solve them accurately..

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 a moving mono/stereo camera.

Computer Vision Algorithm Implementations

时间: 2024-08-08 01:13:15

Computer Vision Algorithm Implementations的相关文章

Computer vision:algorithm and application 计算机视觉算法与应用

最近在看Computer vision:algorithm and application计算机视觉算法与应用这本书,感觉对机器视觉学习很好的一本书,下面对书本知识和网上的资源作个总结. 先从后面的附录开始看,其中包括数据集站点,相关机器视觉软件和参考文献,对今后算法学习与实现有用. 下面是学长整理的一些资料,现在搬过来学习学习: 以下是computer vision:algorithm and application计算机视觉算法与应用这本书中附录里的关于计算机视觉的一些测试数据集和源码站点,

计算机视觉和人工智能的状态:我们已经走得很远了 The state of Computer Vision and AI: we are really, really far away.

The picture above is funny. But for me it is also one of those examples that make me sad about the outlook for AI and for Computer Vision. What would it take for a computer to understand this image as you or I do? I challenge you to think explicitly

MAEG 5720 Computer Vision in Practice

MAEG 5720 Computer Vision in Practice – Project 1Aim: To familiarize with template tracking and detecting moving object in a video streamIn this project, you will implement a simple ‘translation-only’ Lucas-Kanade tracker to track a local 2Dtemplate

My Reading List - Machine Learning && Computer Vision

本博客汇总了个人在学习过程中所看过的一些论文.代码.资料以及常用的资源与网站,为了便于记录自身的学习过程,将其整理于博客之中. Machine Learning (1) Machine Learning Video Library - Caltech说明:罗列了机器学习的常用算法以及机器学习图谱 (2) Deep Learning - Bengio 说明:Deep Learning三大牛之一Bengio写的一本书 (3) Understanding LSTM Networks 说明:非常棒的LS

Graph Cut and Its Application in Computer Vision

Graph Cut and Its Application in Computer Vision 原文出处: http://lincccc.blogspot.tw/2011/04/graph-cut-and-its-application-in.html 网络流算法最初用于解决流网络的优化问题,比如水管网络.通信传输和城市的车流等.Graph cut作为其中一类最常见的算法,用于求解流网络的最小割,即寻找一个总容量最小的边集合,去掉这个集合中的所有边将阻断这个网络.图像和视频也能被视作网络(或者

Analyzing The Papers Behind Facebook's Computer Vision Approach

Analyzing The Papers Behind Facebook's Computer Vision Approach Introduction You know that company called Facebook? Yeah, the one that has 1.6 billion people hooked on their website. Take all of the happy birthday posts, embarrassing pictures of you

Computer Vision的尴尬---by林达华

Computer Vision的尴尬---by林达华 Computer Vision是AI的一个非常活跃的领域,每年大会小会不断,发表的文章数以千计(单是CVPR每年就录取300多,各种二流会议每年的文章更可谓不计其数),新模型新算法新应用层出不穷.可是,浮华背后,根基何在?对于Vision,虽无大成,但涉猎数年,也有管窥之见.Vision所探索的是一个非常复杂的世界,对于这样的世界如何建模,如何分析,却一直没有受普遍承认的理论体系.大部分的研究工作,循守着几种模式:o    从上游学科(比如立

[新书推荐]A Practical Introduction to Computer Vision with OpenCV

一本opencv好书,  在我上传的资源里 http://download.csdn.net/detail/qq_21970857/8504829 Computer Vision is a rapidly expanding area and it is becomingprogressively easier for developers to make use of this field dueto the ready availability of high quality librari

Computer Vision: OpenCV, Feature Tracking, and Beyond--From <<Make Things See>> by Greg

In the 1960s, the legendary Stanford artificial intelligence pioneer, John McCarthy, famously gave a graduate student the job of “solving” computer vision as a summer project. It has occupied an entire community of academic researchers for the past 4