OfxMagicMirror
An augmented reality application designed to show different kinds of media (images, video, 3D models) on a marker. Uses OpenFrameworks, ArUco Augmented Reality and OpenGL.
Install / Use
/learn @htw-inka/OfxMagicMirrorREADME
Magic Mirror Augmented Reality Application
Overview
Magic Mirror is an augmented reality application designed for showing different kinds of media on a display, while a marker is tracked. The display shows the mirrored output of a camera attached to that display. The following kinds of media can be displayed:
- images (also with an alpha-channel, for example in PNG images)
- video (also with an alpha mask like here
- 3D models (in Wavefront OBJ format)
These contents have to be added to the res/contents folder.
There are two different versions available, using different libraries and with differing development states. Both versions are OpenFrameworks-based applications and use Nate Robins' GLM library for OBJ Wavefront fromat model loading.
ofxMagicMirror
This Version uses the ArUco library for marker recognition and OpenGL for display.
The content folders have to follow naming convention to associate the content with a marker ID and a content type:
res/contents/<id>_<type>_<name>/<name>.<ext>- image example:
res/contents/42_img_helloworld/helloworld.png
Where id is the marker ID and type can be either img, vid or obj. You can set name as you wish.
Get more detailed Information here.
ofxMagicMirrorARTP
This Version uses the ARToolKitPlus library for marker recognition and OpenGL for display.
The content folder includes a config.xml file, where you can add or change the loaded content, associate with a marker ID. There are several options to specify the content type (img, vid or obj), the file locations, the scaling factor, an initial rotation and translation in 3D space and if you want the content to be shown with transparency.
Get more detailed Information here.
Compiling
To compile the project, you must have a folder ofx in the project root containing (or linking to) the openFrameworks library. This project has been successully compiled under Mac OSX 10.8 with openFrameworks v0.8.
Note that you should modify src/conf.h for the proper camera device ID and camera resolution. You should also calibrate your camera and save the intrinsic matrix output to res/cams.
License
The program is released under BSD 3-clause license which is contained in the file LICENSE.
The included ArUco library is developed by the Universidad de Córdoba. The included ARToolKitPlus library is released under GNU GPL v3 license. ARToolKit was originally developed by Hirokazu Kato of Nara Institute of Science and Technology and was released by the University of Washington HIT Lab. Currently it is maintained as an opensource project hosted on SourceForge.
Related Skills
clearshot
Structured screenshot analysis for UI implementation and critique. Analyzes every UI screenshot with a 5×5 spatial grid, full element inventory, and design system extraction — facts and taste together, every time. Escalates to full implementation blueprint when building. Trigger on any digital interface image file (png, jpg, gif, webp — websites, apps, dashboards, mockups, wireframes) or commands like 'analyse this screenshot,' 'rebuild this,' 'match this design,' 'clone this.' Skip for non-UI images (photos, memes, charts) unless the user explicitly wants to build a UI from them. Does NOT trigger on HTML source code, CSS, SVGs, or any code pasted as text.
openpencil
2.0kThe world's first open-source AI-native vector design tool and the first to feature concurrent Agent Teams. Design-as-Code. Turn prompts into UI directly on the live canvas. A modern alternative to Pencil.
HappyColorBlend
HappyColorBlendVibe Project Guidelines Project Overview HappyColorBlendVibe is a Figma plugin for color palette generation with advanced tint/shade blending capabilities. It allows designers to
Flyaro-waffle-app
Waffle Delight - Full Stack MERN Application Rules & Documentation Project Overview A comprehensive waffle delivery application built with MERN stack featuring premium UI/UX, admin management, a
