C++ API参考

using SendFileCallback = std::function<void(OBFileTranState state, const char *message, uint8_t percent)>

文件传输回调

Param state

文件传输状态

Param message

状态信息

using DeviceUpgradeCallback = std::function<void(OBUpgradeState state, const char *message, uint8_t percent)>

设备升级回调

Param state

升级状态

Param message

状态信息

using DeviceStateChangedCallback = std::function<void(OBDeviceState state, const char *message)>

设备状态回调

Param state

设备状态

Param message

状态信息

using GetDataCallback = std::function<void(OBDataTranState state, OBDataChunk *dataChunk)>

获取raw data属性数据时数据及进度回调

Param dataChunk

数据块

Param state

获取数据状态

using SetDataCallback = std::function<void(OBDataTranState state, uint8_t percent)>

设置raw data属性数据时进度回调

Param percent

进度百分比

Param state

设置数据状态

namespace ob

Typedefs

typedef std::function<void(std::shared_ptr<Frame>)> FilterCallback
typedef std::function<void(std::shared_ptr<FrameSet> frame)> FrameSetCallback
using PlaybackCallback = std::function<void(std::shared_ptr<Frame> frame, void *pCookies)>
using MediaStateCallback = std::function<void(OBMediaState state)>
using FrameCallback = std::function<void(std::shared_ptr<Frame> frame)>

帧数据回调

Param frame

帧数据

class AccelFrame : public ob::Frame

Public Functions

OBAccelValue value()

获取加速度帧X数据

返回

OBAccelValue

float temperature()

获取帧采样时的温度

返回

float 温度值

class AccelStreamProfile : public ob::StreamProfile

Public Functions

OBAccelFullScaleRange fullScaleRange()

获取满量程范围

返回

OBAccelFullScaleRange 返回量程范围值

OBAccelSampleRate sampleRate()

获取采样频率

返回

OBAccelFullScaleRange 返回采样频率

class CameraParamList

Public Functions

uint32_t count()

相机参数组数

返回

uint32_t 返回相机参数组数

OBCameraParam getCameraParam(uint32_t index)

获取相机参数

参数

index – 参数索引

返回

OBCameraParam 返回对应组参数

class ColorFrame : public ob::VideoFrame
class Config

Public Functions

void enableStream(std::shared_ptr<StreamProfile> streamProfile)

设置要打开的流配置

参数

streamProfile – 流的配置

void enableAllStream()

设置打开所有的流

void disableStream(OBStreamType streamType)

设置要关闭的流配置

参数

streamType – 流的配置

void disableAllStream()

设置关闭所有的流

void setAlignMode(OBAlignMode mode)

设置对齐模式

参数

mode – 对齐状态模式

class Context

Public Functions

Context(const char *configPath = "")

context是描述SDK的runtime一个管理类,负责SDK的资源申请与释放 context具备多设备的管理能力,负责枚举设备,监听设备回调,启用多设备同步等功能

std::shared_ptr<DeviceList> queryDeviceList()

获取枚举到设备列表

返回

std::shared_ptr<DeviceList>返回设备列表类的指针

void setDeviceChangedCallback(DeviceChangedCallback callback)

设置设备插拔回调函数

参数

callback – 设备插拔时触发的回调函数

void enableMultiDeviceSync(uint64_t repeatInterval)

启动多设备同步功能,同步已创建设备的时钟(需要使用的设备支持该功能)

参数

repeatInterval – 定时同步时间间隔(单位ms;如果repeatInterval=0,表示只同步一次,不再定时执行)

Public Static Functions

static void setLoggerSeverity(OBLogSeverity severity)

设置全局日志的等级,会同时作用于输出到终端和输出到文件的日志等级

参数

severity – 日志输出等级

static void setLoggerToFile(OBLogSeverity severity, const char *directory)

设置日志输出到文件

参数
  • severity – 输出到文件的日志等级

  • directory – 日志文件输出路径,如果路径为空,则继续使用已有设置(已有配置也为空则不输出日志到文件)

