我正在尝试在不使用面部检测的情况下在头部周围使用 Microsoft Kinect 捕获图像。我设法捕捉到整个相机图像,但不仅仅是头部周围。我在互联网上找到了一些示例代码,但它似乎不适用于我的程序。在我的程序中使用 Microsoft SDK v1.6 和 Microsoft Visual Studio。谁可以帮我这个事?非常感谢XD
我尝试了 CroppedBitmap
CroppedBitmap croppedImage = new CroppedBitmap();
croppedImage.BeginInit();
croppedImage.Source = colorImageBitmap;
croppedImage.SourceRect = new Int32Rect((int)headPos.X, (int)headPos.Y, (int)imageHeight, (int)imageWidth);
croppedImage.EndInit();
headImage.Source = croppedImage;
还有 Kinect 裁剪图像编码,但我听说 SDKv.16 Kinect 裁剪图像中不再存在平面 图像
我也试过https://stackoverflow.com/questions/11435544/how-do-i-save-a-croppedbitmap-to-an-image-file,但我有 NullReferenceException 是未处理的错误。
双图像高度 = heightDiff * 1.2;
双图像宽度 = ((heightDiff * 1.2) / 2);
Int32Rect cropRect = new Int32Rect((int)headPos.X, (int)headPos.Y, (int)imageWidth, (int)imageHeight);
this.headImageBitmap = new WriteableBitmap(this.headImageBitmap.PixelWidth, this.headImageBitmap.PixelHeight, 96, 96, PixelFormats.Bgr32, null);
this.headImageBitmap.WritePixels(new Int32Rect((int)headPos.X, (int)headPos.Y, (int)imageWidth, (int)imageHeight), colorData, (int)imageWidth * colorFrame.BytesPerPixel, 0);
CroppedBitmap croppedImage = new CroppedBitmap(colorImageBitmap, cropRect);
headImage.Source = croppedImage;