赤、緑、青のカラーストリームをMicrosoft Kinectカラーカメラビデオストリームから分離したい。これまでは、カラービデオストリームを受け取るために、Kinect for Windows SDK 2.0で提供されているサンプルコードを使用しました。Microsoft Kinectカラーカメラビデオストリームから別の赤色カラーストリーム
カラーフレームのイベントハンドラは、新しいフレームを受信するたびにフレームをWriteableBitmapオブジェクトに書き込みます。赤いカラーストリームをカラーフレームから分離してからWriteableBitmapオブジェクトにコピーするにはどうすればよいですか?
private void Reader_ColorFrameArrived(object sender, ColorFrameArrivedEventArgs e)
{
// ColorFrame is IDisposable
using (ColorFrame colorFrame = e.FrameReference.AcquireFrame())
{
if (colorFrame != null)
{
FrameDescription colorFrameDescription = colorFrame.FrameDescription;
using (KinectBuffer colorBuffer = colorFrame.LockRawImageBuffer())
{
this.colorBitmap.Lock();
// verify data and write the new color frame data to the display bitmap
if ((colorFrameDescription.Width == this.colorBitmap.PixelWidth) && (colorFrameDescription.Height == this.colorBitmap.PixelHeight))
{
colorFrame.CopyConvertedFrameDataToIntPtr(
this.colorBitmap.BackBuffer,
(uint)(colorFrameDescription.Width * colorFrameDescription.Height * 4),
ColorImageFormat.Bgra);
this.colorBitmap.AddDirtyRect(new Int32Rect(0, 0, this.colorBitmap.PixelWidth, this.colorBitmap.PixelHeight));
}
this.colorBitmap.Unlock();
}
}
}
}
デイリー.NETのヒントは、この程度articleを持っていますが、彼らはここに示したコードは、十分に明確ではありません。 Thisは私が必要とする結果です(Daily .NETのヒントもその記事で紹介しています)。
助けてください。
データをバイト単位で保存するにはどうすればよいですか? – misfitmaniac
私はこのLOCをいくつかのポストで見ましたが、これはWriteableBitmapオブジェクトのみです。 バイトマップオブジェクトに書き込む前に、Kinectのフレームデータをバイト単位で保存して処理したいとします。 – misfitmaniac