ALVAR is a software library for creating virtual and augmented reality (AR) applications. ALVAR has been developed by the VTT Technical Research Centre of Finland. ALVAR is released under the terms of the GNU Lesser General Public License, version 2.1, or (at your option) any later version.
ALVAR is designed to be as flexible as possible. It offers high-level tools and methods for creating augmented reality applications with just a few lines of code. The library also includes interfaces for all of the low-level tools and methods, which makes it possible for the user to develop their own solutions using alternative approaches or completely new algorithms.
ALVAR is currently provided on Windows and Linux operating systems and only depends on one third party library (OpenCV). ALVAR is independent of any graphical libraries and can be easily integrated into existing applications. The sample applications use GLUT and the demo applications use OpenSceneGraph.
- Detecting and tracking 2D markers (MarkerDetector). Currently two types of square matrix markers are supported (MarkerData and MarkerArtoolkit). Future marker types can easily be added. ALVAR keeps the Marker Pose estimation as accurate as possible. Furthermore, ALVAR uses some tracking heuristics to identify markers that are "too far" and to recover from occlusions in the multimarker case for example.
- Using a setup of multiple markers for pose detection (MultiMarker). The marker setup coordinates can be set manually or they can be automatically deduced using various methods (MultiMarkerFiltered and MultiMarkerBundle).
- Tools for calibrating Camera. Distorting and undistorting points, projecting points and finding exterior orientation using point-sets.
- Hiding markers from the view (BuildHideTexture and DrawTexture).
- Several basic filters: FilterAverage, FilterMedian, FilterRunningAverage, FilterDoubleExponentialSmoothing.
- Kalman filters for sensor fusion: Kalman Filter, Extended Kalman Filter and Unscented Kalman Filter (KalmanSensor, KalmanSensorEkf, KalmanEkf, UnscentedKalman).
- Several methods for tracking using optical flow: TrackerPsa , TrackerPsaRot , TrackerFeatures and TrackerStat.
ALVAR is officially supported and tested on the following platforms.
- Windows XP 32-bit, Microsoft Visual Studio 2005 (8.0), 2008 (9.0) and 2010 (10.0)
- Linux 32-bit, GCC 4.3 and 4.4
- Linux 64-bit, GCC 4.3 and 4.4
The ALVAR library depends on the following libraries.
The ALVAR samples depend on the following libraries and tools.
The ALVAR demos depend on the following libraries and tools.
- OpenSceneGraph 2.8.4
- CMake 2.8.3
Please see the instructions in doc/Compiling.txt for more information.