If you are working with Xbox Kinect Sensor here is another goodie for you – A pure data / Gem external to get Kinect rgb and depth streams as well as skeleton tracking and multiple hand tracking via OpenNI
Download the packed Binaries for OSX and Windows
Latest sourcecode available at github: http://github.com/kronihias/pix_openni
Look at this page if you don’t know how to install a Pd-External.
To control tilt, led and output accelerometer data you can use libfreenect based http://github.com/kronihias/freenect.
To get audio streams you can use libfreenect based http://github.com/kronihias/freenect_audio.
pix_openni (0.10 experimenting…)
pure data / Gem external to get Kinect rgb and depth streams, skeleton tracking, hand tracking
* depends on OpenNI, NITE, SensorKinect
2011/2012 by Matthias Kronlachner
tested under Ubuntu, OSX 10.6.8 and Windows 7
you don’t have to compile the external for yourself -> use included binaries from build folder (copy pix_openni.pd_darwin in pix_openni folder)
you still need OpenNI, NITE and SensorKinect!!
* download latest OpenNI and NITE unstable build for OSX from http://www.openni.org/Downloads/OpenNIModules.aspx,
sudo ./install.sh in the extracted folders
* install SensorKinect from https://github.com/avin2/SensorKinect
you don’t have to compile the external for yourself -> use included binaries from build folder (copy pix_openni.dll in pix_openni folder)
install OpenNI, NITE and SensorKinect
(OpenNI SDK v22.214.171.124)
Binary of NITE
Binary of avin2 / SensorKinect
* get/install pd and Gem (http://puredata.info)
* get and install OpenNI, NITE and the hacked Primesense Kinect driver
–> instruction: https://github.com/avin2/SensorKinect
* edit Makefile for right path to Gem, pd and OpenNI sources
* #…/pix_openni> make
* have a look at the pix_openni-help.pd file!
:: Usage ::
* Have a look at my pd-kinect-examples at Github: http://github.com/kronihias/pd-kinect-examples
to track multiple Hands edit following File:
and add or uncomment:
0.10 * various bugfixes
* depth_output simplified – just rgba and yuv available ->
* ATTENTION INCOMPABILITY: „viewable“ depth output outsourced into pix_depth2rgba
* record and playback functionality
* user coloring
* skeleton settable smoothing factor
0.03 * switchable OSC Style output of tracking data /skeleton/joint/r_hand id x y z, /hand/coords id x y z
* switchable real-world coordinate output in [mm]
* switchable registration between rgb image and depth image -> change point of view from depth camera to match with rgb image (overlay)
* improved help file
* OSX binaries
* output rgb and depth stream simultaneously
* hand tracking
* change image and depth modes
* init without .xml init file
* fixed depth to rgb conversion for output_mode 1 & 2
* skeleton and rgb or depth stream output
:::THINGS TO DO:::
* support for multiple Kinect
* motor and led control as well as audio is currently not supported from SensorKinect
you can do that with pd external freenect: http://github.com/kronihias/freenect
* optimize record/playback functionality
Pingback: Kinect Hackek: Openni, Openkinect « SensorBreakers
Pingback: trailer :: übersetzen – vertimas | matthiaskronlachner.com
first of all thanks for your code! very usefull!
I have compiled pix_openni successfully but I don’t get how to run hand tracking. I send value hand 1 and consolle tell me „OpenNI:: HandTracking started!“
So it is supposed to go. There is some kind of pose to start?
thanks for help
for hand tracking you need to make a „waving gesture“ so that nite starts tracking your hand.
just wave your hand and it should recognize it after short time.
you can also check the config files (somewhere like /usr/etc/primesense/Hands_*/Nite.ini) to enable multiple hands support.
anyway i think that the hand tracking is not well done in nite. you can try to use opencv or threshold the depth image and use pix_multiblob.