static void setLoggerToConsole(OBLogSeverity severity)

设置日志输出到终端

参数

severity – 输出到终端的日志等级

class DepthFrame : public ob::VideoFrame

Public Functions

float getValueScale()

获取深度帧的值刻度,单位为 mm/step, 如valueScale=0.1, 某坐标像素值为pixelValue=10000, 则表示深度值value = pixelValue*valueScale = 10000*0.1=1000mm。

返回

float

class Device

Public Functions

Device(std::unique_ptr<DeviceImpl> impl)

描述RGBD相机的实体,代表一个具体型号的RGBD相机

std::shared_ptr<DeviceInfo> getDeviceInfo()

获取设备信息

返回

std::shared_ptr<DeviceInfo> 返回设备的信息

std::shared_ptr<SensorList> getSensorList()

获取设备传感器列表

返回

std::shared_ptr<SensorList> 返回传感器列表

std::shared_ptr<Sensor> getSensor(OBSensorType type)

获取指定类型传感器 如果设备没有打开传感器,在SDK内部会自动打开设备并返回实例

返回

std::shared_ptr<Sensor> 返回传感器示例,如果设备没有该设备,返回nullptr

void setIntProperty(OBPropertyID propertyId, int32_t property)

设置int类型的设备属性

参数
  • propertyId – 属性id

  • property – 要设置的属性

void setFloatProperty(OBPropertyID propertyId, float property)

设置float类型的设备属性

参数
  • propertyId – 属性id

  • property – 要设置的属性

void setBoolProperty(OBPropertyID propertyId, bool property)

设置bool类型的设备属性

参数
  • propertyId – 属性id

  • property – 要设置的属性

int32_t getIntProperty(OBPropertyID propertyId)

获取int类型的设备属性

参数

propertyId – 属性id

返回

int32_t 获取的属性数据

float getFloatProperty(OBPropertyID propertyId)

获取float类型的设备属性

参数

propertyId – 属性id

返回

float 获取的属性数据

bool getBoolProperty(OBPropertyID propertyId)

获取bool类型的设备属性

参数

propertyId – 属性id

返回

bool 获取的属性数据

OBIntPropertyRange getIntPropertyRange(OBPropertyID propertyId)

获取int类型的设备属性的范围(包括当前值和默认值)

参数

propertyId – 属性id

返回

OBIntPropertyRange 属性的范围

OBFloatPropertyRange getFloatPropertyRange(OBPropertyID propertyId)

获取float类型的设备属性的范围(包括当前值和默认值)

参数

propertyId – 属性id

返回

OBFloatPropertyRange 属性的范围

OBBoolPropertyRange getBoolPropertyRange(OBPropertyID propertyId)

获取bool类型的设备属性的范围(包括当前值和默认值)

参数

propertyId – 属性id

返回

OBBoolPropertyRange 属性的范围

void writeAHB(uint32_t reg, uint32_t mask, uint32_t value)

AHB写寄存器

参数
  • reg – 要写入的寄存器

  • mask – 要写入的掩码

  • value – 要写入的值

void readAHB(uint32_t reg, uint32_t mask, uint32_t *value)

AHB读寄存器

参数
  • reg – 要读取的寄存器

  • mask – 要读取的掩码

  • value – 读取的值返回

void writeI2C(uint32_t moduleId, uint32_t reg, uint32_t mask, uint32_t value)

I2C写寄存器

参数
  • reg – 要写入的I2C模块ID

  • reg – 要写入的寄存器

  • mask – 要写入的掩码

  • value – 要写入的值

void readI2C(uint32_t moduleId, uint32_t reg, uint32_t mask, uint32_t *value)

I2C读寄存器

参数
  • reg – 要读取的I2C模块ID

  • reg – 要读取的寄存器

  • mask – 要读取的掩码

  • value – 读取的值返回

