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.