Integrating Vision Toolkit

The Integrating Vision Toolkit (IVT) is a stand-alone easy-to-use, platform-independent open source C++ computer vision library with an object-oriented architecture. It offers a clean camera interface and a general camera model, as well as many fast implementations of image processing routines and mathematic data structures and functions. The IVT offers its own multi-platform GUI toolkit.

Latest Version

IVT 1.3.22
Released on Feb 25 2014

Ease of Use

The IVT implements all functionality within a clean object-oriented architecture with no dependencies. Its intuitive API makes the IVT easy-to-use and easy-to-understand. The source code is not only efficient but also features a good readability, which makes the IVT also a valuable source for educational purposes.

Compatibility and Portability

The IVT offers a clean camera interface, with many ready-to-use camera modules implementing this interface (PointGrey Dragonfly/BumbleBee, Videre, other DCAM compatible IEEE1394 cameras such as the iSight, USB webcams, etc.) for any common platform (Windows, Linux, Mac OS X). Furthermore, a fully integrated general camera model allows the development of computer vision applications independently from the imaging device.

Features and Speed

The IVT offers optimized (on C++ level) implementations of important image processing routines, which are as fast or even faster compared to those of other currently available vision libraries (for platform-specific optimizations see here). Some features are:

  • Undistortion
  • Combined Rectification/Undistortion (remapping and interpolation is performed only once for both)
  • Harris Corner Detector
  • SIFT Features and kd-tree feature matching
  • Calibration: fully integrated single and stereo camera model
  • Many filters, resize, Bayer2RGB, RGB2HSV, SVD, PCA, Linear Least Squares, drawing, ...
  • POSIT (pose estimation on the basis of 2D-3D point correspondences)
  • Core function of the ICP (pose estimation on the basis of 3D-3D point correspondences)


From version 1.3.6 on, the IVT is available under a modified BSD license (3-clause BSD). See here for details.