void writeFlash(uint32_t offset, const void *data, uint32_t dataSize, SetDataCallback callback, bool async = false)

设置写入Flash的属性

参数
  • offset – flash 偏移地址

  • data – 要写入的属性数据

  • dataSize – 要写入的属性大小

  • callback – 写flash进度回调

  • async – 是否异步执行

void readFlash(uint32_t offset, uint32_t dataSize, GetDataCallback callback, bool async = false)

读取Flash的属性

参数
  • offset – flash 偏移地址

  • data – 读取的属性数据

  • dataSize – 获取的属性大小

  • callback – 读flash返回的数据及进度回调

  • async – 是否异步执行

void setRawData(OBPropertyID propertyId, const void *data, uint32_t dataSize, SetDataCallback callback, bool async = false)

设置raw data类型的设备属性数据[异步回调]

参数
  • propertyId – 属性id

  • data – 要设置的属性数据

  • dataSize – 要设置的属性数据大小

  • callback – rawdata设置进度回调

  • async – 是否异步执行

void getRawData(OBPropertyID propertyId, GetDataCallback callback, bool async = false)

获取raw data类型的设备属性数据[异步回调]

参数
  • propertyId – 属性id

  • data – 获取的属性数据

  • dataSize – 获取的属性大小

  • callback – 获取返回的数据及进度回调

  • async – 是否异步执行

void setStructuredData(OBPropertyID propertyId, const void *data, uint32_t dataSize)

设置structured data类型的设备属性

参数
  • propertyId – 属性id

  • data – 要设置的属性数据

  • dataSize – 要设置的属性大小

void getStructuredData(OBPropertyID propertyId, void *data, uint32_t *dataSize)

获取structured data类型的设备属性

参数
  • propertyId – 属性id

  • data – 获取的属性数据

  • dataSize – 获取的属性大小

uint32_t getSupportedPropertyCount()

获取设备支持的属性的数量

返回

uint32_t 返回支持的属性的数量

OBPropertyItem getSupportedProperty(uint32_t index)

获取设备支持的属性

参数

uint32_t – 属性的index

返回

OBPropertyItem 返回支持的属性的类型

bool isPropertySupported(OBPropertyID propertyId, OBPermissionType permission)

判断属性权限支持情况

参数
  • propertyId – 属性id

  • permission – 需要判读的读写权限类型

返回

bool 返回是否支持

uint64_t syncDeviceTime()

同步设备时间(向设备授时,同步本地系统时间到设备)

void deviceUpgrade(const char *filePath, DeviceUpgradeCallback callback, bool async = true)

升级设备固件

参数
  • filePath – 固件的路径

  • callback – 固件升级进度及状态回调

  • async – 是否异步执行

void sendFile(const char *filePath, const char *dstPath, SendFileCallback callback, bool async = true)

发送文件到设备端指定路径[异步回调]

参数
  • filePath – 原文件路径

  • dstPath – 设备端接受保存路径

  • callback – 文件传输回调

  • async – 是否异步执行

OBDeviceState getDeviceState()

获取当前设备状态

void setDeviceStateChangedCallback(DeviceStateChangedCallback callback)

设置设备状态改变回调函数

参数

callback – 设备状态改变(如,由于温度过高自动降低帧率或关流等)时触发的回调函数

bool activateAuthorization(const char *authCode)

验证设备授权码

void writeAuthorizationCode(const char *authCodeStr)

写入设备授权码

std::shared_ptr<CameraParamList> getCalibrationCameraParamList()

获取设备内保存的相机标定的原始参数列表,列表内参数不与当前开流配置相对应, 需要自行根据实际情况选用参数并可能需要做缩放、镜像等处理。非专业用户建议使用Pipeline::getCameraParam()接口。

返回

std::shared_ptr<CameraParamList> 相机参数列表

void reboot()

设备重启

class DeviceInfo
#include <Device.hpp>

描述设备信息的类,代表一个RGBD相机的名称,id,序列号等其他设备自身基本信息。

