I worked with O Cubo in creating an interactive floor for GNR (the portuguese national guard) as part of the celebrations for the centenary of the portuguese republic.
It allowed the visitors to look through several historical archive images in a fun and engaging way.
The exhibition ran for 3 weeks during April at GNR’s headquarters in Largo do Carmo, Lisbon.
It was created in C++ using OpenFrameworks with OpenCV and OpenGL
we used 3 cameras and 3 projectors. The camera images are stitched together using a quad multiplexer and fed into the computer as a single input. They are then separated in software using OpenCV
Don’t know exactly the models but they where some regular CCTV cameras and quad multiplexer from a surveillance store.
To separate the images in OpenCV i set the ROI to match each image’s area in the main image and copied it to a separate image.
The multiplexer gives an image which is a mosaic of 4 images. The camera images are inserted int the multiplexer in the top left, top right and bottom left quadrants. The bottom right has no signal so its a just a black square which is ignored.
The top image is made by a grid of quads, textured to make up the image when in their original position (like a puzzle).
the animation is all physics based. Each quad is made of 4 particles connected by 4 springs.
Each blob detected by the contour finder applies a repulsion force to these particles. They also have a small force applied towards their original position to make the grid close when no one is in there.
I used ofxRuiPhysics3d (the animation is in 3d, and the repulsion force is applied under the particles just to give them a little perspective), but its all very simple. It could easily have been made with MASPhysics or Box2d or other physics lib.
I used a grid based image warper (that should be released as an addon soon enough, as soon as i clean the code). We didn’t do any blending, just adjusted the edges of the videos so they stitch together.
The image warper is made using FBO’s and has some nice features
The code is still pretty messy and some stuff is not finished or hasn’t been tested but i can send it if anyone’s interested, just PM me.
yes, we used IR lights and cameras.
To prevent feedback we used a visible light filter (made with black photograph film) which blocks light form the projector, so only IR light is captured by the camera.
just regular IR lights bought from a surveillance shop. I didn’t buy them so don’t know the details, just know they where rather strong and had a wide angle.