Hey Guys and Girls,
i have (more or less) implemented a function to detect how many
fingers a person lifts.
I have copied the Code from the OpenNI SimpleViewer/ NITE Box Example
to initialize the generators, track the Hand and get a bitmap with the
depth informations. i have also copied the code from this example
(
http://www.youtube.com/watch?v=Fjj9gqTCTfc ) to implement the finger
detection.
Instead of a RGB-Videostream i use the depthMap.
It works not very well (because of the noisy depth signal) with the
depthMap, but it works. With the RGB signal the detection is much
better, but i'am using an Asus Sensor, so i do not have an RGB camera.
The implementation is in C#, i use the OpenCV Wrapper EMGU (http://
www.emgu.com/).
I would like to improve the detection (e.g. smoothing the depthMap or
use other filters to get a better result or stabilize the imageframe)
and hoped that someone has ideas and the knowledge to help.
You can download the Visual Studio 2010 Project here:
http://www.luna-arts.de/others/misc/HandsNew.zip
You also have to install EMGU (you need Emgu.CV.dll, Emgu.CV.UI.dll,
Emgu.Util.dll).
To detect the fingers, first i create a convex hull, then i count the
confex defacts. This informations i use in a next step to indicate how
much fingers there are.
To start the detection you have to do a "click"-gesture.
I would appreciate any advice and improvements
Regards
say