Software Development
In order to cut out the background and simply project only the people standing waiting outside the elevator lobby,
we needed to develop software which enabled us to have control over the pixel values of each camera frame. Using Processing and Java through Eclipse - we were able to develop a solution which allowed for measuring several properties of each pixel - allowing for simple conditionals for judging brightness thresholding, color, etc.
The 3D aspect of the software was realized using P3D through Processing - whch allowed for the creation of simple geometric shapes with basic lighting. Use of the crank triggers a Y translation of the shapes, as well as the video capture feed in real-time.
Source code: ProcessingMain.java + MotionCapture.java
Installation
A camera is setup outside the elevator - which records people facing the elevator waiting for it to arrive. The projector projecting the image at the door is set above the peolple waiting at an angle, as well as turned vertically to project a vertical image matching the doors in length.
An IR sensor is placed outside the door, which detects if the door is open or closed. If closed, the projector is then blocked by a servo-powered system which simply sheilds the light - thus preventing the light from blinding people getting on/off the elevator.
A hand crank is provided for those interested in pushing the projected image up and down - just as an elevator moves. This is the final stage of the previsualization of the event of traveling on an elevator. The hand crank allows for the image to be pushed all the way up for down - with the 3D representation of the elevator shaft giving the action an expected visual output.
We used 2 Arduinos ( one for the blocker; another for the crank) ; an web camera; an IMAC