Finger tracking using Kinect SDK in C++ - c++

I want to implement finger tracking using Kinect SDK in C++. I have worked on a lot of hand gestures but I'm stuck at finger tracking. Can you tell me some good libraries or open source projects to get a head start? I am working on Windows 7 64 bit system. Any help will be appreciated.

I don't know of any libraries in c++ that support it out of the box but if you are just looking for a head start or a starting point you might want to look at This or this. Its in c# but it should give you a good idea and it does involve finger detection including directional information.

You can use OpenCV along with your Kinect SDK for finger tracking. Here is an inspiring video:
http://www.youtube.com/watch?v=xML2S6bvMwI
You can also see this link:
Finger detection in human hand

Related

Kinect xbox 360

I am new on using a Kinect sensor, I have Kinect XBOX 360 and I need to use it to get a real moving body 3D positions. I need to use it with c++ and openCV. I could not find anything helpful on the web. So, please if anyone can give me some advice or if there any code for opening Kinect XBOX 360 with c++ to start with I will appreciate that.
Maybe try this library: https://github.com/OpenKinect/libfreenect . If you don't have to use C++ obviously the C# drivers for the xbox Kinect by Microsoft are quite useful.
You're going to want to use OpenNI (https://structure.io/openni) for this. It will make your life infinitely easier. I believe you can even compile OpenCV with OpenNI support out of the box.
You'll probably also want to download and compile PCL (http://pointclouds.org/), which will make managing and manipulating the 3D data a lot easier.
To build a cohesive 3D "world", you'll want to use a fusion library like KinectFusion, which is actually baked into PCL already (https://github.com/PointCloudLibrary/pcl/tree/master/gpu/kinfu).
For object recognition, you'll want to use a classifier, of which OpenCV and PCL have many.
There are a plethora of tutorials and examples using the Kinect as an RGBD source.

Real time Object detection: where to learn?

I am working with opencv these days and I am capable of doing 99% of stuff explained in opencv official tutorials. And I managed to do motion tracking manually with background substraction, where some users claimed as impossible.
However, right now I am working with object detection, where I need to track the hand and want to find whether the hand is moved to left or right. Can this be done by following steps? (used in motion detection)
Get camera 2 instances of camera video (real time)
blur it to reduce noise
theresold it to find hand (or leave it if blur is enough)
find the absolute deference between 2 images
Get PSR
find pixel position of motion
However, it seems like it is not 100% same as motion detection, because I read some stuff about Kalman Filter, Block-matching, etc which I did not use in motion detection. However, I found this tutorial
http://homepages.cae.wisc.edu/~ece734/project/s06/lintangwuReport.pdf
But, I really need your advice. Is there any tutorial which teach me how to do this? I am interested in learning core theory with opencv explanation (c++).
Since I am not good at maths( I am working on it - I didnt go to the university , they found me and invited me to join the final year for free because of my programming skills, so I missed math) , full of math stuff will not work.
Please help. Thank you.

OpenNI Body Gesture Recognnition?

I was wondering of there is a way for OpenNI to recognize a movement such as crouching or running in place? And could you have hand, finger and body recognition all running at the same time?
I played with pose estimation a while back, but that's not the same as gesture recognition which also involves time.
I recommend having a look at Dynamic Time Warping(DTW) as a useful technique.
Also have a look at the KineticSpace project which makes use of this technique.
It's written in Processing(Java) and uses a wrapper, but it still uses OpenNI under the hood.
This should help you work out crouching and perhaps running.
Regarding your second question: you get body recognition and hand tracking for free with OpenNI/Nite, but you'd have to do the finger detection yourself.
Here are few random results found on Google:
Kinect Core Vision
Finger Tip on CodePlex
ROS Finger tracking
There are more examples out there, it depends on what language you use and how comfortable you are coding.
HTH

Microsoft Kinect - openNI Hand Generator issue

I am trying to use a kinect device in order to detect the palm within a kinect video(.oni video). I am using openNI libraries to develop this type of application.
They have published a manual of the basic features available within the openNI which can be seen here.
I have tried to implement the code which they displayed in the hand detection section, however, I don't have any results.
Do you happen to know where can I find a tutorial for a basic hand detection application for kinect through openNI library?
I started with OpenNI User Guide and it was very useful. There is a working example called "Working with Hand Point". If you want more powerful hand recognition you can try NITE. You can have working sample following this tutorial, it is for Linux, but most part of it will work even for Windows.
You can start with :
http://channel9.msdn.com/coding4fun/kinect/Simple-Hand-Tracking-with-MS-Kinect-SDK--WPF

interact with a pc camera using c++

i intend to interact with a pc camera using c plus plus. Are there any libraries you can recommend or ways to go about ? The idea is to take shots with a Samsung wireless cam then get the images transferred unto a pc with cam and on the pc show images as per the face detection using the cam . any ideas where to start ?
Well, there's a wide range of ways to do it. Professional cameras have accompanying SDKs. If you camera is supported by it (I believe most webcams are) you should try OpenCV for a start.
Googling for "opencv face recognition" will yield plenty of hits, so you have a lot of reference material.
Try this reference (Face and Eyes Detection Using OpenCV) for a start.
After you start your project, you can specific questions on StackOverflow or on the OpenCV Yahoo! group.
Other options are:
1) openFrameworks.
Quoting from their website:
Openframeworks is a c++ library designed to assist the creative process by providing a simple and intuitive framework for experimentation.
The library is designed to work as a general purpose glue, and wraps together several commonly used libraries under a tidy interface: openGL for graphics, rtAudio for audio input and output, freeType for fonts,freeImage for image input and output, quicktime for video playing and sequence grabbing.
2) Qt
If you decide Qt, see this related question: Displaying WebCam video with Qt