Tree [65e7d4] default tip /
History



File Date Author Commit
cmake 2013-07-01 Christian Frisson (deaf Mac Mini 10.6.8) Christian Frisson (deaf Mac Mini 10.6.8) [e556ec] CMake mods for releases on OSX 10.6.8
resources 2014-03-09 frankiezafe frankiezafe [65e7d4] version 0.4 -> changed the OSC pointer emission...
src 2014-03-09 frankiezafe frankiezafe [65e7d4] version 0.4 -> changed the OSC pointer emission...
work 2014-03-09 frankiezafe frankiezafe [65e7d4] version 0.4 -> changed the OSC pointer emission...
.hgignore 2014-03-09 frankiezafe frankiezafe [65e7d4] version 0.4 -> changed the OSC pointer emission...
AUTHORS 2013-07-01 Christian Frisson (deaf Mac Mini 10.6.8) Christian Frisson (deaf Mac Mini 10.6.8) [e556ec] CMake mods for releases on OSX 10.6.8
CMakeLists.txt 2014-03-09 frankiezafe frankiezafe [65e7d4] version 0.4 -> changed the OSC pointer emission...
COPYING 2013-01-31 François Z François Z [e6aa9f] copying TEMP
README 2013-02-25 Christian Frisson (OSX10.6.8) Christian Frisson (OSX10.6.8) [6faa78] OSX support and improved CMake. Packaging throu...

Read Me

About Melon:
************

Melon is an application developed at the numediart Institute.
Its purpose is to simplify as much as possible the use of a Kinect sensor as a 
controller by detecting the hands of user(s), retrieving their position and, 
with this, moving a pointer on a graphical interface.
It has been developed in C++ and is based on OpenNI and NITE.

Functionalities:
****************

A. Interaction areas
In the Kinect 3D space, specific areas can be defined.
When this feature is used, users must position themselves into these areas 
to be detected.

B. Hand-tracking
Hand tracking is achieved relatively to shoulders, making it user-centric.
This allows users to move freely in space, and also to change interaction 
areas position. The relative position of the hand is not rendered as a 3D point, 
but as two angles (horizontal and vertical rotation) and a radius.
In order to remove a part of the flickering due to OpenNI detection, a smooth 
filter can be used to stabilise hand and/or shoulder position. 

C. Melon parts
A second process localise the position in a portion of sphere and return a 
normalised position. This "melon part" is attached to the shoulder and represent 
an active area in front of the user, defined by four angles, a minimal and 
a maximal radius. This process makes straight lines easier to perform.

D. OSC
Two kind of OSC messages are emitted by the Melon: events and positions.
Events represent modification of status. When a new user is detected, an event 
message is broadcasted. Melon also send events when a user enters or leaves an 
interaction area, or when his hands enter or leaves a melon part.
Position messages contain the normalised and absolute position of the hand.

E. XML
The configuration of Melon can be saved in XML files.

F. GUI
The interface of Melon expose all the configuration parameters in the GUI. 
A preview panel has been added to visualise the configuration in realtime.


Requirements:
*************

All the OpenNI suite:
* OpenNI
* Sensor-Kinect
* NITE
(unstable release)
TESTED ON 1.5!!!
* cmake
* Qt dev library

Ubuntu
$ sudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pcl
$ sudo apt-get update
$ sudo apt-get install build-essential cmake libqt4-dev openni openni-sensor-primesense
then install nite

OSX
We advise the use of Macports (http://www.macports.org)
$ sudo port install qt4-mac openni

-----------------------------------------

Compile
*******

LINUX AND OSX:
Generate the Make file with the CMakeList
in the folder:
$ mkdir build
$ cd build
$ cmake ..
$ make

PACKAGING:
To create a bundle for OSX or a *.deb package for Ubuntu:
$ mkdir build
$ cd build
$ cmake .. -DUSE_DEBUG=OFF
$ make

Then for OSX 
$ make install
(the app will be located in release/)

Or for Ubuntu
$ cpack -config CPackConfig.cmake
(the *.deb will be located in the same directory)

Have fun & do not hesitate to send us feedback!