5
votes

I want to do face detection using Microsoft Kinect, I'm able to crop a part of RGB video and able to make a rectangle around the face in Skeleton View, but I'm not able to detect the RGB (normal image) of a face, in WPF. How can I accomplish this?

3
WPF has absolutely nothing to do with face detection. Have you tried anything at all? - Chris Eberle
@Chris I believe abcd just thought it would be useful to give us that piece of information - it does not imply he has not done anything yet. Of course, he should have posted some code... - Adam
@abcd Can you please share the code in which image detection is accomplished? thanks - Azeem

3 Answers

2
votes

Well the way that kinect identifies someone on the Xbox, is that it takes the different characteristics of a humans face (using depth images), for example I have a 1/2 inch nose, while you have a 3/8 inch nose. This is determined my the depth from certain parts of a person's face. The algorithm for calculating depth(V1.0) is:

DepthImageFrame depthFrame

short[] rawDepthData = new short[depthFrame.PixelDataLength];
depthFrame.CopyPixelDataTo(rawDepthData); 

int depth = rawDepthData[depthIndex] >> DepthImageFrame.PlayerIndexBitmaskWidth;

Then you can say things like:

if(depth > 500)
 {
      //do something
 }

See Channel 9 for more details on depth. Hope this helps!

0
votes

It's possible using WPF, I've used Skeleton's Head position and make a frame and then cut an image of that position from RGB frame and Paste it over there.. it's working by the way but need some improvements.. I'm trying to pass this image array to Neural network and then match it.. let's see how much i can do.

Thanks for u'r help any ways..