英特尔® 实感™ 深度摄像头代码示例 – R200 摄像头数据流,英特尔r200
英特尔开发人员专区原文地址
下载源代码请访问原文地址:借助全新 MATLAB® 适配器代码示例读取英特尔®
实感™
摄像头数据流
原文地址
简介
该可下载代码示例展示了如何使用面向 Windows 的英特尔® 实感™ SDK*
捕捉和查看用 C#/XAML 编写的原始 R200 摄像头数据流。 Visual Studio*
解决方法实际上包含四个简单项目(均不到 200
行代码):
- ColorStream – 显示 RGB 摄像头的色彩数据流
- DepthStream – 显示深度数据流
- IRStreams – 显示左右 IR 摄像头数据流
- AllStreams – 在单个窗口中显示上述所有数据流(图 1)
图 1. 所有数据流代码示例
软件开发环境
该代码示例使用 Microsoft Visual Studio Community 2015 在 Windows® 10 RTM
上创建而成。 用于该示例的项目模板为 Visual C# – Windows –
Classic Desktop。
用于该项目的 SDK 和 DCM 版本分别为:
- 英特尔® 实感™ SDK
v6.0.21.6598 - 英特尔® 实感™ 景深摄像头管理器 R200 v2.0.3.39488
简介
硬件概览
为完成这项开发工作,我们使用了英特尔® 实感™ 开发人员套件
(R200),该套件包含摄像头、USB3
线缆,以及用于连接摄像头和笔记本电脑的磁吸附式支架。
图 2. 英特尔® 实感™ 开发人员套件 (R200)
运行 R200 代码示例时需满足以下硬件要求:
- 第四代英特尔® 酷睿™ 处理器或更高版本
- 150 MB 可用硬盘空间
- 4GB RAM
- 英特尔® 实感™ 摄像头 (R200)
- 面向 R200 摄像头(或专门用于连接集成摄像头)的可用 USB3 端口
重要说明: 要求 USB3 接口支持摄像头所需的带宽。
该接口必须连接至客户端系统的专用 USB3 端口(不使用集线器)。
该可下载代码示例简要介绍了如何使用英特尔® 实感™
SDK 和 MATLAB
的图像采集工具箱适配器套件在
MATLAB® 工作区获取英特尔®
实感™
摄像头(R200 和
F200)的原始摄像头数据流。
该示例代码支持 MATLAB 开发人员开发面向英特尔®
平台、并具备以下特性的英特尔® 实感™ 应用:
关于代码
Visual Studio 解决方案包含四个用 C# 语言开发的 WPF 项目。
这些项目使用至 libpxcclr.cs.dll (托管 DLL)的显式路径:
C:\Program Files (x86)\Intel\RSSDK\bin\x64
请注意,如果您采用的是不同的 SDK 安装路径,引用时需要进行更改。
由于我们引用 64 位版本的 DLL,因此您也必须确保在Project →
Properties → Platform target 设置下注明 “x64”。
如需构建并运行特定项目,请在 Solution Explorer 中右击项目名称(比如
AllStreams),然后在目录选项中选择 Set as StartUp Project。
CameraStreams 解决方案包含的所有项目均采用类似的结构:
- 配置会话和 SenseManager 界面。
- 启动名为 Update 的 worker 线程,AcquireFrame–ReleaseFrame
循环在该线程内处理。 - AcquireFrame–ReleaseFrame循环内进行着以下活动:
- 获取图像数据。
- 调用渲染方法来更新 UI。
- 释放资源。
- 释放帧。
- 渲染方法中所进行的活动包括:
- 调用 ConvertBitmap 方法将位图帧转换成 BitmapImage 类型,在 WPF
Image 控制中显示帧时需要进行此类转换。 - 通过将工作委托给与 UI 线程相关的派送程序来更新 UI。
- 调用 ConvertBitmap 方法将位图帧转换成 BitmapImage 类型,在 WPF
- ShutDown 方法在激发 Window_Closing 或 btnExit_Click
事件时调用。 ShutDown 方法中所进行的活动包括:- 停止 Update 线程。
- 处理对象。
- 多数据流同步。 同时获取颜色数据流和景深数据流(见图 1)。
- 多摄像头支持。 同时获取多个摄像头的原始数据流。
- 用户可调整属性。
该适配器支持包含特定于摄像头的不同属性的视频输入。
立即查看
请点击下载链接,了解与该示例相关的代码和实验。
图 1. MATLAB*
中的原始英特尔® 实感™ 摄像头 (F200) 颜色和景深数据流图。
摘要
本套代码示例针对巴西英特尔实感动手实验室创建,旨在帮助参与人员了解如何使用英特尔®
实感™ 软件开发套件。 12 个示例使用 C# SDK
包装程序,提供了简单的基于控制台的应用,支持显示从实感程序
(modality)(包括面部和手部追踪、语音识别)获取的信息。
此外,我们还提供了 2 个 WPF
应用,用于展示如何显示摄像头数据流以及如何实现背景移除。
关于英特尔® 实感™ 技术
如要开始使用,了解更多有关面向 Windows
的英特尔实感软件开发套件的信息,请访问:
英特尔开发人员专区原文地址
实感™ 深度摄像头代码示例 – R200
摄像头数据流,英特尔r200 英特尔开发人员专区原文地址 简介
该可下载代码示例展示了如何使用…
软件开发环境
简介
为帮助巴西动手实验做好准备,我们创建了 12
个代码示例,并提供了英特尔实感语音和摄像头功能的使用说明以及一些简单的示例。
代码带有注释(英文),可在全球的开发人员社区内免费共享。
我们使用 C#
实施了这些示例,它们基本是简单的控制台应用,显示了如何使用实感 SDK
功能。 代码使用英特尔实感软件开发套件 R2 (RSSDK) 进行测试。
我们希望这些资源能够对您有帮助;如果您有任何问题或需要帮助,请通过下方的评论部分提出。
该代码示例使用 Microsoft Visual Studio* 2013 在 Windows 8*
上创建而成。 本项目使用的 MATLAB 版本为 MATLAB R2015a。
运行示例的前提条件
- 英特尔®l 实感™
软件开发套件 SDK - 英特尔® 实感™ 3D
摄像头 (F200) - Microsoft* Visual Studio* 2010 或更高版本。
- 第四代智能英特尔® 酷睿™ 处理器或更高版本。
- Windows* 8.1 或更高版本,64 位将于八月更新。
本项目使用的 SDK 和景深摄像头管理器 (DCM) 版本分别为:
运行示例的前提条件
- 软件开发套件架构
- 编程指南
- 课程
- SenseManager
课程
- 英特尔实感 SDK V7.0.23.8048
- 英特尔实感景深摄像头管理器 F200 V1.4.27.41944
- 英特尔实感景深摄像头管理器 R200 V2.0.3.53109
可用示例
硬件概览
摄像头校准库
摄像头校准是一个库项目,可接收设备和程序,进行适当校准,改进某一模式(手部追踪)的摄像头识别质量。
我们使用了英特尔® 实感™ 开发人员套件
(F200)
和英特尔实感开发人员套件
(R200)。
参考链接:
- 针对不同模式的深入设置
关于代码
设备
设备示例支持设备枚举。 选择一台设备,获取可用数据流,并设置设备配置。
注意:该示例使用摄像头校准库配置设备。
该代码示例可内置于动态链接库 (DLL),从而通过英特尔实感 SDK 连接 MATLAB
图像采集工具箱™ 和英特尔实感摄像头。 图 2 所示为该适配器与 MATLAB
和英特尔实感摄像头之间的关系。 MATLAB 的图像采集工具箱™
是一种标准界面,可用于采集成像设备是图像和视频。
参考链接:
- I/O
设备操作 - 枚举设备
- 枚举数据流
- 枚举数据流配置
图 2. 适配器与 MATLAB
和英特尔® 实感™ 摄像头之间的关系。
情绪
情绪示例可列出使用 SenseManager 的情绪以及程序实施。
本示例能够查找所有的情绪数据,并将所有数据及其强度值打印。
我使用的 MATLAB 安装路径和 SDK 安装路径分别为 C:\MATLAB
和
C:\Program Files (x86)\Intel\RSSDK
。 请注意,如果 SDK 和 MATLAB
安装路径不同,需要更改包含目录和库目录。 还需要在包含 MATLAB
安装文件夹名称的系统变量中设置环境变量 MATLAB。
参考链接:
- 情绪检测
- 通过 SenseManager
的检测 - 强度及验证
- PXCMEmotion
用于放置整个代码示例 RealSenseImaq 的文件位置是
C:\My_Adaptor\RealSenseImaq
。 RealSenseImaq 解决方案位于该目录下方。
RealSenseImaq 解决方案实际上由两个项目组成:
包含回调的情绪
包含回调的情绪示例与情绪示例拥有相同的功能,但采用不同的实施方式。
它展示了如何使用 RSSDK 中的处理程序获取模块数据。
它使用情绪模块,但是也可以使用其他模块实施。
- imaqadaptorkit 是 MATLAB 提供的一个适配器套件项目,有助于轻松参考
MATLAB 中的一些适配器套件文件。
本项目的文件位置是:<your_matlab_installation_directory>\R2015a\toolbox\imaq\imaqadaptors\kit
- RealSenseImaq 是用于采集原始摄像头数据流的适配器项目。
可同时采集多个摄像头的颜色和景深数据。
它还能够支持包含不同属性(特定于摄像头)的视频输入。
参考链接:
- 包含回调的情绪检测
如何运行代码
面部
面部示例是能够实施 Face 模块的各种功能的示例。
它能够分别使用以下功能中列出的 PXCMFaceData 对象和流程信息:
如欲通过此代码示例构建 DLL:
参考链接:
- 通过 SenseManager
执行的面部 - 配置和数据
- 检测 — 显示检测出的面部的 X、Y 轴、宽度和高度;
- 文档位置
- 表情 — 显示检测出的面部的所有表情(逐个)及其强度
- 表情文档
- FaceExpression
模拟器
- 主要特征 — 显示检测出的面部的所有(最多 78 个)主要特征;
- 主要特征文档
- 姿势 — 显示检测出的头部的 X、Y、Z 轴欧拉角
- 姿势文档
- 首先以管理员身份运行 Microsoft Visual Studio,并打开 RealSenseImaq
解决方案。 必须确保在项目属性中的平台设置下方指定 “x64”。 - 如欲构建该代码示例,在解决方案浏览器中右击项目 RealSenseImaq
,然后从菜单选项以启动项的形式选择并构建。 - MATLAB 开发人员以及对源代码不感兴趣的用户可从
C:\My_Adaptor\RealSenseImaq\x64\Debug\
文件夹中查找预构建 DLL。
请注意,如果将代码示例放在不同的位置,需要更改 DLL 目录。
面部识别
面部识别示例能够检测面部,并确认用户是否已经注册。
当程序检测到没有注册的面部时,用户可以按空格键在数据库(在内存)中注册面部..
注册后,示例将显示所识别面部独特的标识符。
如欲将 DLL 寄存在 MATLAB 中:
参考链接:
- 面部识别文档
- 必须借助 Imaqregister 函数寄存 DLL,以将 DLL
的存在告知图像采集工具箱™ 软件。 可使用以下 MATLAB 代码来寄存 DLL:
手部
手部示例可追踪手部、手指和手势。
本示例可显示全部检测到的手及其位置(图片和真实世界)、手部两侧、关节和检测到的手势。
Imaqregister (‘<your_directory>\RealSenseImaq.dll’);
参考链接:
- 手势识别数据
- 手势互动指南
- 通过 SenseManager
执行的手部追踪 - 手部跟踪数据
- 关节类型
- 关节数据
- 启动 MATLAB,并调用 imaqhwinfo 函数。
此时您应该能看到,InstalledAdaptors 字段中已列出包含在适配器中的
RealSenseImaq 适配器。
对象追踪
对象追踪示例可使用英特尔实感软件开发套件检测 2D 对象。 它可使用 JPEG/PNG
标记,随着摄像头对对象的追踪来追踪 X、Y 和 Z 轴的位置。 注意:
本示例要求摄像头使用特定标记进行校准。
如欲在 MATLAB 中运行 DLL:
参考链接:
- 对象追踪文档
- 通过 SenseManager
执行的对象追踪 - Metaio
工具箱校准(说明)
我创建了 3 个 MATLAB 脚本,并将其放在代码示例目录
C:\My_Adaptor\RealSenseImaq\matlab
的下方。
划分 (Segmentation)
划分 (Segmentation) 示例使用 WPF 结构以 WPF
形式显示摄像头数据流,使用划分 (Segmentation) 功能移除图像背景。
如欲开始在 MATLAB 中运行 DLL,可使用以下脚本:
参考链接:
- 用户划分
- 访问图片和音频数据
- 从 ImageData
到位图
- MATLAB 脚本 “test1” 可用于在 MATLAB 中采集原始 F200 颜色数据流。
- 使用 MATLAB 脚本 “test2” 可同时采集英特尔实感摄像头 (F200)
的原始颜色和景深数据流(见图 1)。 - 您还可以使用该适配器调整特定于摄像头的属性,并检索属性的当前值。
例如,代码示例文件中的 MATLAB 脚本 “test3”
可用于检索色彩亮度的当前值,并对其进行调整。
语音识别
语音识别示例可展示如何使用两种语音识别模式: 口述或命令。
在口述模式中,它能够识别用户说出的所有词,并在屏幕上显示。
在命令模式中,程序可设置一个标准词典,用户每增加一个命令,它便在屏幕上进行显示。
- 语音识别文档
- 命令控制和口述
- 处理识别事件
- RecognitionData
对象
立即查看
语音合成
语音合成示例是英特尔实感软件开发套件文本到语音功能部署。
当一个句子进入档案后,它将会把句子转换为音频并进行播放。
点击下载链接,获取代码。
参考链接:
- 语音合成文档
- BuildSentence
- 获取音频文件
关于英特尔® 实感™ 技术
数据流
红外数据流视图(请注意背景中外部光线的影响。)
数据流示例使用 RSSDK 以 WPF 形式显示 Creative
摄像头数据流(色彩、深度和红外线)。
本示例可按照类型选择一条数据流,并显示带有选中摄像头数据流的窗口,在指定的
FPS 配置中逐帧更新图片。
参考链接:
- 启用数据流
- 捕获每个色彩或深度数据流
- 访问图片和音频数据
- 从 ImageData
到位图
如要开始使用,了解更多有关面向 Windows
的英特尔实感软件开发套件的信息,请访问:。
下载示例
如要想要尝试这些示例,了解更多有关如何使用英特尔实感软件开发套件的信息,请
点击此处下载代码. .
关于 MATLAB®
关于英特尔® 实感™ 技术
如要开始使用,了解更多有关面向 Windows
的英特尔实感软件开发套件的信息,请访问:https://software.intel.com/zh-cn/realsense/intel-realsense-sdk-for-windows。
MATLAB
是一种高级语言和交互式环境,可支持您探索和呈现各种创意,并进行跨学科协作。
如欲了解有关 MATLAB 的更多信息,请访问
关于作者
Jing Huang 是英特尔开发人员关系部门的软件应用工程师。
她目前专注于基于英特尔平台的英特尔实感 SDK
的应用性能,但她在视频与图像处理,以及计算机愿景方面拥有丰富的经验,大多应用于医疗成像应用和多摄像头应用,比如视频追踪和分类。