Public Functions

const char *name()

获取设备名称

返回

const char * 返回设备名称

int pid()

获取设备的pid

返回

int 返回设备的pid

int vid()

获取设备的vid

返回

int 返回设备的vid

const char *uid()

获取设备的uid,该uid标识设备接入os操作系统时,给当前设备分派的唯一id,用来区分不同的设备

返回

const char * 返回设备的uid

const char *serialNumber()

获取设备的序列号

返回

const char * 返回设备的序列号

const char *firmwareVersion()

获取固件的版本号

返回

const char* 返回固件的版本号

const char *usbType()

获取usb连接类型

返回

const char* 返回usb连接类型

const char *hardwareVersion()

获取硬件的版本号

返回

const char* 返回硬件的版本号

const char *supportedMinSdkVersion()

获取设备支持的SDK最小版本号

返回

const char* 返回设备支持的SDK最小版本号

const char *asicName()

获取芯片类型名称

返回

const char* 返回芯片类型名称

OBDeviceType deviceType()

获取设备类型

返回

OBDeviceType 返回设备类型

class DeviceList

Public Functions

uint32_t deviceCount()

获取设备数量

返回

uint32_t 返回设备的数量

const char *name(uint32_t index)

获取指定设备的名称

参数

index – 设备索引

返回

int 返回设备的名称

int pid(uint32_t index)

获取指定设备的pid

参数

index – 设备索引

返回

int 返回设备的pid

int vid(uint32_t index)

获取指定设备的vid

参数

index – 设备索引

返回

int 返回设备的vid

const char *uid(uint32_t index)

获取指定设备的uid

参数

index – 设备索引

返回

const char * 返回设备的uid

const char *serialNumber(uint32_t index)

获取指定设备的序列号

参数

index – 设备索引

返回

const char * 返回设备的序列号

std::shared_ptr<Device> getDevice(uint32_t index)

从设备列表中获取指定设备对象,

std::shared_ptr<Device> getDeviceBySN(const char *serialNumber)

从设备列表中获取指定设备对象

std::shared_ptr<Device> getDeviceByUid(const char *uid)

从设备列表中获取指定设备对象

class Error

Public Functions

const char *getMessage() const noexcept

获取SDK内部异常的详细错误日志。

OBExceptionType getExceptionType() const noexcept

获取该错误的异常类型,判断是具体哪个模块异常。

const char *getName() const noexcept

获取SDK内部异常的错误接口函数名称。

const char *getArgs() const noexcept

获取SDK内部异常的错误接口函数传入参数。

class Filter

Subclassed by ob::FormatConvertFilter, ob::PointCloudFilter

Public Functions

virtual void reset()

filter重置,释放内部缓存,异步处理时停止处理线程并清空待处理的缓存帧

virtual std::shared_ptr<Frame> process(std::shared_ptr<Frame> frame)

处理帧(同步接口)

参数

frame – 需要处理的frame

返回

std::shared_ptr< Frame > 处理后的frame

virtual void pushFrame(std::shared_ptr<Frame> frame)

压入待处理frame到缓存(异步回调接口)

参数

frame – 待处理的frame处理结果通过回调函数返回

virtual void setCallBack(FilterCallback callback)

设置回调函数(异步回调接口)

参数

callback – 处理结果回调

class FormatConvertFilter : public ob::Filter

Public Functions

void setFormatConvertType(OBConvertFormat type)

设置格式转化类型

参数

type – 格式转化类型

class Frame : public std::enable_shared_from_this<Frame>

Subclassed by ob::AccelFrame, ob::FrameSet, ob::GyroFrame, ob::PointsFrame, ob::VideoFrame

Public Functions

virtual OBFrameType type()

获取帧的类型

返回

OBFrameType 返回帧的类型

virtual OBFormat format()

获取帧的格式

返回

OBFormat 返回帧的格式

virtual uint64_t index()

获取帧的序号

