Computer Vision Library

OpenCV vs VXL vs LTI: Performance Test

I recently read this comparison of four vision libraries: OpenCV, VXL, LTI and OpenCV with IPP. It was in the book Learning Learning OpenCV: Computer Vision with the OpenCV Library, authored by the creators of OpenCV themselves. For those who aren’t familiar with these libraries, here’s a brief introduction.

VXL

VXL stands for Vision something Library. It is a C++ library that implements several common computer vision algorithms and related functionality. The idea is to replace the ‘X’ with one of the several letters:

  • VGL = Vision Geometry Library
  • VIL = Vision Image processing Library
  • VNL = Vision Numerics Library
  • VSL = Vision Streaming Library

There are several other libraries as well

LTI

LTI-Lib is another object oriented library for computer vision. It has also been implemented in C++. It also includes classes that encapsulate multithreading, synchronization, serial port access, etc. And it ensures you don’t have to deal with changing operating systems or hardware.

OpenCV

Yet another computer vision library. It includes over 500 functions for various commonly used algorithms. It also comes with a machine learning library and a portable window creation library. With version 2.0, OpenCV comes with a C++ interface as well. Before 2.0, it was only the C interface.

OpenCV + IPP

OpenCV developers were friendly with the Intel Performance Primitives team. So, OpenCV makes use of IPP code (which is hand tuned and extremely optimized code) to speed up execution. And this, as you’ll see, gives a substantial boost to its execution speed.