blobber : the blob tracker
description
Given a webcam, projector, and a computer, the idea is to track lights/colors with the camera and then project "reactions" onto a large surface with the projector. Right now, a framework has been created to allow the creation of modules to handle output "reactions" based on what the camera sees. These modules accept as input the pixel data from the camera and can draw on a separate window. Many modules can be loaded at once. You can also easily create your own modules.
You can see a video of blobber in action at http://streetlevellab.com/blobber.html.
run it
There are no stable releases yet - the following instructions may or may not work
First, you'll need Linux, a webcam, a laser pointer, and a projector. The plan is to make ports to Windows and Mac as soon as possible, but right now only Linux is supported. You'll need to install gtkmm and make sure v4l support is compiled in your kernel.
You'll also need some development tools on your machine since we don't have binary packages yet. If you're running Ubuntu, typing in the following command on a terminal should get you everything you need.
sudo apt-get install build-essential libgtkmm-2.4-dev autoconf automake libtool subversion libv4l-dev
Once you have all the necessary development packages, the following commands will get the code, compile it, and install it on your machine:
svn co https://svn.butterfat.net/public/blobber/trunk blobber cd blobber sh autogen.sh make sudo make install blobber
Once it's running, there are two windows. One is what the camera sees, and the other is the projection window (it often comes up right behind the camera window, so you might have to move that to see it). Make sure that the computers projected screen can be seen by the camera. Click on the projection window and the press "f" - this will make it go fullscreen. Then press "a" - this will flash blue and attempt to align the camera and the projector. Press "f" again (to unfullscreen the projected window) - and make sure that the red lines surround the projected window. If not, press "f" and "a" again - to attempt another alignment. Once the red lines (roughly) surround the projected image, you're ready to start using the laser. You can also manually specify the location of the projection in the camera window by drawing a box with your mouse.
Blobber can be started with several flags from the command line:
Usage: blobber [OPTION...] Help Options: -?, --help Show help options --help-all Show all help options --help-gtk Show GTK+ Options GTK+ Options --class=CLASS Program class as used by the window manager --name=NAME Program name as used by the window manager --screen=SCREEN X screen to use --sync Make X calls synchronous --gtk-module=MODULES Load additional GTK+ modules --g-fatal-warnings Make all warnings fatal Application Options: -v, --version Print the version info and return. -d, --debug Print debugging information. --display=DISPLAY X display to use
Modules
Some current modules included with the distribution are lasertag, greenscreen, pong, and invaders. Lasertag is loaded by default and is the most stable.
To compile and install all modules packaged with blobber:
svn co https://svn.butterfat.net/public/blobber/trunk blobber cd blobber sh autogen.sh --enable-all-modules make sudo make install blobber
You can select modules to load via the "Preferences" window and "Enabled Modules" tab. Go to File->Preferences, select the Enabled Modules tab and check the box next to the modules you want to load. Next, uncheck the boxes next to the modules you want to unload, and press the OK button.
Docs
HowToMakeModule describes how to make your own module. More docs to come.
Developers
We need help with development. We have a dev mailing list. Basic development docs can be found at DevDocs. You can also build API docs if you have doxygen installed. In ubuntu type the following in a terminal window to install doxygen:
sudo apt-get install doxygen
To build API docs, use the following commands:
svn co https://svn.butterfat.net/public/blobber/trunk blobber cd blobber sh autogen.sh --enable-doxygen make dox firefox apidocs/html/index.html
Cameras
We have a list of cameras (cameras that work, and those that don't) on the Cameras page.
