C++ Libraries for Computer Vision Research and Implementation
[Example code and images]
[Download and install]
[Builds dashboard] [Bug reports]
VXL (the Vision-something-Libraries) is a collection of C++ libraries designed for computer
vision research and implementation. It was created from TargetJr and the
IUE with the aim of making a light, fast and
consistent system. VXL is written in ANSI/ISO C++ and is designed to be portable over many platforms.
The core libraries in VXL are:
As well as the core libraries, there are libraries covering numerical algorithms, image processing,
co-ordinate systems, camera geometry, stereo, video manipulation, structure recovery from
motion, probability modelling, GUI design, classification, robust estimation,
feature tracking, topology, structure manipulation, 3d imaging, and much more.
- vnl (numerics): Numerical containers and algorithms. e.g. matrices,
vectors, decompositions, optimisers.
- vil (imaging): Loading, saving and manipulating images in many common file formats,
including very large images.
- vgl (geometry): Geometry for points, curves and other elementary objects in 1, 2 or 3 dimensions.
- vsl (streaming I/O), vbl (basic templates), vul (utilities):
Miscellaneous platform-independent functionality.
Each core library is lightweight, and can be used without reference to the
other core libraries. Similarly, the non-core libraries don't depend on more
than absolutely necessary, so you can compile and link just
the libraries you really need.
For a more detailed description of the libraries see
the VXL book.
VXL is developed and used by an international
team from academia and industry, including some of the world's leading
computer vision experts.
Documentation on the whole of VXL
There are two main references for information on the whole of VXL:
The documentation search
page is useful for quickly finding documentation. You can also download the
release 1.0.0 documentation.
- VXL package documentation
- this documents the latest snapshot of VXL
It includes auto-generated descriptions of every
class and function in VXL, and is also available as a single
- VXL book
- this is a single reference for all high-level documentation on VXL. It currently documents
the CVS snapshot of VXL.
These are short guides to specific areas in VXL:
xcv and vgui have not changed a lot since the last release of VXL so these guides should be useful for both
the release and development versions of VXL.
- xcv is an application built to demonstrate the functionality of the VXL libraries.
- vgui is the VXL graphical user interface library.
- The MUL
book is an overview of libraries concerned with probability modelling,
classification, and 3d and registered images.
You can download the latest official release vxl-1.4.0
Or get the latest development version from the CVS repository at
The following links may be helpful if you work under Windows.
Problems and where to get help
There is a Build FAQ.
There are other FAQs in the VXL book.
The VXL mailing
lists are at SourceForge. You can find list descriptions,
subscription information, and archives there. vxl-users
is the best list for bug reports, etc. Please read the vxl-users
list policy before posting.
is a summary (collated from different machines at different sites in
different timezones) of the current build status of VXL. More builds
are welcome; just follow the instructions for submitting a build.
If you think you have found a bug, or if you have an installation or build problem, please submit a bug
report on the vxl-users
mailing list. Please check the vxl-users
list policy to find out what information will be helpful in sorting out your
vxl-maintainers at lists dot sourceforge dot net