将 Kinect ColorImageFrame 转换为位图

2024-03-09

我将 Kinect (Microsoft SDK) 与 XNA 结合使用。我想使用 GRATF 进行标记识别

如何转换 Kinect 的数据ColorImageFrame to a System.Drawing.Bitmap or 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);

    ...
}

你可以找到答案在本文中 http://www.i-programmer.info/ebooks/practical-windows-kinect-in-c/3725-getting-started-with-windows-kinect-sdk-10.html?start=2.
总结一下,这个方法应该可以解决问题:

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;
 }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 Kinect ColorImageFrame 转换为位图 的相关文章

随机推荐

  • Android SQLite 中的多线程怎么样?

    在我的应用程序中 我必须实现一些 UI 和同步服务 它在后台运行并更新数据 同步服务并不是很简单 它使用了多线程 所以 这是我的故事 当我开始开发这个应用程序时 我对sqlite一无所知 所以我只是没有在Java中使用任何线程同步 结果 我
  • Qt 我可以在构造函数中将信号/槽连接到自身吗?

    编辑 与信号 插槽 连接无关 问题是构造函数调用构造函数 可能有更好的方法来做到这一点 我有兴趣听到这些 我有从 QLabel 派生的 MyClass 我想在信号中传递更多有关派生类的数据 而不是基本信号的数据 因此 我创建了一个插槽来拦截
  • 元音计数顺序

    这不是一个家庭作业问题 而是一个考试准备问题 我应该定义一个函数syllables word 计算音节数 一句话如下 元音的最大序列是一个音节 最终e在一个单词中不是一个音节 或者它是元音序列的一部分 的 我不必处理任何特殊情况 例如最终的
  • SQL - 将每个单词的第一个字母大写

    我知道这个线程到处都存在 但是 这是一个略有不同的情况 在我公司使用的套件中 我对 SQL 的访问权限有限 无法运行具有函数等的复杂代码 我有一个 SQL 查询 将多个列上的数据编译为一列 并使用 group by 子句来消除多重性 然而
  • TSQL RIGHT 字符串函数不起作用

    我无法理解为什么正确的功能不适合我 我试图在这里容纳尽可能多的输出 如果阅读起来令人困惑 我深表歉意 DECLARE Nbr VARCHAR 27 SELECT Nbr xmz nbr FROM xml temp AS xmz SELECT
  • 要显示此页面,Firefox 必须发送将重复之前执行的任何操作(例如搜索或订单确认)的信息

    嘿 我收到了 Firefox 的确认 To display this page Firefox must send information that will repeat any action such as a search or or
  • Cargo 是否可以在不构建应用程序的情况下下载并构建依赖项?

    有没有办法告诉Cargo http doc crates io guide html安装和构建我的所有依赖项 但不尝试构建我的应用程序 我想cargo install会这样做 但实际上它也一直用于构建我的应用程序 我想要达到一个状态carg
  • 如何从 Google Assistant 接收答案作为字符串,而不是音频流

    我正在使用 Assistant SDK 中的 python 库通过 gRPC 进行语音识别 我已识别语音并以调用该方法的字符串形式返回resp result spoken request text from googlesamples as
  • 检测 Skype 是否处于“紧凑视图”或“默认视图”

    我的应用程序的运行方式由 Skype 的视图模式决定 因为我的应用程序正在寻找类窗口TConversationWindow 如果在默认视图中 它是tSkMainForm 如果在紧凑视图中 它不是tSkMainForm 这是我尝试做的 Fun
  • 尝试将 std::pair 插入 std::set

    我无法理解这段代码中的错误是什么 include
  • 我应该将哪个会话库与 CodeIgniter 一起使用?

    我最近开始使用 CI 及其 CI 会话 但我注意到 使用 CI 会话比使用基本 PHP 会话特别耗时得多 Arrays 我有一组数据 无论登录 注销如何 它都会持续存在 称为 SESSION stats 然后我以以下形式将数据存储在该数组中
  • 如何禁用 RabbitMQ 默认 tcp 监听端口 - 5672

    我已经配置了RabbitMQrabbitmq config具有新端口号的文件 即带有 SSL 的 5671 现在我想禁用默认端口 即 5672 配置文件如下 rabbit ssl listeners 5671 ssl options cac
  • C++ 相当于指定初始化器?

    最近我一直在研究一些嵌入式设备 其中我们有一些结构体和联合体需要在编译时初始化 以便我们可以将某些不需要修改的东西保留在闪存或ROM中 并节省一点闪存或 SRAM 但会牺牲一点性能 目前 该代码编译为有效的 C99 但如果没有这种调整 它也
  • Prolog 中的条件编写

    I have Prolog包含飞机时刻表的数据库 它看起来是这样的 fly id from to days 1 0 1 0 1 0 1 正如你所看到的 有 7 个值days谓词 从星期一到星期日 我想做的是每天打印 价值所在1 但将其打印为
  • Win32:Watson 博士的完整/迷你转储和我自己编写的转储之间有区别吗?

    我有一个应用程序在发布版本中偶尔会崩溃 不幸的是 看起来它在第 3 方 DLL 中崩溃了 在试图掌握它的过程中 我一直在如何操作和 Windows 如何创建故障转储的描述的海洋中游泳 我正在考虑使用这个建议的小型转储 获取启动时崩溃的进程的
  • 具有相同擦除的两种方法不需要覆盖等效(或者它们的签名不是它们之间的子签名)?

    我正在阅读关于 jdk6 的令人难以置信的书 java scjp 认证程序员指南 其中有一个关于泛型覆盖的部分 它描述了子签名和覆盖等效项 并描述了我引用的一些覆盖等效项的示例 给定类中的以下三个泛型方法声明 static
  • 无法保存 applicationHost.config 文件

    我无法保存 applicationHost config 文件 当我停止 IIS 服务并关闭 Visual Studio 时 它显示 保存失败 它在另一个程序中打开 知道吗 如果您使用 64 位架构并尝试使用 32 位编辑器 例如 Note
  • 将背景图像添加到各个片段

    我有一个应用程序有多个fragments我想知道如何添加每个不同的背景fragment 我使用的布局有可滚动选项卡 它们都使用相同的 xml 文件 我也有一个MainActivity设置视图和adapter对于每个fragment 我知道你
  • 将 ActiveRecord 验证错误转换为 API 可使用错误

    我正在 Rails 4 中编写一个非常标准的 CRUD RESTful API 不过 我在错误处理方面有所欠缺 假设我有以下模型 class Book lt ActiveRecord Base validates title presenc
  • 将 Kinect ColorImageFrame 转换为位图

    我将 Kinect Microsoft SDK 与 XNA 结合使用 我想使用 GRATF 进行标记识别 如何转换 Kinect 的数据ColorImageFrame to a System Drawing Bitmap or AForge