我想使用微软Kinect进行人脸检测,我已经能够裁剪RGB视频的一部分,并在Skeleton View中围绕脸部绘制一个矩形,但我无法在WPF中检测人脸的RGB(普通图像)。我该如何实现这个功能?
我想使用微软Kinect进行人脸检测,我已经能够裁剪RGB视频的一部分,并在Skeleton View中围绕脸部绘制一个矩形,但我无法在WPF中检测人脸的RGB(普通图像)。我该如何实现这个功能?
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
}
使用WPF是可能的,我已经使用了骨架头部位置并制作了一个框架,然后从RGB帧中剪切该位置的图像,并将其粘贴在那里...顺便说一句,它正在工作,但需要一些改进...我正在尝试将这个图像数组传递给神经网络,然后进行匹配...让我们看看我能做多少。
感谢您的帮助。