Coder Social home page Coder Social logo

qian256 / hololensarucounity Goto Github PK

View Code? Open in Web Editor NEW
44.0 6.0 11.0 38.02 MB

Marker tracking on HoloLens built on Aruco, OpenCV and Unity

CMake 0.53% C++ 85.09% C 1.90% C# 11.59% GLSL 0.53% Objective-C 0.36%
hololens marker-tracking aruco opencv windows-uwp unity3d

hololensarucounity's Introduction

HoloLens with Aruco

Author: Long Qian

Date: 2016-06-10

Preface

2017-01-21: If you are interested in tracking fiducial markers for HoloLens, it is recommended to visit another repository of mine: HoloLensARToolKit, which has better performance than Aruco on UWP platforms.

Shortcut

  • The application file hololens_aruco_unity/HoloLensAruco_1.0.0.0_x86_Master.appx can be deployed to HoloLens via HoloLens Device Portal.

Installation Guide

CMake for Windows 10

  • Recent CMake release supports UWP already.
  • If you are using CMake version earlier than 3.4, please follow this to build CMake tool with support for Windows 10.

OpenCV for UWP

  • Follow this to build OpenCV binaries for Windows UWP. The "Long way" is recommended.
  • opencv_uwp folder contains the opencv binary I built for Windows UWP (x86 only, since HoloLens run on x86).
  • Set environment OpenCV_DIR to the your folder of opencv_uwp.

Aruco Wrapper

Aruco is an open source marker tracking application based on OpenCV. aruco_core/aruco_core.cpp is a modification of aruco_simple example.

  • Use the CMake tool for UWP to build the VS solution for the wrapper, navigate to the build folder, and execute: Path\To\CMake\bin\Release\cmake.exe -G "Visual Studio 14 2015" -DCMAKE_SYSTEM_NAME:String=WindowsStore -DCMAKE_SYSTEM_VERSION:String="10.0" -DCMAKE_VS_EFFECTIVE_PLATFORMS:String=x86 ..
  • Open the VS solution and configure the project so that "/ZW" option is activated (Consume Windows Runtime Extension).
  • Build the dll.

Unity3D for HoloLens

  • Put the aruco_core.dll and necessary OpenCV dlls to the hololens_aruco_unity/Assets/Plugins/WSA/x86/ folder.
  • Choose the arucoSideBySide scene from the Assets/Scenes folder
  • Export to HoleLens and run! (You need to print an Aruco marker to see the effect.)

Issues

  • The pose of Aruco marker is augmented through 2D processed image, not in terms of 3D overlay. However, 3D overlay is not hard to achieve by combining the marker tracking of Aruco and the environmental tracking of HoloLens.
  • Frame rate is lowered since C# is transfering raw image data to aruco_core.dll. This could be improved by compressing the image on both sides (Unity script and aruco_core). This issue is addressed by HoloLensARToolKit

hololensarucounity's People

Contributors

qian256 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

hololensarucounity's Issues

Make it work with Star Citizen ?

I love Star Citizen and Im in my way of looking for a good headtracking tool with HoloLens...
Seem I found one.
I already installed HololensArucoUnity on my HoloLens, when I lauch It I have two Windows and text written " Markers : 0"
From here I followed the steps but I must admit It's difficult for me because I don't really understand what is It for... and if It Will really meet my needs for Star Citizen.
Coule you Give me some kind of help of any genre

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.