使用Kinect进行人脸检测

5

我想使用微软Kinect进行人脸检测,我已经能够裁剪RGB视频的一部分,并在Skeleton View中围绕脸部绘制一个矩形,但我无法在WPF中检测人脸的RGB(普通图像)。我该如何实现这个功能?


9
WPF 绝对与人脸检测无关。你试过任何东西吗? - Chris Eberle
2
@Chris 我相信abcd只是认为给我们那个信息会很有用 - 这并不意味着他还没有做任何事情。当然,他应该发布一些代码... - Adam
@abcd,你能分享一下实现图像检测的代码吗?谢谢。 - Azeem
3个回答


2

Kinect在Xbox上识别人的方式是,使用深度图像来捕捉人脸的不同特征,例如我的鼻子长1/2英寸,而你的鼻子长3/8英寸。这是通过测量人脸某些部位的深度来确定的。计算深度(V1.0)的算法如下:

DepthImageFrame depthFrame

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

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

那么你可以说这样的话:

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

希望这能帮到你:请参考Channel 9上有关深度数据更详细的内容。

0

使用WPF是可能的,我已经使用了骨架头部位置并制作了一个框架,然后从RGB帧中剪切该位置的图像,并将其粘贴在那里...顺便说一句,它正在工作,但需要一些改进...我正在尝试将这个图像数组传递给神经网络,然后进行匹配...让我们看看我能做多少。

感谢您的帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接