Harman Patil (Editor)

Integrating Vision Toolkit

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Written in
  
C++

Type
  
Library

Operating system
  
Cross-platform

License
  
BSD (free software)

Original author(s)
  
by Pedram Azad et al., Karlsruhe Institute of Technology (KIT)

Stable release
  
1.3.15 / October 31, 2011 (2011-10-31)

The Integrating Vision Toolkit (IVT) is a C++ computer vision library with an object-oriented architecture. It offers its own multi-platform GUI toolkit.

Contents

Availability

The library is available as free software under a 3-clause BSD license. It is written in pure ANSI C++ and compiles using any available C++ compiler (e.g. any Visual Studio, any gcc, TI Code Composer). It is cross-platform and runs on basically any platform offering a C++ compiler, including Windows, Mac OS X and Linux. The included GUI toolkit offers implementations for Windows (Win32 API), Linux (GTK), Mac OS X (Cocoa) and Qt. The computer vision company Keyetech offers platform specific optimizations of various IVT functions with the Keyetech Performance Primitives (KPP), which are automatically loaded by the IVT.

History

The IVT has been developed at the formerly named University of Karlsruhe (TH), now Karlsruhe Institute of Technology (KIT). The first version of the IVT was released on Sourceforge on December 22, 2005. Since 2009, the IVT is maintained in cooperation with the company Keyetech, who also offers training courses for the IVT as well as commercial products and customized solutions using the IVT.

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.

    References

    Integrating Vision Toolkit Wikipedia