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)
License
From version 1.3.6 on, the IVT is available under a modified BSD license (3-clause BSD). See here for details.