Hello everybody, I am currently developing a small application in which the user should be able to interact with a virtual environment via hand movement, captured with a kinect 1414. Does anybody have some suggestions on what libraries/addons to use in order to track the user’s hand? I am currently considering the option to identify the blob closer to the camera and track its centroid, but I’m wondering if there are better options. Thanks in advance!
I did a short series of videos on using skeletal tracking with the the openNI natural interaction toolkit with a kinect2, you can find it on youtube/danbuzzo here https://www.youtube.com/playlist?list=PL6QF0yo3Zj7A0t3hjCqc3fTfAiw2zvjSz
the principles for kinect 1414 are the same - I also did a series making point clouds and some tracking with a kinect 1414 in another series (making a 3D photobooth with Kinect 1) : https://www.youtube.com/playlist?list=PL6QF0yo3Zj7BT5ruAU_2pr9O4vl4TshMr
I used the fork from @roymacdonald of ofxNI2 -
download the addon for openFrameworks here; https://github.com/roymacdonald/ofxNI2
this utilises drivers from the openKinect project https://github.com/OpenKinect.
the openNI project is supported by occipital https://structure.io/openni
there are several other forks and implementations in various stages of support…
Thanks for the suggestions and the links. However, a quick look at the ofxNI2 README revealed that it does not support the 1414 model on Ubuntu, thus I can’t use it
aha - `i’m mostly using osx or windows - (or raspbian on Pi) - i’m not sure how to advise for using NI on ubuntu - though the ofKinect addon works with 1414 and will allow you to clip regions of space and you could then run blob detection to find the centre of mass to track hands ?
And that’s exactly what I’m trying to do, but I am struggling to understand how to perform blob detection: iIguess I should use the OpenCV addon, but I cannot find enough documentation to understand what function to call.
Right now I’ve implemented a really ugly function that computes the the centroid of the points that have not been clipped, but I’d guess there’s a better way
Update: easiest way to make it work is to filter the kinect’s feed by distance and then averaging the identified points. Also, looks like sampling 1 out of n points works too and reduces the computational load
nice - post pictures when you get any?
I have tried this fork and it worked fine for me https://github.com/nbeirne/ofxNI2. There are instructions for Linux.
Tested with oF 10.1 and Ubuntu 19.10.
Just to say that @roymacdonald 's ofxNI2 addon works perfectly on Ubuntu 19.10 (64 bits) as well. Actually I had to do a fresh install, so I had to compile libfreenect. (oF 0.11)