10

我目前正在学习计算机视觉课程,在我的期末项目中,我将制作一个与 Kinect 交互的小游戏。

现在我想用 Java 制作这个游戏,因为我以前从未真正尝试过制作游戏,而且我对这种语言非常熟悉。但我似乎无法找到一种方法来访问深度数据(我只需要将它打包到一些 Java 数据结构中)和 RGB 数据(相同的想法)。

现在,我有办法与 Kinect 进行“对话”。我按照glview教程进行操作,可以使用终端中的命令检测 kinect 。

我有一个叫做Processing的东西,它承诺是一个 Java 库,让我可以使用 Kinect,但它使用的是它自己的语言,它是使用 Java“构建”的,所以它不是真正的 Java,这意味着我不能使用所有的 GUI 和正常Java 功能。

我想做的是以某种方式import random.Kinect.code;在 Java 程序的顶部调用一些,让我使用最基本的 Kinect 功能,如 getDepth() 或 getRGB() 并在 Java 中执行其他所有操作。

有谁知道我可以做到这一点的方法吗?(顺便说一句,我正在运行 MAC OSX Lion)

4

3 回答 3

7

如果您正在使用处理,我建议使用可用的包装器之一:

两者都有很好的文档记录,并包含大量有用的示例。

simpleOpenNI 示例

于 2012-07-20T10:00:05.140 回答
2

我有完全相同的问题。我想在 Java 中使用 Kinect 进行计算机视觉研究,并且我有一个像你一样的 Mac OSX Lion。我找到的解决方案是在我的 Mac 中运行 Windows 7 的虚拟副本(使用 VMWare 或 Parallels 或 Microsoft HyperV),然后使用开源 J4K Java for Kinect 库,这是使用 Java 的 Kinect SDK 的 Java 绑定本机接口 (JNI)。当然,您也可以直接在运行 Windows 的计算机中使用这个开源库。

Kinect 的 J4K Java 库还有一个关于如何用 10 行 Java 代码编写基于 kinect 的应用程序的教程。

还有几个源代码示例向您展示如何从 Kinect 读取深度、视频和骨架数据并在 Java 类中使用它们。您还可以使用多个 Kinect、动画化身和其他示例。源代码示例的链接在这里

下面是开源 Kinect 查看器的屏幕截图,它对像您这样的计算机视觉应用程序很有用:在此处输入图像描述

我希望这些信息有所帮助。

于 2013-10-24T01:23:33.850 回答
1

我会给你一些想法,但我承认 - 我没有用 Kinect 尝试过。
您的问题可以归类为“如何通过 Java 访问某些硬件”的问题。您向我们展示的教程介绍了用于访问 Kinect 的库,甚至是 Python 的包装器。
您可以做的是查看 Python 代码如何实现包装器,并使用 JNI/JNA 构建您自己的包装器。
此外,我查看了@npinti发布的另一个答案中提到的JNect项目。
eclipse 插件有两部分 -
JNI 代码,它包装了原始 SDK 代码,以及 eclipse 插件本身的 Ecipse RCP 代码。
我建议您忽略 Eclipse RCP 部分,并专注于他们的 JNI 实现,作为您开发自己的 JNI 包装器所需的参考。
即使这是基于 Windows 的实现(例如 - Kinect SDK 在 Windows 上工作,并且您需要在 Mac 上运行代码) - 我认为通过阅读他们的代码 + 一些 JNI 教程 + 链接中的 python 包装器您提供的内容将了解如何为您提供的链接中提供的库创建 JNI 包装器。
此外,考虑使用JNA而不是 JNI 作为与硬件通信的一种方式,我发现它更容易。
最后一个选择可能是使用Java Script Engine并从您的 java vode 调用 Python 代码(python 包装器) - 不确定它会对您有多大帮助,但您可以试一试。

于 2012-07-20T08:40:04.533 回答