• 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实例的几种获取方法


    1、通过SenseManager的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文档在很多方面都缺少必要说明,而且样例代码的注释也少的可怜,可能也和得先有设备后才会去学习如何开发的原因有关,开源社区的资源也比较少。希望随着实感技术的推广,相关开发资源也越来越丰富吧。

  • 相关阅读:
    iOS开发tips-UITableView、UICollectionView行高/尺寸自适应
    10559
    日志系统之基于Zookeeper的分布式协同设计
    IOS 图片上传处理 图片压缩 图片处理
    istream, outstream使用及常见错误
    matlab 扩大虚拟内存
    github不小心同步覆盖了本地文件
    经典统计语言模型
    Makefile 快速入门
    word2vec——高效word特征提取
  • 原文地址:https://www.cnblogs.com/arthurymn/p/5625962.html
Copyright © 2020-2023  润新知