Install ArUco on Ubuntu Linux

aruco

ArUco is a library for Augmented Reality applications with a BSD license. The main features of ArUco are: detect markers with a single line of C++ code, detection of AR boards (markers composed by several markers), up to to 1024 different markers, trivial integration with OpenGL and OGRE, fast, reliable and cross-platform. ArUco will help you to get running your AR application in less than 5 minutes.

Install ArUco is simple, just follow these steps:

1. INSTALL OPENCV

The first step is install OpenCV on Ubuntu Linux.

3. DOWNLOAD AND DECOMPRESS ARUCO

Enter the ArUco official website and download the latest version for ArUco. Then decompress the downloaded file.

4. COMPILE ARUCO

Now, in your terminal, make sure you are within the ArUco directory and run the following commands:

mkdir build

cd build

cmake ..

make

sudo make install

5. CONFIGURE ARUCO

In your terminal, execute:

sudo gedit /etc/ld.so.conf.d/aruco.conf

Add the following line and save it:

/usr/local/lib

Now, in your terminal, execute:

sudo ldconfig

Again, execute:

sudo gedit /etc/bash.bashrc

Check if the following two lines are at the end of the file. If not, add them and save the file:

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

Finally, reboot your computer.

6. TRY AN EXAMPLE

To test an example, from your terminal enters in the ArUco folder. Once you're inside it, enters in build/utils. Now, execute:

./aruco_create_board 5:2 board.png board.yml

With this, we have created a marker board with a size of 5×2. The image is board.png and board.yml is the board configuration.

boardaruco

