OpenAR is a very simple C++ implementation to achieve Marker based Augmented Reality. OpenAR based on OpenCV and solely dependent on the library. OpenAR decodes markers in a frame of image. OpenAR does not implement Marker tracking across frames. Also OpenAR does not implement Template matching for Marker decoding.
Building up to openAR:
Some of the basic operations are independently discussed in the previous posts -
Link Installing Ubuntu 14.04
Link Installing OpenCV 2.4.9 in Ubuntu
Link Building a simple OpenCV Program
Link OTSU thresholding
Link Corner Detection
Link Connected Component extraction
Download from DsynFLO box folder - https://app.box.com/s/p2cpo7i6vp9ilazk3dhv
cmake . make ./openar
ZERO License. Students, Geeks, Tramps alike, free for all. :)
Tuning the code:
If you are facing issues to reliably detect Markers, the following can be done -
1. Decrease the severity to determine corners. Warning: Segmentation fault (read next section)
2. Decrease the severity on blob size constraints.
1. Possible Segmentation fault due to too many corners and hence the array of corners may overflow.
2. Rotation of image according to the pattern orientation is not taken care but it can be done easily.
3. Detection fails on blurry images caused by rapid movement of markers.
Interested contributors fork me at Github or Mail me -
[ ] Code movement from legacy OpenCV 1.0 to 2.4.9
[ ] OpenGL integration - if required or may be OpenCV 3D visualization (3.0+)
[ ] Create an OpenAR library