Skip to content

njanirudh/Augmented-Reality

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Augmented-Reality

This repository contains a prototype Augmented reality application using OpenCV and OpenGL python. Aim of this project is to make a modular AR framework using python which works on wide variety of markers and on which we can place wide variety of graphical elements. The application takes a .json file as an input and uses that to find apropriate type of marker.

Installation / Usage

  • Clone the git repo
  • Install the modules
    pip install -r requirements.txt
  • Run main.py (Default values)

Architecture

  • Basic application process blocks

Depending on the JSON parameters the application will be able to detect 'Aruco' or 'NFT' markers.

  • Marker detection process

Input JSON

There are two seperate types of JSON depending on the type of marker tracked. The default parameter JSON files are placed in the data folder.

The paths to the calibration file and marker can be changed

  • NFT marker (nft_params.json)

      {    
        "calibration_path" : "data/calibration.yaml",
        
        "marker_type" : "nft",    
        "marker_params" :{      
          "marker_path" : "assets/stones.jpg",    
          "feature_type" : "ORB",                  // ORB , AKAZE
          "matcher_type" : "flann",                // flann , bfm
          "debug_draw" : true    
        },
      
        "3d_object" : {    
          "obj_path" : ""    
        }
      
      }
    
  • Aruco marker (aruco_params.json)

      {   
        "calibration_path" : "data/calibration.yaml",    
        
        "marker_type" : "aruco",    
        "marker_params" :{   
          "debug_draw" : true   
        },
      
        "3d_object" : {   
          "obj_path" : ""   
        }   
    
      }
    

Authors

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Releases

No releases published

Packages

No packages published

Languages