RealSense开发-Session和SenseManager的几种创建方法
从Intel RealSense 的SDK文档对其架构(如图1所示)的始描述可知,Session是SDK应用的主控模块,必须在所有模块操作之前创建,并且在所有模块注销后最后注销。SenseManager是所有与视频相关的预定义模块的主要接口,也是操作摄像头进行视频处理时使用最频繁的接口之一。那么应该如何创建Session以及SenseManager的实例呢?根据架构Session和SenseManager的关系理解,肯定是先创建Session,然后再Session基础上再创建SenseManager。然而阅读SDK的实例代码可以发现,经常会出现SenseManager用静态方法CreateInstance来直接创建实例,而且还可以根据SenseManager来获取Session的实例,也可以先创建Session实例再创建SenseManager,几种方式有静态方法、属性、成员函数,把小伙伴们都绕晕了。

图1 RealSense SDK接口架构
现在来简单总结一下目前学习过程中发现的几种获取两者实例的方法。
Session实例的几种获取方法
PXCMSenseManager sm = PXCMSenseManager.CreateInstance();
PXCMSession session = sm.session;
2、通过SenseManager的成员函数QuerySession获得:
PXCMSenseManager sm = PXCMSenseManager.CreateInstance();
PXCMSession session = sm.QuerySession();
3、通过Session的静态方法CreateInstance创建实例:
PXCMSession session = PXCMSession.CreateInstance();
SenseManager实例的几种获取方法
1、通过SenseManager的静态方法CreateInstance创建实例:
PXCMSenseManager sm = PXCMSenseManager.CreateInstance();
2、通过Session的成员函数CreateSenseManager创建实例:
PXCMSession session = PXCMSession.CreateInstance();
PXCMSenseManager sm = session.CreateSenseManager();
RealSense的架构严谨,命名规范,但是SDK文档在很多方面都缺少必要说明,而且样例代码的注释也少的可怜,可能也和得先有设备后才会去学习如何开发的原因有关,开源社区的资源也比较少。希望随着实感技术的推广,相关开发资源也越来越丰富吧。
RealSense开发-Session和SenseManager的几种创建方法的更多相关文章
- 在Android开发中,定时执行任务的3种实现方法
在Android开发中,定时执行任务的3种实现方法: 一.采用Handler与线程的sleep(long)方法(不建议使用,Java的实现方式)二.采用Handler的postDelayed(Runn ...
- pandas-01 Series()的几种创建方法
pandas-01 Series()的几种创建方法 pandas.Series()的几种创建方法. import numpy as np import pandas as pd # 使用一个列表生成一 ...
- 第七篇T语言实例开发,文本与程序的几种打开方法(版5.3)
文本与程序的几种打开方法 文本文件的打开方法 函数名: cmd 命令 函数描述: 执行CMD命令 函数原型: cmd(cmdstr) 命令(cmd命令) 函数参数: cmdstr:cmd命令,此处执行 ...
- Android开发 ---Button的OnClickListener的三种实现方法
button的OnClickListener的三种实现方法 onclick事件的定义方法,分为三种,分别为 1.在xml中进行指定方法: 2.在Actitivy中new出一个OnClickListen ...
- 【iOS开发-30】UITabBarController的几种代理方法以及结合NSUserDefaults还原上次退出时被选中视图控制器和视图控制器的顺序
一.UITabBarController的几种代理方法 在AppDelegate.h中加入一个协议<UITabBarControllerDelegate>.然后再AppDelegate.m ...
- OpenCV基本图像容器Mat的几种创建方法
參考文章:http://www.cnblogs.com/tornadomeet/archive/2012/07/19/2599376.html 实验说明: (引用) 本文主要讲一些opencv 2.0 ...
- iOS开发控制器之间传值的几种小方法
在IOS开发中或面试中,经常会遇到,两个或者多个控制器之间传值的问题 ,总结的集中方法仅供参考! 问题 :将B控制器中的textField 输入内容,传到A控制器中的label上显示出来,如何传值? ...
- 【学习笔记】【Javaweb】二、Session对象过期时间三种设置方法、Session失效监听器
一.前言 本文:https://www.cnblogs.com/Twobox/p/10361712.html 参考:https://www.cnblogs.com/diewufeixian/p/422 ...
- JavaWeb关于session生命周期的几种设置方法
一般session的生命周期都是建立在用户登录系统后对用户信息进行一个记录,session类似于你有一张银行卡,而卡里的钱就是属于session存储的信息,卡掉了就不能取出里面的钱. 以前sessio ...
随机推荐
- JSP基本语法小结
jsp表达式:<%=???%> 在jsp页面嵌入java代码<%Java代码%>可以用多个<% %>分割代码段 jsp声明:<%!用这样的方法可以声明java ...
- 【git常见问题】fatal: Not a valid object name: 'master'.
创建本地分支:git branch dev 报错:fatal: Not a valid object name: 'master'. 原因: 问题描述-一个非法的master,原因:本地还没有创建ma ...
- PHP设计模式之:单例模式
前 些日子开始着真正的去了解下设计模式,开始么,简单地从单例模式开始,当然网上看了一些资料,单例模式比较好理解,看看介绍,然后看看代码基本也就能够理 解了,设计模式这些的花点心思基本的是能够理 ...
- Centos下设置VNC为3389端口
1.安装vnc yum install vnc vnc-server yum install vnc vnc-server 2.修改vnc端口,修改/usr/bin/vncserver ,把5900变 ...
- Coursera台大机器学习课程笔记7 -- Noise and Error
本章重点: 简单的论证了即使有Noise,机器依然可以学习,VC Dimension对泛化依然起作用:介绍了一些评价Model效果的Error Measurement方法. 一论证即使有Noisy, ...
- Ubuntu14.04台式机r8169有线网卡驱动问题
由于台式在安装了Ubuntu14.04后插入网线后灯不亮,不能使用有线网. 查找资料发现原来是网卡驱动问题,解决办法如下: 1.查看网卡驱动名称 lspci -v 找到以太网连接的kernel dri ...
- SQL Server 2008连接字符串写法大全
一..NET Framework Data Provider for SQL Server 类型:.NET Framework类库使用:System.Data.SqlClient.SqlConnect ...
- Qt qml treeview 树控件
qml并没有提供树控件,只能自己写了.model仍然用ListModel对象,弄成层级的就行.delegate必须用loader动态的增加子控件,如此而已. [先看效果] [下载] http://do ...
- ASP.NET 发布到IIS后支撑woff 的解决方案
<system.webServer> <staticContent> <remove fileExtension=".woff" ...
- XML转换JSON的工具使用方法
1.xml的文件,文件的内容如下: <?xml version="1.0" encoding="UTF-8" standalone="yes&q ...