24 comments:

  1. Replies
    1. Hi Manule,

      I'm truing use test project and during compilation I receiving this message:

      CMake Error at CMakeLists.txt:4 (find_package):
      By not providing "Findaruco.cmake" in CMAKE_MODULE_PATH this project has
      asked CMake to find a package configuration file provided by "aruco", but
      CMake did not find one.

      Could not find a package configuration file provided by "aruco" with any of
      the following names:

      arucoConfig.cmake
      aruco-config.cmake

      Add the installation prefix of "aruco" to CMAKE_PREFIX_PATH or set
      "aruco_DIR" to a directory containing one of the above files. If "aruco"
      provides a separate development package or SDK, be sure it has been
      installed.


      -- Configuring incomplete, errors occurred!

      I suppose that I have something wrong with configuration?
      Could you please advise?

      Thanks,
      Piotr

      Delete
    2. make install after make did the trick for me

      great library, inspired us to develop some awesome stuff

      Delete
    3. Hi
      I have the same error.. could you help me please?

      Delete
  2. Hello Manuel Ignacio,
    I'm trying to install ARUCO in Ubuntu Server 12.04.2 LTS, but after installing and compiling (make and sudo make install) when i try to run the programs the output in terminal is as follows: Illegal Instruction ('core generado').

    I think is a libraries problem. But i followed all your steps (including OpenCV installation). Have you got any idea?

    Thank you very much.

    ReplyDelete
    Replies
    1. Anonymous: I test Aruco 1.2.4 on Ubuntu 12.04.2 LTS and it's work perfectly. I don't know exactly what happens in your machine. I'm sorry.

      Delete
  3. Hola Manuel Ignacio.
    Estoy intentando seguir los pasos que marcas y me sale un error parecido al que te comentan arriba.
    No encuentra la uno de los include que hay en el archivo "ar_omp.h" al hacer el "make" y el error me dice que no encuentra el archivo: omp.h
    Buscando esto por comando (locate) este archivo aparece en una ruta dentro de la carpeta de la librería de aruco, sin embargo no lo encuentra...
    ¿Tiene usted alguna sugerencia? Estoy trabajando en mavericks.
    Un saludo y muy bueno el post!!

    ReplyDelete
  4. I try install aruco after opencv and this is the error i get when i run $ make

    uwaoma@Acre-T420:~/Development/aruco-1.2.5/build$ make
    Scanning dependencies of target aruco
    [ 4%] Building CXX object src/CMakeFiles/aruco.dir/highlyreliablemarkers.cpp.o
    /home/uwaoma/Development/aruco-1.2.5/src/highlyreliablemarkers.cpp: In static member function ‘static int aruco::HighlyReliableMarkers::detect(const cv::Mat&, int&)’:
    /home/uwaoma/Development/aruco-1.2.5/src/highlyreliablemarkers.cpp:290:28: error: ‘assert’ was not declared in this scope
    assert(in.rows==in.cols);
    ^
    /home/uwaoma/Development/aruco-1.2.5/src/highlyreliablemarkers.cpp:293:31: error: ‘CV_BGR2GRAY’ was not declared in this scope
    else cv::cvtColor(in,grey,CV_BGR2GRAY);
    ^
    /home/uwaoma/Development/aruco-1.2.5/src/highlyreliablemarkers.cpp: In static member function ‘static bool aruco::HighlyReliableMarkers::checkBorders(cv::Mat)’:
    /home/uwaoma/Development/aruco-1.2.5/src/highlyreliablemarkers.cpp:340:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    for (int y=0;y<_ncellsBorder;y++)
    ^
    /home/uwaoma/Development/aruco-1.2.5/src/highlyreliablemarkers.cpp:343:38: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    if (y==0 || y==_ncellsBorder-1) inc=1;//for first and last row, check the whole border
    ^
    /home/uwaoma/Development/aruco-1.2.5/src/highlyreliablemarkers.cpp:344:24: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    for (int x=0;x<_ncellsBorder;x+=inc)
    ^
    /home/uwaoma/Development/aruco-1.2.5/src/highlyreliablemarkers.cpp: In static member function ‘static aruco::MarkerCode aruco::HighlyReliableMarkers::getMarkerCode(cv::Mat)’:
    /home/uwaoma/Development/aruco-1.2.5/src/highlyreliablemarkers.cpp:362:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    for (int y=0;y<_n;y++)
    ^
    /home/uwaoma/Development/aruco-1.2.5/src/highlyreliablemarkers.cpp:364:24: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    for (int x=0;x<_n;x++)
    ^
    /home/uwaoma/Development/aruco-1.2.5/src/highlyreliablemarkers.cpp: In member function ‘bool aruco::HighlyReliableMarkers::BalancedBinaryTree::findId(unsigned int, unsigned int&)’:
    /home/uwaoma/Development/aruco-1.2.5/src/highlyreliablemarkers.cpp:467:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    while(pos!=-1) { // while having a valid position
    ^
    make[2]: *** [src/CMakeFiles/aruco.dir/highlyreliablemarkers.cpp.o] Error 1
    make[1]: *** [src/CMakeFiles/aruco.dir/all] Error 2
    make: *** [all] Error 2

    ReplyDelete
    Replies
    1. i could correct the first, by including cassert header, but the other seems to be conflict with OpenCV. I have install OpenCV 3 times, just to be sure.

      Delete
  5. Getting to know about these useful info within your post sharing. Thanks a lot. Best IT company in coimbatore | Best web site developer

    ReplyDelete
  6. Hi ./aruco_create_board 5:2 board.png board.yml this command displays No such file or directory after I get finished with the entire process.What is the problem?Where did I go wrong?

    ReplyDelete
    Replies
    1. Hey, I have the same problem

      Delete
    2. there is no aruco_create_board file in this directory, but instead another file called aruco_print_marker.cpp, this one also doesn't work, so what to do?

      Delete
    3. I have the same problem

      Delete
  7. Hello Dear Miloq,
    I really appreciated your instruction for ArUco installtion. It really worked for me. Can you please give a instruction for installing aruco_mapper?

    ReplyDelete
  8. Pemahaman kata dinamis dan statis menarik jika dihubungkan dengan judi online satu ini, yaitu dengan Main Domino QQ Online versi Mobile. Pertanyaannya kenapa harus bermain dengan cara dimanis ? Dan Apa itu dinamis ? (Baca Selengkapnya...)

    ReplyDelete
  9. Amazing utilization of tenses and also imaginative method for composing made this blog appealing. I read this blog deliberately and discovered nothing undesirable identified with any reality. First rate work. sony a7siii

    ReplyDelete
  10. My ROS package (in the CMakeLists.txt) assumes that the Findaruco.cmake file was installed to /usr/local/lib/cmake/. Looking at the output of sudo make install its not installed:

    My current install path is: CMAKE_INSTALL_PREFIX = /usr/local
    How do i change this?

    ReplyDelete
  11. That’s what i used to be looking for. i am speaking approximately all subjects bundled in this weblog. they all are truly very beneficial for me similarly to for my institution. we are certainly going to use its highlighted records. glitch text

    ReplyDelete
  12. SITUS JUDI ONLINE MUSEUMPOKER TERPERCAYA

    http://museumpoker.pro/

    Dapatkan Promo-promo Spesial Setiap Bulannya di Museum Poker
    Nikmati Kemudahan Deposit Museum Poker dengan PULSA dan OVOpay yang kami sediakan..
    Nikmati juga banyak Bonus Lainnya Yang Kami Sediakan..

    Dapatkan Deposit dengan rate potongan terendah untuk Telkomsel, AXIS dan XL..

    DEPOSIT VIA TELKOMSEL

    DEPOSIT VIA XL

    DEPOSIT VIA AXIS

    === Bonus Harian Museumpoker===
    ovo dan pulsa saja
    rekening tidak ada bonus

    Dapatkan
    - Bonus Deposit 20% New Member

    Bonus Rollingan
    • Turnover diatas 1.000.000 : Freechip 5.000
    • Turnover diatas 5.000.000 : Freechip 15.000
    • Turnover diatas 25.000.000 : Freechip 100.000
    • Turnover diatas 75.000.000 : Freechip 300.000
    • Turnover diatas 250.000.000 : Freechip 1.000.000
    • Turnover diatas 700.000.000 : Freechip 2.500.000
    • Turnover diatas 1.500.000.000 : Freechip 5.000.000

    Hubungi Kami Secepatnya Di :
    WHATSAPP : +6282267932581
    LINE : MUSEUMPOKER
    SMS : +6282267932581
    TELEGRAM : MUSEUMPKR

    ReplyDelete
  13. This is a great post. I like this topic.This site has lots of advantage.I found many interesting things from this site. It helps me in many ways.Thanks for posting this again.
    artificial intelligence internship | best final year projects for cse | internship certificate online | internship for mba finance students | internship meaning in tamil

    ReplyDelete