Concept

Project mapping is a projection technique used to turn objects, often irregularly shaped into a display surface for video projection. What we tried to accomplish during Hardware course is creating a Video Projection system done by code in Processing, using the input from a Kinect and use that with OpenCV to create visual and interactive effects.

 

Process description:

Software workflow

Calibration

Once that the script work, we pass through the calibration of the Kinect/projector system: Once aligned the system we deform the projection for fit that to the kinect input through manual homography in Processing.

 

 

Documentation

Below here you can see the set of experiments for Kinect and Projector calibration first and the developing of the interactive graphics in Processing

1) Blobs from OpenCV

<p>

</p>

1.1) Blob Quality

2) Clean Outlines

<p>

</p>

3) Calibration Homography

<p>

</p>

3.1) Calibration through Spout and Resolume Arena

3.2) Speed Test

<p>

</p>

3.3) Delay Test

<p>

</p>

4) Clean Outlines Offsets

<p>

</p>

5) Physics Engine Implementation

<p>

</p>

Graphics Exploration

6) Vector Fields V1 

6.1) Vector Fields V2

6.2) Vector Fields V3

6.3) Vector Fields V4

6.4) Vector Fields V5

6.5) Vector Fields V6

7) Vector Field Implementation

<p>

</p>

Requirements

Processing Libraries:

  • opencv
  • KinectPV2
  • Sound
  • g4p_controls
  • spout*
  • realSense*

*Optional functionality depending on available hardware

Electronics and Hardware

Input and Output

Kinect2 + Video Projector Casio xj-a242

PROJECTION MAPPING is a project of IaaC, Institute for Advanced Architecture of Catalonia developed at Masters of Robotics and Advanced Construction in 2019-2020 by Students: Anna Batalle, Matt Gordon, Lorenzo Masini, Roberto Vargas  _ Faculty: Angel Muñoz & Lisa Fantini.