在Ubuntu系统中,OpenNI2是一个用于与3D传感器(如Primesense的Kinect)交互的开源开发框架。它提供了编程接口,使得开发者能够轻松地创建应用来处理来自这些设备的数据,例如深度图像和彩色图像。OpenNI2支持多种编程语言,包括C++和Python,使得跨平台开发成为可能。 在Ubuntu上安装OpenNI2,首先需要确保系统已经更新到最新版本,可以通过运行以下命令完成: ```bash sudo apt-get update sudo apt-get upgrade ``` 接下来,因为OpenNI2不在Ubuntu的默认软件源中,我们需要添加第三方仓库。可以使用以下步骤添加Primesense的官方仓库: 1. 创建一个包含仓库公钥的文件: ```bash wget -qO- https://repository.primesense.org/debian/repo.key | sudo apt-key add - ``` 2. 创建一个新的`sources.list.d`文件并添加仓库信息: ```bash echo "deb http://repository.primesense.org/debian wheezy main" | sudo tee /etc/apt/sources.list.d/primesense.list ``` 请注意,这里的`wheezy`是针对旧版本的Ubuntu,如果使用的是新版本,请将它替换为对应版本的代号,如`bionic`或`focal`。 3. 更新软件源列表: ```bash sudo apt-get update ``` 4. 安装OpenNI2及相关依赖: ```bash sudo apt-get install openni2 openni2-primesense ``` 安装完成后,你可以通过运行示例程序来测试OpenNI2是否正确安装。例如,你可以尝试`NiViewer`,这是一个简单的可视化工具,可以显示来自OpenNI2设备的深度和彩色图像: ```bash sudo apt-get install openni2-tools openni2-launch ``` 如果一切正常,你应该能看到一个显示来自Kinect的实时深度图和彩色图像的窗口。 开发过程中,OpenNI2提供了一些关键的API概念,如`Context`、`Node`、`Generator`和`Sensor`。`Context`是所有OpenNI2操作的基础,它负责管理设备和数据流。`Node`代表了OpenNI2中的任何实体,而`Generator`是能够生成数据的节点,如深度和色彩图像。`Sensor`是连接到特定物理传感器的抽象层。 要编写自己的OpenNI2应用,你需要包含必要的头文件,并使用OpenNI2的API来初始化上下文、查找和连接设备、创建数据流等。以下是一个简单的C++示例,展示了如何初始化OpenNI2并打开一个设备: ```cpp #include int main() { openni::Status rc = openni::OpenNI::initialize(); if (rc != openni::STATUS_OK) { printf("Initialize failed\n%s\n", openni::OpenNI::getExtendedError()); return 1; } openni::Device device; rc = device.open(openni::ANY_DEVICE); if (rc != openni::STATUS_OK) { printf("Device open failed\n%s\n", openni::OpenNI::getExtendedError()); return 1; } // 之后可以进行更多配置和数据读取操作 device.close(); openni::OpenNI::shutdown(); return 0; } ``` 在实际应用中,你可能还需要处理错误、选择特定的传感器、设置帧率、注册回调函数来处理数据等。 OpenNI2为开发者提供了一个强大且灵活的框架,用于在Ubuntu上与3D传感器进行交互,它简化了设备的连接、数据获取和处理流程,促进了各种应用的开发,如机器人导航、3D建模和手势识别。
2025-05-12 18:20:38 19.78MB openni2
1
内包含关于奥比中光(Astra)相关sdk,驱动,实例及说明,还有niviewer,OrbbecViewer,amcap工具,避免小白走弯路。
2022-11-15 09:46:32 178.92MB Astra sdk tool
1
OpenNI(开放自然交互)是一个多语言,跨平台的框架,它定义了编写应用程序,并利用其自然交互的API。OpenNI API由一组可用来编写通用自然交互应用的接口组成。OpenNI的主要目的是要形成一个标准的API,来搭建视觉和音频传感器与视觉和音频感知中间件通信的桥梁。
2022-04-12 17:04:40 211.64MB 交互 音视频 中间件 服务器
1
优化过的OPENNI2,用于实现深度图和彩色图对齐.具体可参考blog http://blog.csdn.net/janestar/article/details/38824375 相关内容
2022-03-17 13:59:05 83KB OPENNI2 Kinect.dll
1
OpenNI2.0的 API 官方说明文档,简单详细,仅供学习使用!
2021-08-15 02:50:25 387KB OpenNI2.0 IT 视觉
1
这是64位的OPENNI2,希望能对大家有所帮助。
2021-05-15 11:50:25 8.14MB OPENNI2
1
OpenNI-Windows-x86-2.2.msi,实测可用
2021-05-07 09:11:16 8.52MB OPENNI2
1
OpenNI2提供的类进行详细描述,详述了OpenNI2与OpenNI1.5的区别。
2021-05-06 23:02:42 140KB OPENNI2 教程 指导
1
由于上传文件限制60MB,故分为两卷.最近在学习kinect。找nite2位找了好久。 本文件是64位nite2。分享给大家
2021-04-19 15:22:30 55.00MB NITE2 openni2
1
OpenNI-Windows-x86-2.1.0.msi下载
2019-12-21 20:18:04 7.64MB OpenNI2.1
1