顔検出を使用せずに、頭の周りで 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 Crop Image のコーディングも行っていますが、SDKv.16 Kinect のクロップ イメージには平面イメージが存在しないと聞きました。
https://stackoverflow.com/questions/11435544/how-do-i-save-a-croppedbitmap-to-an-image-fileも試しましたが、 NullReferenceException was unhandled エラーが発生しています。
double imageHeight = heightDiff * 1.2;
double imageWidth = ((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;