作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我在 XNA 中使用 Kinect (Microsoft SDK)。我想使用 GRATF 进行标记识别
如何将 Kinect ColorImageFrame
的数据转换为我可以处理的 System.Drawing.Bitmap
或 AForge.Imaging.UnmanagedImage
他们与 GRATF?
void kinectSensor_ColorFrameReady(object sender, ColorImageFrameReadyEventArgs e)
{
Bitmap bitmap = null;
ColorImageFrame frame = e.OpenColorImageFrame();
byte[] buffer = new byte[frame.PixelDataLength];
frame.CopyPixelData(buffer);
// how to convert the data in buffer to a bitmap?
var glyphs = recognizer.FindGlyphs(bitmap);
...
}
最佳答案
你可以找到答案in this article .
总而言之,这种方法应该可以解决问题:
Bitmap ImageToBitmap(ColorImageFrame img)
{
byte[] pixeldata = new byte[img.PixelDataLength];
img.CopyPixelDataTo(pixeldata);
Bitmap bmap = new Bitmap(img.Width, img.Height, PixelFormat.Format32bppRgb);
BitmapData bmapdata = bmap.LockBits(
new Rectangle(0, 0, img.Width, img.Height),
ImageLockMode.WriteOnly,
bmap.PixelFormat);
IntPtr ptr = bmapdata.Scan0;
Marshal.Copy(pixeldata, 0, ptr, img.PixelDataLength);
bmap.UnlockBits(bmapdata);
return bmap;
}
关于c# - 将 Kinect ColorImageFrame 转换为位图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10848190/
我在 XNA 中使用 Kinect (Microsoft SDK)。我想使用 GRATF 进行标记识别 如何将 Kinect ColorImageFrame 的数据转换为我可以处理的 System.D
我是一名优秀的程序员,十分优秀!