Integrating Vision Toolkit

The Integrating Vision Toolkit (IVT) is a powerful and fast C++ computer vision library with an easy-to-use object-oriented architecture. It offers its own multi-platform GUI toolkit. It is open source and available under the GPL license. The library is cross-platform, and runs on Windows, Mac OS X, Linux, the TI DSP TMS320C64xx and basically any other platform offering a C++ compiler.

Features

IVT's features include:

  • Camera interface and implementation for various cameras (IEEE1394 (CMU1394, Unicap1394), USB webcams (V4L and VfW), Quicktime, PointGrey Dragonfly, Videre SVS, etc.)
  • Camera model (monocular and stereo)
  • Camera calibration (using OpenCV 1.0)
  • Filters (Gaussian Smoothing, Sobel, Prewitt, Canny)
  • Color segmentation (HSV color space)
  • Hough transform (lines and circles)
  • Point operations (affine, thresholding)
  • SIFT features
  • Harris corner detector
  • Stereo vision (disparity map computation, stereo triangulation)
  • Undistortion
  • Rectification
  • Linear least squares
  • Particle filtering framework
  • Data structures (matrices, vectors, kd-tree, dynamic array)
  • POSIT (6 DoF pose from 2D-3D point correspondences)
  • Own GUI toolkit with implementations for several platforms (by Florian Hecht) (see below)

Relation to OpenCV

Compared to OpenCV the IVT offers an object-oriented software architecture, is easier to read and easier to use. The implementations are as fast or even faster than those from the OpenCV. However, OpenCV offers some functionality that IVT does not offer (e.g. a face detector). Such functionality is integrated by optional OpenCV wrappers.

Programming language

The library is written in pure ANSI C++ and compiles using any available C++ compiler (e.g. any Visual Studio, any gcc, TI Code Composer).

OS Support

IVT is fully platform independent. The included GUI toolkit offers implementations for Windows (Win32 API), Linux (GTK), Mac OS X (Cocoa) and Qt.