README

Blobserver
==========
About
-----
Blobserver is an OSC-based server aimed at detecting entities (objects / people / light / ...), in any compatible image flow. Its structure is so that it should be relatively easy to add new actuators as well as new image sources. As of yet, configuration and communication with Blobserver is done entirely through OSC messaging. Some kind of configuration file will be added soon to simplify the setup and usability, especially for permanent installations.
Blobserver is built around the concept of flow. A flow is the association of a actuator and as many sources as needed for it to work correctly. At each frame, all the flows are evaluated, and the various objects detected are sent through OSC to the corresponding clients.
License
-------
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
Authors
-------
* Emmanuel Durand <emmanueldurand@gmail.com>
Project URL
-----------
http://code.sat.qc.ca/redmine/projects/blobserver
Sponsors
--------
This project is made possible thanks to the Society for Arts and Technologies. [SAT] http://www.sat.qc.ca/
Thanks to the Ministère du Développement économique, de l'Innovation et de l'Exportation du Québec (MDEIE).
Installation
------------
Here is how to build and install it on Debian GNU/Linux or Ubuntu Precise::
sudo apt-get install help2man gettext automake bison build-essential flex libtool
sudo apt-get install libglib2.0-dev liblo0-dev
sudo apt-get install liblcms2-dev libxml2-dev libtbb-dev
sudo apt-get install libshmdata-0.8
We need the latest version of OpenCV, which is not yet packaged for Ubuntu. So:
cd ..
git clone git://code.opencv.org/opencv.git
cd opencv
git checkout 2.4.6
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DWITH_TBB=ON ..
make
sudo make install
Then we can compile blobserver:
cd ../../blobserver
./autogen.sh
./configure
make
sudo make install
sudo ldconfig
Optional installation
---------------------
Some parts of blobserver are not mandatory, and you need some additional packages to build them. The following commands must be entered before the compiling of blobserver
--> PCL support (for point cloud support):
cd ..
git clone https://github.com/PointCloudLibrary/pcl pcl
cd pcl
git checkout pcl-1.7.0
mkdir build
cd build
cmake ..
make && sudo make install
cd ../blobserver/
--> LibMapper support (for automatic OSC discovery):
cd ..
git clone git@github.com:libmapper/libmapper.git
cd libmapper
./autogen.sh
./configure
make && sudo make install
cd ../blobserver/
--> Aravis support (for GiGe cameras):
cd ..
git clone git://git.gnome.org/aravis
cd aravis
./autogen.sh
make && sudo make install
cd ../blobserver/
--> GLSL support (for Actuator_GLSL)
cd ..
git clone git@github.com:glfw/glfw.git
cd glfw
git checkout 3.0.3
mkdir build
cd build
cmake -DBUILD_SHARED_LIBS=ON ..
make && sudo make install
cd ../../blobserver/
Also, GLM is needed:
sudo apt-get install libglm-dev