返回

uint64_t 返回帧的序号

virtual void *data()

获取帧数据

返回

void* 返回帧数据

virtual uint32_t dataSize()

获取帧数据大小

返回

uint32_t 返回帧数据的大小 如果是点云数据返回的是所有点集合占的字节数,若需要求出点的个数需要将dataSize除以对应的点类型的结构体大小

uint64_t timeStamp()

获取帧的硬件时间戳

返回

uint64_t 返回帧硬件的时间戳

uint64_t timeStampUs()

获取帧的硬件时间戳

返回

uint64_t 返回帧硬件的时间戳

uint64_t systemTimeStamp()

获取帧的系统时间戳

返回

uint64_t 返回帧的系统时间戳

template<typename T>
bool is()

检查帧对象的运行时类型是否与给定类型兼容

模板参数

T – 给定的类型

返回

bool 返回结果

template<typename T>
inline std::shared_ptr<T> as()

帧对象类型转换

模板参数

T – 目标类型

返回

std::shared_ptr<T> 返回结果, 如果不能够转换,将抛异常

class FrameSet : public ob::Frame

Public Functions

uint32_t frameCount()

帧集合中包含的帧数量

返回

uint32_t 返回帧的数量

std::shared_ptr<DepthFrame> depthFrame()

获取深度帧

返回

std::shared_ptr<DepthFrame> 返回深度帧

std::shared_ptr<ColorFrame> colorFrame()

获取彩色帧

返回

std::shared_ptr<ColorFrame> 返回彩色帧

std::shared_ptr<IRFrame> irFrame()

获取红外帧

返回

std::shared_ptr<IRFrame> 返回红外帧

std::shared_ptr<PointsFrame> pointsFrame()

获取点云帧

返回

std::shared_ptr<PointsFrame> 返回点云帧

std::shared_ptr<Frame> getFrame(OBSensorType sensorType)

通过传感器类型获取帧

参数

frameType – 传感器的类型

返回

std::shared_ptr<Frame> 返回相应类型的帧

class GyroFrame : public ob::Frame

Public Functions

OBGyroValue value()

获取陀螺仪帧数据

返回

OBAccelValue

float temperature()

获取帧采样时的温度

返回

float 温度值

class GyroStreamProfile : public ob::StreamProfile

Public Functions

OBGyroFullScaleRange fullScaleRange()

获取满量程范围

返回

OBAccelFullScaleRange 返回量程范围值

OBGyroSampleRate sampleRate()

获取采样频率

返回

OBAccelFullScaleRange 返回采样频率

class IRFrame : public ob::VideoFrame
class Pipeline

Public Functions

Pipeline()

Pipeline 是SDK的高级接口,适用于应用,算法等重点关注RGBD数据流常见,Pipeline在SDK内部可以提供对齐,同步后的FrameSet桢集合 直接方便客户使用。 Pipeline()无参数版本,默认打开连接到OS的设备列表中的第一个设备。若应用已经通过DeviceList获取设备,此时打开Pipeline()会抛出设备已经创建异常。 需要开发者捕获异常处理。

Pipeline(std::shared_ptr<Device> device)

Pipeline(std::shared_ptr< Device > device )函数,适用于多设备操作常见,此时需要通过DeviceList获取多个设备,通过该接口实现device和pipeline绑定。

Pipeline(const char *filename)

创建pipeline用于回放录制好的流文件

参数

filename – 回放文件路径

void start(std::shared_ptr<Config> config)

启动pipeline并配置参数

参数

config – pipeline的参数配置

void start(std::shared_ptr<Config> config, FrameSetCallback callback)

启动pipeline并设置帧集合数据回调

参数
  • config – pipeline的参数配置

  • callback – 设置帧集合中的所有帧数据都到达时触发回调

void stop()

停止pipeline

std::shared_ptr<Config> getConfig()

获取pipeline的配置参数

返回

std::shared_ptr<Config> 返回配置的参数

std::shared_ptr<FrameSet> waitForFrames(uint32_t timeout_ms)

等待帧集合数据

参数

timeout_ms – 等待超时时间(毫秒)

返回

std::shared_ptr<FrameSet> 返回等待的帧集合数据

std::shared_ptr<Device> getDevice()

获取设备对象

返回

std::shared_ptr<Device> 返回设备对象

std::shared_ptr<Playback> getPlayback()

获取回放对象

返回

std::shared_ptr<Playback> 返回回放对象

std::shared_ptr<StreamProfileList> getStreamProfileList(OBSensorType sensorType)

获取指定传感器的流配置

参数

sensorType – 传感器的类型

返回

std::shared_ptr<StreamProfileList> 返回流配置列表

void enableFrameSync()

打开帧同步功能

void disableFrameSync()

关闭帧同步功能

OBCameraParam getCameraParam()

获取相机参数

std::shared_ptr<StreamProfileList> getD2CDepthProfileList(std::shared_ptr<StreamProfile> colorProfile, OBAlignMode alignMode)

返回与输入的彩色传感器分辨率对应的支持D2C的深度传感器分辨率列表

OBRect getD2CValidArea(uint32_t depthDistance)

获取D2C后有效的区域

参数

depthDistance – 工作距离

返回

OBRect 返回在工作距离下D2C后有效的区域信息

void switchConfig(std::shared_ptr<Config> config)

动态切换对应的config配置

参数

config – 更新后的config配置

void startRecord(const char *filename)

开始录制

参数

filename – 录制文件名

void stopRecord()

停止录制

class Playback

Public Functions

Playback(const char *filename)

创建回放对象

void start(PlaybackCallback callback, OBMediaType type = OB_MEDIA_ALL)

开启回放,回放数据从回调中返回,失败后抛出异常

void stop()

停止回放,失败后抛出异常

void setPlaybackStateCallback(MediaStateCallback state)

设置回放状态

std::shared_ptr<DeviceInfo> getDeviceInfo()

获取录制文件内的设备信息

返回

DeviceInfo 返回的设备信息

OBCameraParam getCameraParam()

获取录制文件内的内外参信息

返回

OBCameraParam 返回的内外参信息

class PointCloudFilter : public ob::Filter

Public Functions

void setCreatePointFormat(OBFormat type)

设置点云类型参数

参数

type – 点云类型 深度点云或RGBD点云

void setCameraParam(OBCameraParam param)

设置相机参数

参数

param – 相机内外参数

void setFrameAlignState(bool state)

设置将要输入的用于生成点云的帧对齐状态(D2C模式下需要开启,作为算法选用那组相机内参的依据)

参数

state – 对齐状态,True:开启对齐; False:关闭对齐

class PointsFrame : public ob::Frame
class Recorder

Public Functions

Recorder()

创建录制器用于数据的录制

Recorder(std::shared_ptr<Device> device)

创建录制器用于数据的录制

void start(const char *filename, bool async = false)

开启录制器,失败后抛出异常

参数
  • filename – 录制的文件名称

  • async – 是否异步执行

void stop()

停止录制器,失败后抛出异常

void write(std::shared_ptr<Frame> frame)

向录制器内写入帧数据

参数

frame – 写入的帧数据

class Sensor

Public Functions

OBSensorType type()

传感器类型

返回

OBSensorType 返回传感器类型

const std::shared_ptr<StreamProfileList> getStreamProfileList()

获取传感器的流配置列表

返回

std::shared_ptr<StreamProfileList> 返回流配置列表

void start(std::shared_ptr<StreamProfile> streamProfile, FrameCallback callback)

开启流并设置帧数据回调

参数
  • streamProfile – 流的配置

  • callback – 设置帧数据到达时的回调

void stop()

停止流

void switchProfile(std::shared_ptr<StreamProfile> streamProfile)

动态切换分辨率

参数

streamProfile – 需要切换的分辨率

class SensorList

