Giter Site home page Giter Site logo

automatic-ar-1's Introduction

automatic-ar

Tested* prerequisites:

  • CMake 2.8

  • Aruco 3.0.0 (Included in the project)

  • OpenCV 3.2.0

  • PCL 1.7.2 (Optional, for point cloud I/O and visualization)

*The project might work with older dependencies however we have not tested.

Hot to compile

Like a normal cmake project make a build library:

mkdir automatic-ar-build

change the current directory to the build directory:

cd automatic-ar-build

run cmake to configure the project and generate the makefiles:

cmake ../automatic-ar/trunk/

in case cmake does not find a library you have automatically, you can manually give cmake the path to where the library's cmake configuration file exists. For example

cmake ../automatic-ar/trunk/ -DOpenCV_DIR=~/local/share/OpenCV

Finally run make to build the binaries

make

You will find the executables to work with in the apps directory.

Sample data

You can download sample data sets from here.

Usage

  1. Unzip the desired data set.
unzip pentagonal.zip
  1. Do the marker detection by giving the path of the data set to detect_markers:
detect_markers pentagonal

After unzipping you will find a file name aruco.detections in the data folder path.

  1. Apply the algorithm by providing the data folder path and the physical size of the marker to find_solution:
find_solution pentagonal 0.04

Here 0.04 is the size of each marker in meters.

The output of find_solutions includes several files. Files with the name format 'initial*' store information when the solution after initialization and before optimization. The files with their names 'final*' store information resulted after doing the optimization.

Visualization

If you compile with the PCL library you will have automatic visualization when you run find_solution. However, if not, you can still visualize the solution using the overlay app:

overlay pentagonal

You can also save overlayed visualization in a video in the dataset folder by using an extra option:

overlay pentagonal -save-video

Dataset format

Each dataset is defined within a folder. In that folder each camera has a directory with its index as its name. In the cameras folders there is a "calib.xml" file specifying the camera matrix, distortion coefficients and the image size in OpenCV calibration output style.

automatic-ar-1's People

Contributors

hsarham avatar rmsalinas avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.