Cargo Wall is a interactive content projection system. The Audience are given a IR Torch which when pointed at a wall will reveal content.
Here is a list of Equipment we used and where to find the products.
Item | Cost |
---|---|
PS3 Eye Camera | £6.95 |
Lee IR Filter | £19.95 |
Infrared Torch | £15.99 |
We removed the IR Blocking Filter in ther lens and put a Visible Light Filter in its place. This stops the projected image appearing in the tracking image.
This site does a better job of explaining the process than I can manage.
https://www.behance.net/gallery/8955421/Hacking-Sony-PS3-Eye-Camera
There are only a few setup steps needed for the application run, these are mainly calibration steps.
With the application open.
Open the GUI by pressing TAB.
Click Show Folder to expose the content directory.
- Any Poems that need to be show should be placed in the Visual/poems folder.
- Any Video should be placed in the Visual/videos folder.
- Any Photos should be placed in the Visual/photos folder.
- Any Textures should be placed in the Visual/textures folder.
Click Reload.
This will add the content to the application. See the next section for image calibration.
We need to constrain/rework the camera coordinates to be the same as the projector coordinates. In the Gui Click Show CV Calibration.
It will open a subsection of the application, using the mouse drag the corners of the rectangle so that they roughely align with the corners of the projected image. Remember the camera won't be able to see the projected image. Once done Click Save. Next time the application opens the calibration will be automatically loaded.
- ofxAutoReloadedShader
- ofxCv
- ofxImGui
- ofxJSON
- ofxKinect
- ofxOpenCv
- ofxPS3EyeGrabber
- ofxTextAlign
- ofxTween
- ofxXmlSettings
File | Purpose |
---|---|
main.cpp | Runs the ofApp code |
ofApp.cpp | Main code thread |
ofApp.h | |
AnimatedPoems.h | Tweens Lines from the Poems |
Photos.h | Displays photos |
Poems.h | Loads poems and displays them on screen |
Videos.h | Loads Videos and displays them on screen |
VisualManager.cpp + .h | Handles the Visual Components of the App |
ofxCenteredTrueTypeFont.h | Small Class that centers true type to a container |
Timer.cpp + .h | Custom Timer Class |
ImageProcessing.cpp + h | Handles the Camera system and performs the openCv methods to get the torch image |
ImageSelection.cpp + .h | Allows us to segment the image so we can select a specific region of the camera's view. |