A real time interactive mosaic made by combining a live video feed with still imagery from social networks.
GPU based background/foreground segmentation with sparse blob detection is used to activate the mirror, allowing for interactive changing of individual tile scale on movement.
This project contains several applications which are meant to be run together, but can run standalone. The project can be separated into two main parts two. First there is a node js based administration panel that retrieves instagram images in realtime. Using the administration panel one can approve or decline an instagram image as part of the mosaic. Secondly there are a couple of standalone, (Mac only, tested on 10.9.3) application that analyze the instagram images, create the mosaic and the smoothly scrolling grids.
Application | Info | Directory |
---|---|---|
AppMosaic | Generates a mosaic in real time from a video stream | projects/mosaic |
AppGridLeft | A smooth scrolling grid of images | projects/grid |
AppGridRight | Same as AppGridLeft, other scrolling direction | projects/grid |
AppImageProcessor | Performs image analysis | projects/topshop |
AppPolaroid | Generates the polaroid style images | projects/polaroid |
Image Downloaded | Downloads approved images from instagran (node.js) | projects/admin/apps/image_downloader |
Administrion Panel | Approve / decline instagram images (node.js) | projects/admin/apps/instagram_admin |
We created a scripted build process for compiling the Apps* which makes compiling the applications fairly simple. The App* do need a couple of external libraries which may run fine now, but they can/will change in the future so refer to the versions of the list of dependencies when you get into trouble. Note that at this time, the application will only run on Mac 10.9.
mkdir Mosaic
cd Mosaic
git clone https://github.com/HellicarAndLewis/Mosaic.git .
cd build
./build_mac_dependencies.sh
./release.sh
When you get into trouble with compiling, please get in touch with roxlu
For more information about how to install the administration panel and the
image downloader see the README in projects/admin/apps/instagram_admin
.
Library | Version | Download URL or GIT |
---|---|---|
libuv | a4f03504ceb7c7db6f05cc176bb37cd4b632bda3 | libuv |
libpng | 1.2.51 | png |
libjpeg | v9a | jpg |
libz | 1.2.8 | libz |
glfw3 | a5281df501926ab8d9af99c5ea2af7fb87e3b505 | glfw |
libav | 749b1f1359b5af0a08221923b016551b18ab6171 | libav |
librxp_player | ccd77f4302ecf315bff7ba8b66f593fa42fb38bf | rxp_player |
libtheora | r19181 | libtheora svn |
libvorbis | 1.3.3 | libvorbis |
libogg | 1.3.1 | libogg |
libcurl | 7.37.1 | libcurl |
yasm | 1.3.0 | yasm |
libjansson | 2.6 | jansson |
libcairo | 29a8b4e970379ca04a7db8e63c71bb34c0e349ce | cairo |
pixman | 0.32.6 | pixman |
freetype | 336735d8de0bc5f9ef8018ae11d322cb6e59fa4a | freetype |
opencv | 3.0.0-alpha | opencv |
rapidxml | 1.13 | rapidxml |
glad | ada89398e8b7b4af64648e328347b70d48600a2a | glad |
imagemagick | 6.8.9 | imagemagick |
gettext | 0.19.2 | gettext |
libtracker | 75814ff80f5f32f9b4e633b525072d178f3957f6 | tracker |
We're using the following working set
Application | Version |
---|---|
autoconf | 2.69 |
libtool | 2.4.2 |
automake | 1.14 |
pkgconfig | 0.28 |
We're using the following Mac 10.9 frameworks
Framework & system libs |
---|
CoreFoundation |
AVFoundation |
CoreMedia |
Cocoa |
OpenGL |
IOKit |
CoreVideo |
OpenCL |
AudioUnit |
CoreAudio |
AudioToolbox |
ssl |
crypto |
ldap |
bz1 |
Martin Bartels Diederick Huijbers (roxlu)
Huge thanks to Max Rupp for his advise and code examples on high performance openGL and James Acres & Victor Martin for their listening ears and especially Victor for testing super smooth scrolling.