Welcome to the project repository on exploring fiducial markers, specifically using Aruco markers. This project aims to provide an introductory guide to fiducial markers and their applications in computer vision using OpenCV and Ovis. It is designed for those who are interested in learning how to detect, estimate poses, and utilize fiducial markers for augmented reality applications.
- Introduction
- Prerequisites
- Installation
- Executables
- Usage
- Markers Print
- Resources
- Contributing
- License
The objective of this project is to gain insights into the functioning of fiducial markers, explore their possibilities and limitations, and define example applications using the OpenCV library and the Ovis module. The core concepts covered in this project include:
- Understanding the detection of Aruco fiducial markers.
- Computing the homography using detections and applying a patch.
- Estimating pose using detections and reprojecting a 3D object.
- Utilizing the Ovis package to set a 3D object in the scene, which rotates and translates according to the marker's pose.
To run this project, the following tools and libraries are required:
- OpenCV 4.5.5 with
opencv_contrib
andnonfree
modules. - Ogre 13.3.3 (Ovis module dependencies included).
- Visual Studio Code as the development environment.
- Ubuntu 20.04.4 LTS as the operating system.
- A camera for marker detection and printed Aruco markers.
libgles2-mesa-dev
libvulkan-dev
glslang-dev
libxrandr-dev
libsdl2-dev
libxt-dev
libxaw7-dev
doxygen
Make sure to enable the OGRE_BUILD_DEPENDENCIES
CMake variable when configuring Ogre.
- Clone the repository:
git clone https://github.com/yourusername/repositoryname.git
- Install the necessary dependencies:
sudo apt-get install libgles2-mesa-dev libvulkan-dev glslang-dev libxrandr-dev sudo apt-get install libsdl2-dev libxt-dev libxaw7-dev doxygen
- Build the project using CMake with the appropriate configurations.
The project is divided into auxiliary and main executables:
- Aruco Markers Printing: Allows you to print your own Aruco markers using OpenCV.
- Ovis Installation Test: Verifies the correctness of the Ovis installation.
- Main Application: Demonstrates various fiducial marker applications.
- Marker 1: Estimates pose and reprojects a pyramid onto the marker.
- Marker 2: Custom detection drawing is performed.
- Marker 3: Computes homography and applies a patch onto the marker.
- Main Application + Ovis: Adds 3D object manipulation using the Ovis module, where a 3D object is translated and rotated according to the marker's estimated pose.
- Print the Aruco markers from the
markers
directory. - Run the main executable to explore different marker applications.
- Use the Ovis version to experience 3D object integration.
You can find the printable Aruco markers in the markers
directory. These markers are essential for testing and using the application effectively.
Contributions are welcome! Please feel free to submit a Pull Request or create an Issue for any suggestions or improvements.
This project is licensed under the MIT License.
For more information, please refer to the detailed report available in the repository.