ArUco: a minimal library for Augmented Reality applications based on OpenCV

Aruco Library

ArUco is an OpenSource library for camera pose estimation using squared markers. ArUco is written in C++ and is extremely fast. You can download it at SourceForge. Keep reading for more information.



Get the library at SourceForge


- Aruco mobile application now in GooglePlay: you can test ArUco and calibrate your camera easily.



An efficient library for detection of planar markers and camera pose estimation

- Learning ARUCO?: Please read the following DOCUMENT

or the video Tutorials


- MarkerMapper android application released in PlayStore 

IMPORTANT: see the related project markermapper

The main features of ArUco are:

  • Detect markers with a single line of C++ code.
  • Detect varios dictionaries: ARUCO, AprilTag,ArToolKit+,ARTAG,CHILITAGS.
  • Faster than any other library for detection of markers
  • Few dependencies  OpenCV (>=2.4.9) and eigen3 (included in the library).
  • Detection of  Marker Maps (several markers).
  • Trivial integration with OpenGL and OGRE.
  • Fast, reliable and cross-platform because relies on OpenCV.
  • Examples that will help you to get running your AR application in less than 5 minutes.
  • Calibrate your camera using Aruco ChessBoard
  • BSD license.


Highlights features of version 3.x

  • Faster than the previous approach: at least an order of magnitude (see below for details).
  • Easier to use: only two parameters are required to configure the behavior of the detection.
  • Able to automatically detect markers of any dictionary (automatic dictionary discovery)
  • Tracking methods to alleviate the ambiguity problem in planar pose estimation.
  • Calibration tool using Aruco Boards added (see below)



Please cite the following papers if you use ArUco:

1. Main ArUco paper:
"Automatic generation and detection of highly reliable fiducial markers under occlusion"
2. Generation of marker dictionaries:
"Generation of fiducial marker dictionaries using mixed integer linear programming"


Videos in YouTube:

Video 1: Aruco and Ogre

Video 2: Single marker detection

Video 3: Board of markers detection

Examples of Projects using ArUco :

In Opencv

Augmented Reality Chess

Vision Based Navigation  and Fuzzy Vision Based Navigation

Soldamatic Project (Augmented Reality Welder) 


JavaScript port : watch demonstration video

ROS (Robot Operative System) port:#1 #2

Panoramic camera calibratio

Contact info:

Rafael Muñoz-Salinas:  rmsalinas at uco dot es

Sergio Garrido-Jurado:   sgarrido2011 at gmail dot com

Fast Code sample

Take a look: