Magic Canvas

Magic Canvas

Project type: 3rd semester Medialogy university project

Made: December 2012

My fields: Programming

Time spent on this project: 1 month (including 100 pages report)

Tools used: OpenCV, Unity, Visual Studio, Photoshop, Git

DOWNLOAD: Magic Canvas

About this project:

Forget everything about the Kinect. We are doing motion detection from scratch!

The Magic Canvas was a part of my 3rd semester project at Medialogy. The theme was Visual Computing with a focus on image processing. Our group was tasked with making an interactive art installation at Hjørring Library, using C++ and image processing to process and analyze data from a video capture. Instead of using exisiting detection software/hardware such as the Xbox Kinect camera, the goal was to program everything from scratch and make the computer able to detect humans. The open source library OpenCV was used to access individual pixel data.

Magic Canvas ended up being an interactive canvas placed in a central location at the library throughout December 2012. Using a webcam, the program performed BLOB detection (Binary Large OBject) to analyze whenever a person was walking past. When this happened, various Christmas-themed characters moved around on the screen according to the person’s movements.

Besides the actual program, the group wrote a 91-page long report (which can be downloaded in the link above).

MagicCanvas IMG_1474 IMG_1477 IR_pic led_max LocationJohannesHat projector_audio santa screen1 Magic Canvas

The report abstract

The theme for this project is Visual Computing. The group has been in collaboration with Hjørring Library in developing an installation called Magic Canvas. The goal is to make an entertaining installation that can be enjoyed by people of all ages. The Magic Canvas utilizes an infrared webcam to capture video of people casually passing by, displaying them on a big canvas as a Christmas-related character. To make the camera get a clear contrast, infrared LED strips are placed near the canvas. The software is mainly written in C++, using the OpenCV library to extract video information. The Unity game engine is then used for visualization. To detect people with the camera, various image processing techniques have been used, such as thresholding, background subtraction, region of interest and BLOB analysis. The program is working without any physical devices, and it does not require any external maintenance. The program ran throughout December 2012.

Gustav Dahl
Johannes Møjen
Maximilian Müller
Marco Winther
Marta Botella
Simon Jakobsen