Public Functions

uint32_t count()

获取Sensor数量

返回

uint32_t 返回Sensor的数量

OBSensorType type(uint32_t index)

获取指定Sensor的类型

参数

index – Sensor索引

返回

OBSensorType 返回Sensor类型

std::shared_ptr<Sensor> getSensor(uint32_t index)

通过索引号获取Sensor

参数

index – 要创建设备的索,范围 [0, count-1],如果index超出范围将抛异常

返回

std::shared_ptr<Sensor> 返回Sensor对象

std::shared_ptr<Sensor> getSensor(OBSensorType sensorType)

通过Sensor类型获取Sensor

参数

sensorType – 要获取的Sensor类型

返回

std::shared_ptr<Sensor> 返回Sensor对象,如果指定类型Sensor不存在,将返回空

class StreamProfile : public std::enable_shared_from_this<StreamProfile>

Subclassed by ob::AccelStreamProfile, ob::GyroStreamProfile, ob::VideoStreamProfile

Public Functions

OBFormat format()

获取流的格式

返回

OBFormat 返回流的格式

OBStreamType type()

获取流的类型

返回

OBStreamType 返回流的类型

template<typename T>
bool is()

检查帧对象的运行时类型是否与给定类型兼容

模板参数

T – 给定的类型

返回

bool 返回结果

template<typename T>
inline std::shared_ptr<T> as()

对象类型转换

模板参数

T – 目标类型

返回

std::shared_ptr<T> 返回结果, 如果不能够转换,将抛异常

class StreamProfileList

Public Functions

uint32_t count()

获取StreamProfile数量

返回

uint32_t 返回StreamProfile的数量

const std::shared_ptr<StreamProfile> getProfile(uint32_t index)

通过索引号获取StreamProfile

参数

index – 要创建设备的索,范围 [0, count-1],如果index超出范围将抛异常

返回

std::shared_ptr<StreamProfile> 返回StreamProfile对象

const std::shared_ptr<VideoStreamProfile> getVideoStreamProfile(int width = 0, int height = 0, OBFormat format = OB_FORMAT_UNKNOWN, int fps = 0)

通过传入的参数进行匹配对应的StreamProfile,若有多个匹配项默认返回列表中的第一个

参数
  • width – 宽度,如不要求加入匹配条件,可传0

  • height – 高度,如不要求加入匹配条件,可传0

  • format – 类型,如不要求加入匹配条件,可传OB_FORMAT_UNKNOWN

  • fps – 帧率,如不要求加入匹配条件,可传0

返回

std::shared_ptr<StreamProfile> 返回匹配的分辨率

class Version

Public Static Functions

static int getMajor()

获取SDK主版本号

返回

int 返回SDK主版本号

static int getMinor()

获取SDK副版本号

返回

int 返回SDK副版本号

static int getPatch()

获取SDK修订版本号

返回

int 返回SDK修订版本号

static int getVersion()

获取SDK版本号

返回

int 返回SDK版本号

class VideoFrame : public ob::Frame

Subclassed by ob::ColorFrame, ob::DepthFrame, ob::IRFrame

Public Functions

uint32_t width()

获取帧的宽

返回

uint32_t 返回帧的宽

uint32_t height()

获取帧的高

返回

uint32_t 返回帧的高

void *metadata()

获取帧的元数据

返回

void* 返回帧的元数据

uint32_t metadataSize()

获取帧的元数据大小

返回

uint32_t 返回帧的元数据大小

uint8_t pixelAvailableBitSize()

获取像素有效位数(如Y16格式帧,每个像素占16bit,但实际只有低10位是有效位,高6位填充0)

class VideoStreamProfile : public ob::StreamProfile

Public Functions

uint32_t fps()

获取流的帧率

返回

uint32_t 返回流的帧率

uint32_t width()

获取流的宽

返回

uint32_t 返回流的宽

uint32_t height()

获取流的高

返回

uint32_t 返回流的高