C API参考

宏定义

OB_EXTENSION_API
DEPRECATED
ob_filter_callback
ob_playback_callback

结构体

struct ob_error

SDK的对外暴露的错误类,用户可以根据该错误类,获取详细的错误信息

struct OBAccelValue

加速度计及陀螺仪的数据结构体

struct OBBoolPropertyRange

布尔型范围的结构体

struct OBCameraDistortion

畸变参数

struct OBCameraIntrinsic

相机内参

struct OBCameraParam

相机参数

struct OBColorPoint

带有颜色信息的3D点结构体

struct OBD2CTransform

旋转/变换矩阵

struct OBDataChunk

数据块结构体,用于数据分块传输

struct OBDeviceTemperature

获取设备的温度参数(单位:摄氏度)

struct OBFloatPropertyRange

浮点型范围的结构体

struct OBIntPropertyRange

整形范围的结构体

struct OBMultiDeviceSyncConfig

多设备同步配置

struct OBPoint

SDK中3D点结构体

struct OBPropertyItem

用于描述每一个属性的特性

用于描述每一个属性的特性

struct OBRect

矩形

struct OBTofExposureThresholdControl

TOF曝光阈值

枚举

enum OBPermissionType

接口/属性的访问权限类型

Values:

enumerator OB_PERMISSION_DENY

无访问权限

enumerator OB_PERMISSION_READ

可读

enumerator OB_PERMISSION_WRITE

可写

enumerator OB_PERMISSION_READ_WRITE

可读写

enum OBStatus

错误码

Values:

enumerator OB_STATUS_OK

状态正常

enumerator OB_STATUS_ERROR

状态异常

enum OBLogSeverity

log等级, 等级越高Log过滤力度越大

Values:

enumerator OB_LOG_SEVERITY_DEBUG

调试

enumerator OB_LOG_SEVERITY_INFO

信息

enumerator OB_LOG_SEVERITY_WARN

警告

enumerator OB_LOG_SEVERITY_ERROR

错误

enumerator OB_LOG_SEVERITY_FATAL

致命错误

enumerator OB_LOG_SEVERITY_NONE

无(关闭LOG)

enum OBExceptionType

SDK内部的异常类型,通过异常类型,可以简单判断具体哪个类型的错误 详细的错误API接口函数、错误日志请参考ob_error的信息

Values:

enumerator OB_EXCEPTION_TYPE_UNKNOWN

未知错误,SDK未明确定义的错误

enumerator OB_EXCEPTION_TYPE_CAMERA_DISCONNECTED

SDK的设备断开的异常

enumerator OB_EXCEPTION_TYPE_PLATFORM

在SDK适配平台层错误,代表是具体一个系统平台实现上错误

enumerator OB_EXCEPTION_TYPE_INVALID_VALUE

无效的参数类型异常,需要检查输入参数

enumerator OB_EXCEPTION_TYPE_WRONG_API_CALL_SEQUENCE

API版本不匹配带来的异常

enumerator OB_EXCEPTION_TYPE_NOT_IMPLEMENTED

SDK及固件还未实现功能

enumerator OB_EXCEPTION_TYPE_IO

SDK访问IO异常错误

enumerator OB_EXCEPTION_TYPE_MEMORY

SDK的访问和使用内存错误,代表桢分配内存失败

enumerator OB_EXCEPTION_TYPE_UNSUPPORTED_OPERATION

SDK或RGBD设备不支持的操作类型错误

enum OBSensorType

描述传感器类型的枚举值

Values:

enumerator OB_SENSOR_UNKNOWN

未知类型传感器

enumerator OB_SENSOR_IR

红外

enumerator OB_SENSOR_COLOR

彩色

enumerator OB_SENSOR_DEPTH

深度

enumerator OB_SENSOR_ACCEL

加速度计

enumerator OB_SENSOR_GYRO

陀螺仪

enum OBStreamType

描述数据流类型的枚举值

Values:

enumerator OB_STREAM_VIDEO

视频流(红外、彩色、深度流都属于视频流)

enumerator OB_STREAM_IR

红外流

enumerator OB_STREAM_COLOR

彩色流

enumerator OB_STREAM_DEPTH

深度流

enumerator OB_STREAM_ACCEL

加速度计数据流

enumerator OB_STREAM_GYRO

陀螺仪数据流

enum OBFrameType

描述Frame类型枚举值

Values:

enumerator OB_FRAME_VIDEO

视频帧(红外、彩色、深度帧都属于视频帧)

enumerator OB_FRAME_IR

红外帧

enumerator OB_FRAME_COLOR

彩色帧

enumerator OB_FRAME_DEPTH

深度帧

enumerator OB_FRAME_ACCEL

加速度计数据帧

enumerator OB_FRAME_SET

帧集合(内部包含多种数据帧)

enumerator OB_FRAME_POINTS

点云帧

enumerator OB_FRAME_GYRO

陀螺仪数据帧

enum OBFormat

描述像素格式的枚举值

Values:

enumerator OB_FORMAT_YUYV

YUYV格式

enumerator OB_FORMAT_YUY2

YUY2格式(实际格式与YUYV相同)

enumerator OB_FORMAT_UYVY

UYVY格式

enumerator OB_FORMAT_NV12

NV12格式

enumerator OB_FORMAT_NV21

NV21格式

enumerator OB_FORMAT_MJPG

MJPG编码格式

enumerator OB_FORMAT_H264

H.264编码格式

enumerator OB_FORMAT_H265

H.265编码格式

enumerator OB_FORMAT_Y16

Y16格式,单通道16bit深度

enumerator OB_FORMAT_Y8

Y8格式,单通道8bit深度

enumerator OB_FORMAT_Y10

Y10格式,单通道10bit深度(SDK默认会解包成Y16)

enumerator OB_FORMAT_Y11

Y11格式,单通道11bit深度(SDK默认会解包成Y16)

enumerator OB_FORMAT_Y12

Y12格式,单通道12bit深度(SDK默认会解包成Y16)

enumerator OB_FORMAT_GRAY

GRAY灰度(实际格式与YUYV相同)

enumerator OB_FORMAT_HEVC

HEVC编码格式(实际格式与H265相同)

enumerator OB_FORMAT_I420

I420格式

enumerator OB_FORMAT_ACCEL

加速度数据格式

enumerator OB_FORMAT_GYRO

陀螺仪数据格式

enumerator OB_FORMAT_POINT

纯x-y-z三维坐标点格式

enumerator OB_FORMAT_RGB_POINT

带RGB信息的x-y-z三维坐标点格式

enumerator OB_FORMAT_RLE

RLE压测格式(SDK默认会解包成Y16)

enumerator OB_FORMAT_RGB888

RGB888格式

enumerator OB_FORMAT_BGR

BGR格式(实际BRG888)

enumerator OB_FORMAT_Y14

Y14格式,单通道14bit深度(SDK默认会解包成Y16)

enumerator OB_FORMAT_UNKNOWN

未知格式

enum OBUpgradeState

固件升级状态

Values:

enumerator STAT_FILE_TRANSFER

文件传输中

enumerator STAT_DONE

升级完成

enumerator STAT_IN_PROGRESS

升级中

enumerator STAT_START

开始升级

enumerator STAT_VERIFY_IMAGE

镜像文件校验中

enumerator ERR_VERIFY

校验失败

enumerator ERR_PROGRAM

程序执行失败

enumerator ERR_ERASE

Flash参数失败

enumerator ERR_FLASH_TYPE

Flash类型错误

enumerator ERR_IMAGE_SIZE

镜像文件大小错误

enumerator ERR_OTHER

其他错误

enumerator ERR_DDR

DDR访问错误

enumerator ERR_TIMEOUT

超时错误

enum OBFileTranState

文件传输状态

Values:

enumerator FILE_TRAN_STAT_TRANSFER

文件传输中

enumerator FILE_TRAN_STAT_DONE

文件传输成功

enumerator FILE_TRAN_STAT_PREPAR

准备中

enumerator FILE_TRAN_ERR_DDR

DDR访问失败

enumerator FILE_TRAN_ERR_NOT_ENOUGH_SPACE

目标空间不足错误

enumerator FILE_TRAN_ERR_PATH_NOT_WRITABLE

目标路径不可写

enumerator FILE_TRAN_ERR_MD5_ERROR

MD5校验错误

enumerator FILE_TRAN_ERR_WRITE_FLASH_ERROR

写Flash错误

enumerator FILE_TRAN_ERR_TIMEOUT

超时错误

enum OBDataTranState

数据传输状态

Values:

enumerator DATA_TRAN_STAT_STOPPED

数据传输终止

enumerator DATA_TRAN_STAT_DONE

数据传输完成

enumerator DATA_TRAN_STAT_VERIFYING

数据校验中

enumerator DATA_TRAN_STAT_TRANSFERRING

数据传输中

enumerator DATA_TRAN_ERR_BUSY

传输忙

enumerator DATA_TRAN_ERR_UNSUPPORTED

不支持

enumerator DATA_TRAN_ERR_TRAN_FAILED

传输失败

enumerator DATA_TRAN_ERR_VERIFY_FAILED

检验失败

enumerator DATA_TRAN_ERR_OTHER

其他错误

enum OBAlignMode

对齐模式

Values:

enumerator ALIGN_DISABLE

关闭对齐

enumerator ALIGN_D2C_HW_MODE

硬件D2C对齐模式

enumerator ALIGN_D2C_SW_MODE

软件D2C对齐模式

enum OBConvertFormat

格式转换类型枚举

Values:

enumerator FORMAT_YUYV_TO_RGB888

YUYV转换为RGB888

enumerator FORMAT_I420_TO_RGB888

I420转换为RGB888

enumerator FORMAT_NV21_TO_RGB888

NV21转换为RGB888

enumerator FORMAT_NV12_TO_RGB888

NV12转换为RGB888

enumerator FORMAT_MJPEG_TO_I420

MJPG转换为I420

enumerator FORMAT_RGB888_TO_BGR

RGB888转换为BGR

enumerator FORMAT_MJPEG_TO_NV21

MJPG转换为NV21

enumerator FORMAT_MJPEG_TO_RGB888

MJPG转换为RGB888

enum OBGyroSampleRate

IMU采样率值的枚举(陀螺仪或加速度计)

Values:

enumerator OB_SAMPLE_RATE_1_5625_HZ

1.5625Hz

enumerator OB_SAMPLE_RATE_3_125_HZ

3.125Hz

enumerator OB_SAMPLE_RATE_6_25_HZ

6.25Hz

enumerator OB_SAMPLE_RATE_12_5_HZ

12.5Hz

enumerator OB_SAMPLE_RATE_25_HZ

25Hz

enumerator OB_SAMPLE_RATE_50_HZ

50Hz

enumerator OB_SAMPLE_RATE_100_HZ

100Hz

enumerator OB_SAMPLE_RATE_200_HZ

200Hz

enumerator OB_SAMPLE_RATE_500_HZ

500Hz

enumerator OB_SAMPLE_RATE_1_KHZ

1KHz

enumerator OB_SAMPLE_RATE_2_KHZ

2KHz

enumerator OB_SAMPLE_RATE_4_KHZ

4KHz

enumerator OB_SAMPLE_RATE_8_KHZ

8KHz

enumerator OB_SAMPLE_RATE_16_KHZ

16KHz

enumerator OB_SAMPLE_RATE_32_KHZ

32Hz

enum OBGyroFullScaleRange

陀螺仪量程的枚举

Values:

enumerator OB_GYRO_FS_16dps

16度每秒

enumerator OB_GYRO_FS_31dps

31度每秒

enumerator OB_GYRO_FS_62dps

62度每秒

enumerator OB_GYRO_FS_125dps

125度每秒

enumerator OB_GYRO_FS_245dps

245度每秒

enumerator OB_GYRO_FS_250dps

250度每秒

enumerator OB_GYRO_FS_500dps

500度每秒

enumerator OB_GYRO_FS_1000dps

1000度每秒

enumerator OB_GYRO_FS_2000dps

2000度每秒

enum OBAccelFullScaleRange

加速度计量程枚举

Values:

enumerator OB_ACCEL_FS_2g

1倍重力加速度

enumerator OB_ACCEL_FS_4g

4倍重力加速度

enumerator OB_ACCEL_FS_8g

8倍重力加速度

enumerator OB_ACCEL_FS_16g

16倍重力加速度

enum OBDeviceState

设备状态枚举

Values:

enumerator OB_DEVICE_STATE_NULL

无状态或LOG信息更新

enumerator OPEN_STREAM_OPERATION_ERROR

开流异常

enumerator OB_DEVICE_STATE_INFO

LOG信息更新

enum OBDepthCroppingMode

深度裁切模式枚举

Values:

enumerator DEPTH_CROPPING_MODE_AUTO

自动模式

enumerator DEPTH_CROPPING_MODE_CLOSE

关闭裁切

enumerator DEPTH_CROPPING_MODE_OPEN

打开裁切

enum OBDeviceType

设备类型枚举

Values:

enumerator OB_STRUCTURED_LIGHT_MONOCULAR_CAMERA

单目结构光相机

enumerator OB_STRUCTURED_LIGHT_BINOCULAR_CAMERA

双目结构光相机

enumerator OB_TOF_CAMERA

TOF相机

enum OBMediaType

录制回放感兴趣数据类型

Values:

enumerator OB_MEDIA_COLOR_STREAM

彩色流

enumerator OB_MEDIA_DEPTH_STREAM

深度流

enumerator OB_MEDIA_IR_STREAM

红外流

enumerator OB_MEDIA_GYRO_STREAM

陀螺仪数据流

enumerator OB_MEDIA_ACCEL_STREAM

加速度计数据流

enumerator OB_MEDIA_CAMERA_PARAM

相机参数

enumerator OB_MEDIA_DEVICE_INFO

设备信息

enumerator OB_MEDIA_STREAM_INFO

流信息

enumerator OB_MEDIA_ALL

所有媒体数据类型

enum OBMediaState

录制回放状态

Values:

enumerator OB_MEDIA_BEGIN

开始

enumerator OB_MEDIA_PAUSE

暂停

enumerator OB_MEDIA_RESUME

继续

enumerator OB_MEDIA_END

终止

enum OBDepthPrecisionLevel

深度精度等级

Values:

enumerator OB_PRECISION_1MM

1mm

enumerator OB_PRECISION_0MM8

0.8mm

enumerator OB_PRECISION_0MM4

0.4mm

enumerator OB_PRECISION_0MM1

0.1mm

enumerator OB_PRECISION_COUNT
enum OBTofFilterRange

tof滤波场景范围

Values:

enumerator OB_TOF_FILTER_RANGE_CLOSE

近距离范围

enumerator OB_TOF_FILTER_RANGE_MIDDLE

中距离范围

enumerator OB_TOF_FILTER_RANGE_LONG

远距离范围

enumerator OB_TOF_FILTER_RANGE_DEBUG

Debug模式

enum OBSyncMode

多设备同步模式

Values:

enumerator OB_SYNC_STOP

关闭同步

enumerator OB_SYNC_SINGLE_MODE

single device模式

enumerator OB_SYNC_ONLINE_HOST_MODE

single device模式,也是host模式,是ir作主的

enumerator OB_SYNC_ONLINE_SLAVE_MODE

slave模式 (ext_in –> rgb、tof、ext_out)

enumerator OB_SYNC_ONLY_MCU_MODE

mcu作host的模式

enumerator OB_SYNC_ONLY_IR_MODE

ir作host的模式

enum OBPropertyID

描述设备所有的属性控制命令的枚举值

Values:

enumerator OB_PROP_LDP_BOOL

LDP开关

enumerator OB_PROP_LASER_BOOL

激光开关

enumerator OB_PROP_LASER_PULSE_WIDTH_INT

读写激光Time值(脉宽)

enumerator OB_PROP_LASER_CURRENT_FLOAT

激光电流

enumerator OB_PROP_FLOOD_BOOL

泛光灯开关

enumerator OB_PROP_FLOOD_LEVEL_INT

泛光灯等级

enumerator OB_PROP_DEPTH_MIRROR_BOOL

深度镜像

enumerator OB_PROP_DEPTH_FLIP_BOOL

深度翻转

enumerator OB_PROP_DEPTH_POSTFILTER_BOOL

深度Postfilter

enumerator OB_PROP_DEPTH_HOLEFILTER_BOOL

深度Holefilter

enumerator OB_PROP_IR_MIRROR_BOOL

IR 镜像

enumerator OB_PROP_IR_FLIP_BOOL

IR 翻转

enumerator OB_PROP_MIN_DEPTH_INT

最小深度阈值

enumerator OB_PROP_MAX_DEPTH_INT

最大深度阈值

enumerator OB_PROP_DEPTH_SOFT_FILTER_BOOL

软件滤波开关

enumerator OB_PROP_LDP_STATUS_BOOL

LDP状态

enumerator OB_PROP_DEPTH_MAX_DIFF_INT

soft filter maxdiff param

enumerator OB_PROP_DEPTH_MAX_SPECKLE_SIZE_INT

soft filter maxSpeckleSize

enumerator OB_PROP_DEPTH_ALIGN_HARDWARE_BOOL

硬件d2c开

enumerator OB_PROP_TIMESTAMP_OFFSET_INT

时间戳调校

enumerator OB_PROP_HARDWARE_DISTORTION_SWITCH_BOOL

硬件去畸变开关 Rectify

enumerator OB_PROP_FAN_WORK_MODE_INT

风扇开关模式

enumerator OB_PROP_DEPTH_ALIGN_HARDWARE_MODE_INT

多分辨率D2C模式

enumerator OB_PROP_ANTI_COLLUSION_ACTIVATION_STATUS_BOOL

防串货状态

enumerator OB_PROP_DEPTH_PRECISION_LEVEL_INT

深度精度等级,可能会改变深度帧数据单位,需要通过DepthFrame的ValueScale接口确认

enumerator OB_PROP_TOF_FILTER_RANGE_INT

tof滤波场景范围配置

enumerator OB_PROP_LASER_MODE_INT

激光点亮模式,固件端目前只返回 1: IR Drive, 2: Torch

enumerator OB_PROP_RECTIFY2_BOOL

brt2r-rectify功能开关(brt2r是mx6600上的一个特殊模块),0:关闭, 1:打开

enumerator OB_PROP_COLOR_MIRROR_BOOL

彩色镜像

enumerator OB_PROP_COLOR_FLIP_BOOL

彩色翻转

enumerator OB_PROP_INDICATOR_LIGHT_BOOL

指示灯开关,0:关闭, 1:打开

enumerator OB_PROP_DISPARITY_TO_DEPTH_BOOL

视差转深度开关, 0:关闭,深度流输出视差图; 1. 打开,深度流输出深度图

enumerator OB_PROP_BRT_BOOL

BRT功能开关(抗背景干扰),0:关闭, 1:打开

enumerator OB_PROP_WATCHDOG_BOOL

看门狗功能开关,0:关闭, 1:打开

enumerator OB_PROP_EXTERNAL_SIGNAL_RESET_BOOL

外部信号触发重启功能开关,0:关闭, 1:打开

enumerator OB_PROP_HEARTBEAT_BOOL

心跳监测功能开关,0:关闭, 1:打开

enumerator OB_PROP_DEPTH_CROPPING_MODE_INT

深度裁剪模式设备: OB_DEPTH_CROPPING_MODE

enumerator OB_PROP_D2C_PREPROCESS_BOOL

D2C前处理开关(如RGB裁剪),0:关闭,1:打开

enumerator OB_PROP_RGB_CUSTOM_CROP_BOOL

自定义RGB裁剪开关,0为关闭,1为开启自定义裁剪,下发ROI裁剪区域

enumerator OB_PROP_DEVICE_WORK_MODE_INT

设备工作模式(功耗)

enumerator OB_STRUCT_BASELINE_CALIBRATION_PARAM

基线标定参数

enumerator OB_STRUCT_DEVICE_TEMPERATURE

设备温度信息

enumerator OB_STRUCT_TOF_EXPOSURE_THRESHOLD_CONTROL

TOF曝光阈值范围

enumerator OB_STRUCT_DEVICE_SERIAL_NUMBER

获取/设置序列号

enumerator OB_STRUCT_DEVICE_TIME

获取/设置设备时间

enumerator OB_STRUCT_MULTI_DEVICE_SYNC_CONFIG

多设备同步模式和参数配置

enumerator OB_STRUCT_RGB_CROP_ROI

RGB裁剪ROI

enumerator OB_PROP_COLOR_AUTO_EXPOSURE_BOOL

彩色相机自动曝光

enumerator OB_PROP_COLOR_EXPOSURE_INT

彩色相机曝光调节

enumerator OB_PROP_COLOR_GAIN_INT

彩色相机增益调节

enumerator OB_PROP_COLOR_AUTO_WHITE_BALANCE_BOOL

彩色相机自动白平衡

enumerator OB_PROP_COLOR_WHITE_BALANCE_INT

彩色相机白平衡调节

enumerator OB_PROP_COLOR_BRIGHTNESS_INT

彩色相机亮度调节

enumerator OB_PROP_COLOR_SHARPNESS_INT

彩色相机锐度调节

enumerator OB_PROP_COLOR_SATURATION_INT

彩色相机饱和度调节

enumerator OB_PROP_COLOR_CONTRAST_INT

彩色相机对比度调节

enumerator OB_PROP_COLOR_GAMMA_INT

彩色相机伽马值调节

enumerator OB_PROP_COLOR_ROLL_INT

彩色相机图像旋转

enumerator OB_PROP_COLOR_AUTO_EXPOSURE_PRIORITY_INT

彩色相机自动曝光优先

enumerator OB_PROP_COLOR_BACKLIGHT_COMPENSATION_INT

彩色相机亮度补偿

enumerator OB_PROP_COLOR_HUE_INT

彩色相机彩色色调

enumerator OB_PROP_COLOR_POWER_LINE_FREQUENCY_INT

彩色相机电力线路频率

enumerator OB_PROP_DEPTH_AUTO_EXPOSURE_BOOL

深度相机自动曝光(某些型号设备下会同步设置红外相机)

enumerator OB_PROP_DEPTH_EXPOSURE_INT

深度相机曝光调节(某些型号设备下会同步设置红外相机)

enumerator OB_PROP_DEPTH_GAIN_INT

深度相机增益调节(某些型号设备下会同步设置红外相机)

enumerator OB_PROP_IR_AUTO_EXPOSURE_BOOL

红外相机自动曝光(某些型号设备下会同步设置深度相机)

enumerator OB_PROP_IR_EXPOSURE_INT

红外相机曝光调节(某些型号设备下会同步设置深度相机)

enumerator OB_PROP_IR_GAIN_INT

红外相机增益调节(某些型号设备下会同步设置深度相机)

enumerator OB_PROP_SDK_DISPARITY_TO_DEPTH_BOOL

视差转深度

enumerator OB_PROP_SDK_DEPTH_FRAME_UNPACK_BOOL

Depth数据解包功能开关(每次开流都会默认打开,支持RLE/Y10/Y11/Y12/Y14格式)

enumerator OB_STRUCT_DEBUG_SENSOR_EXPOSURE_TIME

曝光时间读写

enumerator OB_PROP_FLASH_WRITE_PROTECTION_BOOL

FLASH写保护开关;0,关闭;1,开启

enumerator OB_PROP_TEC_BOOL

TEC开关

enumerator OB_PROP_LDP_BOOL

LDP开关

enumerator OB_PROP_LASER_BOOL

激光开光

enumerator OB_PROP_LASER_PULSE_WIDTH_INT

读写激光Time值(脉宽)

enumerator OB_PROP_LASER_CURRENT_FLOAT

激光电流

enumerator OB_PROP_FLOOD_BOOL

泛光灯开关

enumerator OB_PROP_FLOOD_LEVEL_INT

泛光灯等级

enumerator OB_PROP_TEMPERATURE_COMPENSATION_BOOL

温度补偿开关

enumerator OB_PROP_DEPTH_ALIGN_SOFTWARE_BOOL

软件D2C 仅保留用于Femto SDK-固件内部使用

enumerator OB_PROP_DEPTH_MIRROR_BOOL

深度镜像

enumerator OB_PROP_DEPTH_FLIP_BOOL

深度翻转

enumerator OB_PROP_DEPTH_POSTFILTER_BOOL

深度Postfilter

enumerator OB_PROP_DEPTH_HOLEFILTER_BOOL

深度Holefilter

enumerator OB_PROP_IR_MIRROR_BOOL

IR 镜像

enumerator OB_PROP_IR_FLIP_BOOL

IR 翻转

enumerator OB_PROP_MIN_DEPTH_INT

最小深度阈值

enumerator OB_PROP_MAX_DEPTH_INT

最大深度阈值

enumerator OB_PROP_DEPTH_SOFT_FILTER_BOOL

软件滤波开关

enumerator OB_PROP_DEVICE_RESET_BOOL

软件复位

enumerator OB_PROP_LDP_STATUS_BOOL

LDP状态

enumerator OB_PROP_STOP_DEPTH_STREAM_BOOL

关闭深度流,用于无法通过标准UVC协议关流的设备

enumerator OB_PROP_STOP_IR_STREAM_BOOL

关闭IR流用于无法通过标准UVC协议关流的设备

enumerator OB_PROP_DEPTH_MAX_DIFF_INT

soft filter maxdiff param

enumerator OB_PROP_DEPTH_MAX_SPECKLE_SIZE_INT

soft filter maxSpeckleSize

enumerator OB_PROP_DEPTH_ALIGN_HARDWARE_BOOL

硬件d2c开

enumerator OB_PROP_TIMESTAMP_OFFSET_INT

时间戳调校

enumerator OB_PROP_TOF_EXPOSURE_TIME_INT

TOF曝光时间 // 仅SDK-固件内部使用

enumerator OB_PROP_TOF_GAIN_INT

TOF增益 // 仅SDK-固件内部使用

enumerator OB_PROP_REBOOT_DEVICE_BOOL

设备重启

enumerator OB_PROP_HARDWARE_DISTORTION_SWITCH_BOOL

硬件去畸变开关 Rectify

enumerator OB_PROP_FAN_WORK_MODE_INT

风扇开关模式

enumerator OB_PROP_DEPTH_ALIGN_HARDWARE_MODE_INT

多分辨率D2C模式

enumerator OB_PROP_ANTI_COLLUSION_ACTIVATION_STATUS_BOOL

防串货状态

enumerator OB_PROP_SOFTWARE_DISTORTION_SWITCH_BOOL

软件去畸变开关 仅保留用于Femto SDK-固件内部使用

enumerator OB_PROP_TEC_MAX_CURRENT_INT

TEC 最大电流 -> 百分比 0~100%

enumerator OB_PROP_TEC_MAX_CURRENT_CONFIG_INT

TEC最大电流配置(掉电保存)

enumerator OB_PROP_FAN_WORK_MODE_CONFIG_INT

风扇开关模式配置(掉电保存)

enumerator OB_PROP_DEPTH_PRECISION_LEVEL_INT

深度精度等级,可能会改变深度帧数据单位,需要通过DepthFrame的ValueScale接口确认

enumerator OB_PROP_TOF_FILTER_RANGE_INT

tof滤波场景范围配置

enumerator OB_PROP_STOP_COLOR_STREAM_BOOL

关闭Color流,用于无法通过标准UVC协议关流的设备

enumerator OB_PROP_FACTORY_MODE_BOOL

工程模式开关

enumerator OB_PROP_LASER_MODE_INT

mx6600 激光点亮模式,固件端目前只返回 1: IR Drive, 2: Torch

enumerator OB_PROP_RECTIFY2_BOOL

mx6600 brt2r-rectify功能开关(brt2r是mx6600上的一个特殊模块),0: Disable, 1: Rectify Enable

enumerator OB_PROP_COLOR_MIRROR_BOOL

彩色镜像

enumerator OB_PROP_COLOR_FLIP_BOOL

彩色翻转

enumerator OB_PROP_INDICATOR_LIGHT_BOOL

指示灯开关,0: Disable, 1: Enable

enumerator OB_PROP_CALIBRATION_MODE_BOOL

标定模式开关,0: Disable, 1: Enable

enumerator OB_PROP_DISPARITY_TO_DEPTH_BOOL

视差转深度开关, 0:关闭,深度流输出视差图; 1. 打开,深度流输出深度图。

enumerator OB_PROP_BRT_BOOL

BRT功能开关(抗背景干扰),0: Disable, 1: Enable

enumerator OB_PROP_WATCHDOG_BOOL

看门狗功能开关,0: Disable, 1: Enable

enumerator OB_PROP_EXTERNAL_SIGNAL_RESET_BOOL

外部信号触发重启功能开关,0: Disable, 1: Enable

enumerator OB_PROP_HEARTBEAT_BOOL

心跳监测功能开关,0: Disable, 1: Enable

enumerator OB_PROP_DEPTH_CROPPING_MODE_INT

深度裁剪模式设备: OB_DEPTH_CROPPING_MODE (当前仅适配龙泉剑)

enumerator OB_PROP_D2C_PREPROCESS_BOOL

D2C前处理开关(如RGB裁剪),0:关,1:开

enumerator OB_PROP_RGB_CUSTOM_CROP_BOOL

自定义RGB裁剪开关,0为关闭,1为开启自定义裁剪,下发ROI裁剪区域

enumerator OB_PROP_DEVICE_WORK_MODE_INT

设备工作模式(功耗)

enumerator OB_STRUCT_VERSION

版本信息

enumerator OB_STRUCT_INTERNAL_CAMERA_PARAM

相机内外参数

enumerator OB_STRUCT_BASELINE_CALIBRATION_PARAM

基线标定参数

enumerator OB_STRUCT_DEVICE_TEMPERATURE

设备温度信息

enumerator OB_STRUCT_IR_AE_PARAM

IR-AE调试参数

enumerator OB_STRUCT_EXTENSION_PARAM

扩展参数

enumerator OB_STRUCT_DEVICE_UPGRADE_STATUS

固件升级状态 read only

enumerator OB_STRUCT_DEVICE_FILE_TRAN_STATUS

文件传输状态 read only

enumerator OB_STRUCT_TOF_MODULATION_FREQ

TOF调制频率信息

enumerator OB_STRUCT_TOF_DUTY_CYCLE

TOF调制信号占空比信息

enumerator OB_STRUCT_TOF_EXPOSURE_THRESHOLD_CONTROL

TOF曝光阈值范围

enumerator OB_STRUCT_DEVICE_STATE

获取当前设备状态

enumerator OB_STRUCT_TEC_DATA

获取TEC数据

enumerator OB_STRUCT_ANTI_COLLUSION_ACTIVATION_CONTENT

防串货激活码读写

enumerator OB_STRUCT_ANTI_COLLUSION_ACTIVATION_VERIFY

防串货激活码验证

enumerator OB_STRUCT_GET_GYRO_PRESETS_ODR_LIST

获取陀螺仪支持的采样率列表

enumerator OB_STRUCT_GET_ACCEL_PRESETS_ODR_LIST

获取加速度计支持的采样率列表

enumerator OB_STRUCT_GET_GYRO_PRESETS_FULL_SCALE_LIST

获取陀螺仪支持的量程列表

enumerator OB_STRUCT_GET_ACCEL_PRESETS_FULL_SCALE_LIST

获取加速度计支持的量程列表

enumerator OB_STRUCT_DEVICE_SERIAL_NUMBER

get/set序列号

enumerator OB_STRUCT_DEVICE_TIME

get/set device time

enumerator OB_STRUCT_MULTI_DEVICE_SYNC_CONFIG

多设备同步模式和参数配置

enumerator OB_STRUCT_TEMP_COMPENSATE_PARAM

get/set 温度补偿系数

enumerator OB_STRUCT_RGB_CROP_ROI

RGB裁剪ROI

enumerator OB_PROP_COLOR_AUTO_EXPOSURE_BOOL

彩色相机自动曝光

enumerator OB_PROP_COLOR_EXPOSURE_INT

彩色相机曝光调节

enumerator OB_PROP_COLOR_GAIN_INT

彩色相机增益调节

enumerator OB_PROP_COLOR_AUTO_WHITE_BALANCE_BOOL

彩色相机自动白平衡

enumerator OB_PROP_COLOR_WHITE_BALANCE_INT

彩色相机白平衡调节

enumerator OB_PROP_COLOR_BRIGHTNESS_INT

彩色相机亮度调节

enumerator OB_PROP_COLOR_SHARPNESS_INT

彩色相机锐度调节

enumerator OB_PROP_COLOR_SATURATION_INT

彩色相机饱和度调节

enumerator OB_PROP_COLOR_CONTRAST_INT

彩色相机对比度调节

enumerator OB_PROP_COLOR_GAMMA_INT

彩色相机伽马值调节

enumerator OB_PROP_COLOR_ROLL_INT

彩色相机图像旋转

enumerator OB_PROP_COLOR_AUTO_EXPOSURE_PRIORITY_INT

彩色相机自动曝光优先

enumerator OB_PROP_COLOR_BACKLIGHT_COMPENSATION_INT

彩色相机亮度补偿

enumerator OB_PROP_COLOR_HUE_INT

彩色相机彩色色调

enumerator OB_PROP_COLOR_POWER_LINE_FREQUENCY_INT

彩色相机电力线路频率

enumerator OB_PROP_DEPTH_AUTO_EXPOSURE_BOOL

深度相机自动曝光(某些型号设备下会同步设置红外相机)

enumerator OB_PROP_DEPTH_EXPOSURE_INT

深度相机曝光调节(某些型号设备下会同步设置红外相机)

enumerator OB_PROP_DEPTH_GAIN_INT

深度相机增益调节(某些型号设备下会同步设置红外相机)

enumerator OB_PROP_GYRO_SWITCH_BOOL

陀螺仪开关

enumerator OB_PROP_ACCEL_SWITCH_BOOL

加速度计开关

enumerator OB_PROP_GYRO_ODR_INT

get/set当前陀螺仪的采样率

enumerator OB_PROP_ACCEL_ODR_INT

get/set当前加速度计的采样率

enumerator OB_PROP_GYRO_FULL_SCALE_INT

get/set当前陀螺仪的量程

enumerator OB_PROP_ACCEL_FULL_SCALE_INT

get/set当前加速度计的量程

enumerator OB_PROP_IR_AUTO_EXPOSURE_BOOL

红外相机自动曝光(某些型号设备下会同步设置深度相机)

enumerator OB_PROP_IR_EXPOSURE_INT

红外相机曝光调节(某些型号设备下会同步设置深度相机)

enumerator OB_PROP_IR_GAIN_INT

红外相机增益调节(某些型号设备下会同步设置深度相机)

enumerator OB_PROP_SDK_DISPARITY_TO_DEPTH_BOOL

视差转深度

enumerator OB_PROP_SDK_DEPTH_FRAME_UNPACK_BOOL

Depth数据解包功能开关(每次开流都会默认打开,支持RLE/Y10/Y11/Y12/Y14格式)

enumerator OB_RAW_DATA_MULTIPLE_DISTANCE_CALIBRATION_PARAM

多距离标定参数

enumerator OB_RAW_DATA_REFERENCE_IMAGE

参考图

enumerator OB_RAW_DATA_HARDWARE_ALIGN_PARAM

硬件对齐参数

enumerator OB_RAW_DATA_SOFTWARE_ALIGN_PARAM

软件对齐参数

enumerator OB_RAW_DATA_HARDWARE_DISTORTION_PARAM

硬件畸变参数

enumerator OB_RAW_DATA_HARDWARE_ALIGN_PARAM_0

硬件对齐参数0, 适用与多分辨率对齐场景,由设备决定HARDWARE_ALIGN_PARAM_xxx 与分辨率的映射关系

enumerator OB_RAW_DATA_HARDWARE_ALIGN_PARAM_1

硬件对齐参数1

enumerator OB_RAW_DATA_TEMP_COMPENSATE_PARAM

温补参数

enumerator OB_RAW_DATA_SOFTWARE_ALIGN_PARAM_0

软件对齐参数0, 适用与多分辨率对齐场景,由设备决定HARDWARE_ALIGN_PARAM_xxx 与分辨率的映射关系

enumerator OB_RAW_DATA_SOFTWARE_ALIGN_PARAM_1

软件对齐参数1

enumerator OB_RAW_DATA_DEPTH_CALIB_FLASH_FILE

深度标定参数文件(MX6600)

enumerator OB_RAW_DATA_ALIGN_CALIB_FLASH_FILE

对齐标定参数文件(MX6600)

enumerator OB_RAW_DATA_D2C_ALIGN_SUPPORT_PROFILE_LIST

D2C对齐分辨率列表

enumerator OB_RAW_DATA_D2C_ALIGN_POST_PROCESS_LIST

D2C后处理参数列表

enumerator OB_RAW_DATA_DEPTH_CALIB_PARAM

深度标定参数(MX6600, read only)

enumerator OB_RAW_DATA_ALIGN_CALIB_PARAM

对齐标定参数(MX6600, read only)

enumerator OB_PROP_DEBUG_ADB_FUNCTION_CONTROL_BOOL

ADB调试功能开关

enumerator OB_PROP_DEBUG_SET_FORCE_UPGRADE_BOOL

强制升级

enumerator OB_PROP_DEBUG_LOG_SEVERITY_LEVEL_INT

设备log等级

enumerator OB_STRUCT_DEBUG_RECORD_RGB_DATA

设备端 RGB 传图控制(调试功能)

enumerator OB_STRUCT_DEBUG_RECORD_PHASE_DATA

设备端 raw Phase 传图控制(调试功能)

enumerator OB_STRUCT_DEBUG_RECORD_IR_DATA

设备端 IR 传图控制(调试功能)

enumerator OB_STRUCT_DEBUG_RECORD_DEPTH_DATA

设备端 depth 传图控制(调试功能)

enumerator OB_STRUCT_DEBUG_SENSOR_EXPOSURE_TIME

曝光时间读写

enum OBPropertyType

用于描述所有属性设置的数据类型

Values:

enumerator OB_BOOL_PROPERTY

bool类型数据的属性

enumerator OB_INT_PROPERTY

int类型数据的属性

enumerator OB_FLOAT_PROPERTY

float类型数据的属性

enumerator OB_STRUCT_PROPERTY

struct类型数据的属性

enumerator OB_BOOL_PROPERTY

bool类型数据的属性

enumerator OB_INT_PROPERTY

int类型数据的属性

enumerator OB_FLOAT_PROPERTY

float类型数据的属性

enumerator OB_STRUCT_PROPERTY

struct类型数据的属性

类型定义

typedef struct ContextImpl ob_context
typedef struct DeviceImpl ob_device
typedef struct DeviceInfoImpl ob_device_info
typedef struct DeviceListImpl ob_device_list
typedef struct CameraParamListImpl ob_camera_param_list
typedef struct SensorImpl ob_sensor
typedef struct SensorListImpl ob_sensor_list
typedef struct StreamProfileImpl ob_stream_profile
typedef struct StreamProfileListImpl ob_stream_profile_list
typedef struct FrameImpl ob_frame
typedef struct FilterImpl ob_filter
typedef struct PipelineImpl ob_pipeline
typedef struct ConfigImpl ob_config
typedef struct RecorderImpl ob_recorder
typedef struct PlaybackImpl ob_playback
typedef enum OBPermissionType ob_permission_type
typedef enum OBStatus ob_status
typedef enum OBLogSeverity ob_log_severity
typedef enum OBLogSeverity DEVICE_LOG_SEVERITY_LEVEL
typedef enum OBLogSeverity OBDeviceLogSeverityLevel
typedef enum OBLogSeverity ob_device_log_severity_level
typedef enum OBExceptionType ob_exception_type
typedef struct ob_error ob_error

SDK的对外暴露的错误类,用户可以根据该错误类,获取详细的错误信息

typedef enum OBSensorType ob_sensor_type
typedef enum OBStreamType ob_stream_type
typedef enum OBFrameType ob_frame_type
typedef enum OBFormat ob_format
typedef enum OBUpgradeState ob_upgrade_state
typedef enum OBFileTranState ob_file_tran_state
typedef enum OBDataTranState ob_data_tran_state
typedef struct OBDataChunk ob_data_chunk
typedef struct OBIntPropertyRange ob_int_property_range
typedef struct OBFloatPropertyRange ob_float_property_range
typedef struct OBBoolPropertyRange ob_bool_property_range
typedef struct OBCameraIntrinsic ob_camera_intrinsic
typedef struct OBCameraDistortion ob_camera_distortion
typedef struct OBD2CTransform ob_d2c_transform
typedef struct OBCameraParam ob_camera_param
typedef enum OBAlignMode ob_align_mode
typedef struct OBRect ob_rect
typedef enum OBConvertFormat ob_convert_format
typedef enum OBGyroSampleRate ob_gyro_sample_rate
typedef enum OBGyroSampleRate OBAccelSampleRate
typedef enum OBGyroSampleRate ob_accel_sample_rate
typedef enum OBGyroSampleRate OB_SAMPLE_RATE
typedef enum OBGyroFullScaleRange ob_gyro_full_scale_range
typedef enum OBGyroFullScaleRange OB_GYRO_FULL_SCALE_RANGE
typedef enum OBAccelFullScaleRange ob_accel_full_scale_range
typedef enum OBAccelFullScaleRange OB_ACCEL_FULL_SCALE_RANGE
typedef struct OBAccelValue OBGyroValue
typedef struct OBAccelValue ob_accel_value
typedef struct OBAccelValue ob_gyro_value
typedef enum OBDeviceState ob_device_state
typedef struct OBDeviceTemperature ob_device_temperature
typedef struct OBDeviceTemperature DEVICE_TEMPERATURE
typedef enum OBDepthCroppingMode ob_depth_cropping_mode
typedef enum OBDepthCroppingMode OB_DEPTH_CROPPING_MODE
typedef enum OBDeviceType ob_device_type
typedef enum OBDeviceType OB_DEVICE_TYPE
typedef enum OBMediaType ob_media_type
typedef enum OBMediaType OB_MEDIA_TYPE
typedef enum OBMediaState ob_media_state
typedef enum OBMediaState OB_MEDIA_STATE_EM
typedef enum OBDepthPrecisionLevel ob_depth_precision_level
typedef enum OBDepthPrecisionLevel OB_DEPTH_PRECISION_LEVEL
typedef enum OBTofFilterRange ob_tof_filter_range
typedef enum OBTofFilterRange TOF_FILTER_RANGE
typedef struct OBPoint ob_point
typedef struct OBColorPoint ob_color_point
typedef enum OBSyncMode ob_sync_mode
typedef enum OBSyncMode OB_SYNC_MODE
typedef struct OBTofExposureThresholdControl ob_tof_exposure_threshold_control
typedef struct OBTofExposureThresholdControl TOF_EXPOSURE_THRESHOLD_CONTROL
typedef struct OBMultiDeviceSyncConfig ob_multi_device_sync_config
typedef struct OBMultiDeviceSyncConfig OB_MULTI_DEVICE_SYNC_CONFIG
typedef void (*ob_file_send_callback)(ob_file_tran_state state, const char *message, uint8_t percent, void *user_data)

文件传输回调

typedef void (*ob_device_upgrade_callback)(ob_upgrade_state state, const char *message, uint8_t percent, void *user_data)
typedef void (*ob_device_state_callback)(ob_device_state state, const char *message, void *user_data)

设备状态回调

typedef void (*ob_set_data_callback)(ob_data_tran_state state, uint8_t percent, void *user_data)

写数据的回调

typedef void (*ob_get_data_callback)(ob_data_tran_state state, ob_data_chunk *dataChunk, void *user_data)

读数据回调

typedef void (*ob_media_state_callback)(ob_media_state state, void *user_data)

媒体状态回调(录制和回放)

typedef void (*ob_device_changed_callback)(ob_device_list *removed, ob_device_list *added, void *user_data)

设备变化(上下线)回调

typedef void (*ob_frame_callback)(ob_frame *frame, void *user_data)

数据帧回调

typedef void (*ob_frameset_callback)(ob_frame *frameset, void *user_data)

数据帧集合回调

typedef enum OBPropertyID ob_property_id
typedef enum OBPropertyType OBPropertyType

用于描述所有属性设置的数据类型

typedef enum OBPropertyType ob_property_type
typedef struct OBPropertyItem OBPropertyItem

用于描述每一个属性的特性

typedef struct OBPropertyItem ob_property_item

函数

ob_context *ob_create_context(ob_error **error)

创建context的接口函数

参数

error[out] 记录错误信息

返回

ob_context* 返回上下文环境

ob_context *ob_create_context_with_config(const char *config_path, ob_error **error)

创建context的接口函数

参数
  • config_path[in] 配置文件的路径,如果使用默认路径则传NULL

  • error[out] 记录错误信息

返回

ob_context* 返回上下文环境

void ob_delete_context(ob_context *context, ob_error **error)

删除上下文环境

参数
  • context[in] 要删除的上下文环境

  • error[out] 记录错误信息

ob_device_list *ob_query_device_list(ob_context *context, ob_error **error)

枚举设备列表

参数
  • context[in] 上下文环境

  • error[out] 记录错误信息

返回

ob_device_list* 返回设备列表对象

void ob_set_device_changed_callback(ob_context *context, ob_device_changed_callback callback, void *user_data, ob_error **error)

设置设备插拔回调函数

void ob_enable_multi_device_sync(ob_context *context, uint64_t repeatInterval, ob_error **error)

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

参数
  • context[in] 上下文环境

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

  • error[out] 记录错误信息

void ob_set_logger_severity(ob_log_severity severity, ob_error **error)

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

参数
  • severity[in] 输出日志等级

  • error[out] 记录错误信息

void ob_set_logger_to_file(ob_log_severity severity, const char *directory, ob_error **error)

设置输出日志到文件

参数
  • severity[in] 输出到文件的日志等级

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

  • error[out] 记录错误信息

void ob_set_logger_to_console(ob_log_severity severity, ob_error **error)
uint32_t ob_device_list_device_count(ob_device_list *list, ob_error **error)

获取设备数量

参数
  • list[in] 设备列表对象

  • error[out] 记录错误信息

返回

uint32_t 返回设备数量

const char *ob_device_list_get_device_name(ob_device_list *list, uint32_t index, ob_error **error)

获取设备信息

参数
  • list[in] 设备列表对象

  • index[in] 设备索引

  • error[out] 记录错误信息

返回

ob_device_info* 返回设备信息

int ob_device_list_get_device_pid(ob_device_list *list, uint32_t index, ob_error **error)

获取指定设备pid

参数
  • list[in] 设备列表对象

  • index[in] 设备索引

  • error[out] 记录错误信息

返回

int 返回设备pid

int ob_device_list_get_device_vid(ob_device_list *list, uint32_t index, ob_error **error)

获取指定设备vid

参数
  • list[in] 设备列表对象

  • index[in] 设备索引

  • error[out] 记录错误信息

返回

int 返回设备vid

const char *ob_device_list_get_device_uid(ob_device_list *list, uint32_t index, ob_error **error)

获取指定设备uid

参数
  • list[in] 设备列表对象

  • index[in] 设备索引

  • error[out] 记录错误信息

返回

const char* 返回设备uid

const char *ob_device_list_get_device_serial_number(ob_device_list *list, uint32_t index, ob_error **error)

获取指定设备序列号

参数
  • list[in] 设备列表对象

  • index[in] 设备索引

  • error[out] 记录错误信息

返回

const char* 返回设备序列号

ob_device *ob_device_list_get_device(ob_device_list *list, uint32_t index, ob_error **error)

创建设备

ob_device *ob_device_list_get_device_by_serial_number(ob_device_list *list, const char *serial_number, ob_error **error)

创建设备

ob_device *ob_device_list_get_device_by_uid(ob_device_list *list, const char *uid, ob_error **error)

创建设备

Attention

如果设备有在其他地方被获取创建,重复获取将会返回错误

参数
  • list[in] 设备列表对象

  • uid[in] 要创建设备的uid

  • error[out] 记录错误信息

返回

ob_device* 返回创建的设备

void ob_delete_device(ob_device *device, ob_error **error)

删除设备

参数
  • device[in] 要删除的设备

  • error[out] 记录错误信息

void ob_delete_device_info(ob_device_info *info, ob_error **error)

删除设备信息

参数
  • info[in] 要删除的设备信息

  • error[out] 记录错误信息

void ob_delete_device_list(ob_device_list *list, ob_error **error)

删除设备列表

参数
  • list[in] 要删除的设备列表对象

  • error[out] 记录错误信息

ob_device_info *ob_device_get_device_info(ob_device *device, ob_error **error)

获取设备信息

参数
  • device[in] 要获取信息的设备

  • error[out] 记录错误信息

返回

ob_device_info* 返回设备信息

ob_sensor_list *ob_device_get_sensor_list(ob_device *device, ob_error **error)

获取设备的所有传感器

参数
  • device[in] 设备对象

  • error[out] 记录错误信息

返回

ob_sensor_list* 返回所有传感器列表

ob_sensor *ob_device_get_sensor(ob_device *device, ob_sensor_type type, ob_error **error)

获取设备的传感器

参数
  • device[in] 设备对象

  • type[in] 要获取的传感器类型

  • error[out] 记录错误信息

返回

ob_sensor* 返回获取的传感器

void ob_device_set_int_property(ob_device *device, ob_property_id property_id, int32_t property, ob_error **error)

设置int类型的设备属性

参数
  • device[in] 设备对象

  • property_id[in] 要设置的属性id

  • property[in] 要设置的属性值

  • error[out] 记录错误信息

int32_t ob_device_get_int_property(ob_device *device, ob_property_id property_id, ob_error **error)

获取int类型的设备属性

参数
  • device[in] 设备对象

  • property_id[in] 属性id

  • error[out] 记录错误信息

返回

int32_t 返回属性值

void ob_device_set_float_property(ob_device *device, ob_property_id property_id, float property, ob_error **error)

设置float类型的设备属性

参数
  • device[in] 设备对象

  • property_id[in] 要设置的属性id

  • property[in] 要设置的属性值

  • error[out] 记录错误信息

float ob_device_get_float_property(ob_device *device, ob_property_id property_id, ob_error **error)

获取float类型的设备属性

参数
  • device[in] 设备对象

  • property_id[in] 属性id

  • error[out] 记录错误信息

返回

int32_t 返回属性值

void ob_device_set_bool_property(ob_device *device, ob_property_id property_id, bool property, ob_error **error)

设置bool类型的设备属性

参数
  • device[in] 设备对象

  • property_id[in] 要设置的属性id

  • property[in] 要设置的属性值

  • error[out] 记录错误信息

bool ob_device_get_bool_property(ob_device *device, ob_property_id property_id, ob_error **error)

获取bool类型的设备属性

参数
  • device[in] 设备对象

  • property_id[in] 属性id

  • error[out] 记录错误信息

返回

bool 返回属性值

void ob_device_set_structured_data(ob_device *device, ob_property_id property_id, const void *data, uint32_t data_size, ob_error **error)

设置结构体类型的设备属性

参数
  • device[in] 设备对象

  • property_id[in] 要设置的属性id

  • data[in] 要设置的属性数据

  • data_size[in] 要设置的属性大小

  • error[out] 记录错误信息

void ob_device_get_structured_data(ob_device *device, ob_property_id property_id, void *data, uint32_t *data_size, ob_error **error)

获取结构体类型的设备属性

参数
  • device[in] 设备对象

  • property_id[in] 要获取的属性id

  • data[out] 获取的属性数据

  • data_size[out] 获取的属性大小

  • error[out] 记录错误信息

void ob_device_set_raw_data(ob_device *device, ob_property_id property_id, void *data, uint32_t data_size, ob_set_data_callback cb, bool async, void *user_data, ob_error **error)

设置raw data类型的设备属性

参数
  • device[in] 设备对象

  • property_id[in] 要设置的属性id

  • data[in] 要设置的属性数据

  • data_size[in] 要设置的属性大小

  • cb[in] 设置进度回调

  • async[in] 是否异步执行

  • user_data[in] 用户自定义数据,会在回调中返回

  • error[out] 记录错误信息

void ob_device_get_raw_data(ob_device *device, ob_property_id property_id, ob_get_data_callback cb, bool async, void *user_data, ob_error **error)

获取raw data类型的设备属性

参数
  • device[in] 设备对象

  • property_id[in] 要获取的属性id

  • cb[in] 获取数据给返回和进度回调

  • async[in] 是否异步执行

  • user_data[in] 用户自定义数据,会在回调中返回

  • error[out] 记录错误信息

uint32_t ob_device_get_supported_property_count(ob_device *device, ob_error **error)

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

参数
  • device[in] 设备对象

  • error[out] 记录错误信息

返回

uint32_t 返回设备支持的属性的数量

ob_property_item ob_device_get_supported_property(ob_device *device, uint32_t index, ob_error **error)

获取设备支持的属性

参数
  • device[in] 设备对象

  • index[in] 属性的index

  • error[out] 记录错误信息

返回

ob_global_unified_property_item 返回设备支持的属性的类型

bool ob_device_is_property_supported(ob_device *device, ob_property_id property_id, ob_permission_type permission, ob_error **error)

判断属性权限支持情况

参数
  • device[in] 设备对象

  • property_id[in] 属性id

  • permission[in] 需要判读的权限类型

  • error[out] 记录错误信息

返回

bool 返回是否支持

ob_int_property_range ob_device_get_int_property_range(ob_device *device, ob_property_id property_id, ob_error **error)

获取int类型的设备属性范围

参数
  • device[in] 设备对象

  • property_id[in] 属性id

  • error[out] 记录错误信息

返回

ob_int_property_range 返回属性范围

ob_float_property_range ob_device_get_float_property_range(ob_device *device, ob_property_id property_id, ob_error **error)

获取float类型的设备属性范围

参数
  • device[in] 设备对象

  • property_id[in] 属性id

  • error[out] 记录错误信息

返回

ob_float_property_range 返回属性范围

ob_bool_property_range ob_device_get_bool_property_range(ob_device *device, ob_property_id property_id, ob_error **error)

获取bool类型的设备属性范围

参数
  • device[in] 设备对象

  • property_id[in] 属性id

  • error[out] 记录错误信息

返回

ob_bool_property_range 返回属性范围

void ob_device_write_ahb(ob_device *device, uint32_t reg, uint32_t mask, uint32_t value, ob_error **error)

ahb写寄存器

参数
  • device[in] 设备对象

  • reg – 要写入的寄存器

  • mask – 掩码

  • value – 要写入的值

  • error[out] 记录错误信息

void ob_device_read_ahb(ob_device *device, uint32_t reg, uint32_t mask, uint32_t *value, ob_error **error)

ahb读寄存器

参数
  • device[in] 设备对象

  • reg – 要读取的寄存器

  • mask – 掩码

  • value – 要读取的值

  • error[out] 记录错误信息

void ob_device_write_i2c(ob_device *device, uint32_t module_id, uint32_t reg, uint32_t mask, uint32_t value, ob_error **error)

i2c写寄存器

参数
  • device[in] 设备对象

  • module_id – 要写入的i2c模块id

  • reg – 要写入的寄存器

  • mask – 掩码

  • value – 要写入的值

  • error[out] 记录错误信息

void ob_device_read_i2c(ob_device *device, uint32_t module_id, uint32_t reg, uint32_t mask, uint32_t *value, ob_error **error)

i2c读寄存器

参数
  • device[in] 设备对象

  • module_id – 要读取的的i2c模块id

  • reg – 要读取的寄存器

  • mask – 掩码

  • value – 要读取的值

  • error[out] 记录错误信息

void ob_device_write_flash(ob_device *device, uint32_t offset, const void *data, uint32_t data_size, ob_set_data_callback cb, bool async, void *user_data, ob_error **error)

设置写入Flash的属性[异步回调]

参数
  • device[in] 设备对象

  • offset – flash偏移地址

  • data – 要写入的属性数据

  • data_size – 要写入的属性大小

  • cb – 写进度回调

  • async[in] 是否异步执行

  • user_data[in] 用户自定义数据,会在回调中返回

  • error[out] 记录错误信息

void ob_device_read_flash(ob_device *device, uint32_t offset, uint32_t data_size, ob_get_data_callback cb, bool async, void *user_data, ob_error **error)

读取Flash的属性[异步回调]

参数
  • device[in] 设备对象

  • offset – flash偏移地址

  • data_size – 要读取的数据大小

  • cb – 读flash数据及进度回调

  • async[in] 是否异步执行

  • user_data[in] 用户自定义数据,会在回调中返回

  • error[out] 记录错误信息

uint64_t ob_device_sync_device_time(ob_device *device, ob_error **error)

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

参数
  • device[in] 设备对象

  • uint64_t[out] 命令往返时间延时(round trip time, rtt)

  • error[out] 记录错误信息

void ob_device_upgrade(ob_device *device, const char *path, ob_device_upgrade_callback callback, bool async, void *user_data, ob_error **error)

设备固件升级

参数
  • device[in] 设备对象

  • path[in] 固件路径

  • callback[in] 固件升级进度回调

  • async[in] 是否异步执行

  • user_data[in] 用户自定义数据,会在回调中返回

  • error[out] 记录错误信息

ob_device_state ob_device_get_device_state(ob_device *device, ob_error **error)

获取当前设备状态

void ob_device_state_changed(ob_device *device, ob_device_state_callback callback, void *user_data, ob_error **error)

设置设备状态监听

参数
  • device[in] 设备对象

  • callback[in] 设备状态发生改变时的回调

  • user_data[in] 用户自定义数据,会在回调中返回

  • error[out] 记录错误信息

void ob_device_send_file_to_destination(ob_device *device, const char *file_path, const char *dst_path, ob_file_send_callback callback, bool async, void *user_data, ob_error **error)

发送文件到设备指定路径

参数
  • device[in] 设备对象

  • file_path[in] 源文件路径

  • dst_path[in] 指定设备端文件接受路径

  • callback[in] 文件发送进度回调

  • async[in] 是否异步执行

  • user_data[in] 用户自定义数据,会在回调中返回

  • error[out] 记录错误信息

bool ob_device_activate_authorization(ob_device *device, const char *auth_code, ob_error **error)

验证设备授权码

参数
  • device[in] 设备对象

  • auth_code[in] 授权码

  • error[out] 记录错误信息

返回

bool 激活是否成功

void ob_device_write_authorization_code(ob_device *device, const char *auth_code, ob_error **error)

写入设备授权码

参数
  • device[in] 设备对象

  • auth_code[in] 授权码

  • error[out] 记录错误信息

ob_camera_param_list *ob_device_get_calibration_camera_param_list(ob_device *device, ob_error **error)

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

void ob_device_reboot(ob_device *device, ob_error **error)

设备重启

const char *ob_device_info_name(ob_device_info *info, ob_error **error)

获取设备名

参数
  • info[in] 设备信息

  • error[out] 记录错误信息

返回

const char* 返回设备名

int ob_device_info_pid(ob_device_info *info, ob_error **error)

获取设备pid

参数
  • info[in] 设备信息

  • error[out] 记录错误信息

返回

int 返回设备pid

int ob_device_info_vid(ob_device_info *info, ob_error **error)

获取设备vid

参数
  • info[in] 设备信息

  • error[out] 记录错误信息

返回

int 返回设备vid

const char *ob_device_info_uid(ob_device_info *info, ob_error **error)

获取设备uid

参数
  • info[in] 设备信息

  • error[out] 记录错误信息

返回

const char* 返回设备uid

const char *ob_device_info_serial_number(ob_device_info *info, ob_error **error)

获取设备序列号

参数
  • info[in] 设备信息

  • error[out] 记录错误信息

返回

const char* 返回设备序列号

const char *ob_device_info_firmware_version(ob_device_info *info, ob_error **error)

获取固件版本号

参数
  • info[in] 设备信息

  • error[out] 记录错误信息

返回

int 返回固件版本号

const char *ob_device_info_usb_type(ob_device_info *info, ob_error **error)

获取usb连接类型

参数
  • info[in] 设备信息

  • error[out] 记录错误信息

返回

char* 返回usb连接类型

const char *ob_device_info_hardware_version(ob_device_info *info, ob_error **error)

获取硬件的版本号

参数
  • info[in] 设备信息

  • error[out] 记录错误信息

返回

const char* 返回硬件的版本号

const char *ob_device_info_supported_min_sdk_version(ob_device_info *info, ob_error **error)

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

const char *ob_device_info_asicName(ob_device_info *info, ob_error **error)

获取芯片类型名称

ob_device_type ob_device_info_device_type(ob_device_info *info, ob_error **error)

获取设备类型

uint32_t ob_camera_param_list_count(ob_camera_param_list *param_list, ob_error **error)

获取相机参数列表内参数组数

参数
  • param_list – 相机参数列表

  • error – 记录错误信息

返回

uint32_t 返回组数

ob_camera_param ob_camera_param_list_get_param(ob_camera_param_list *param_list, uint32_t index, ob_error **error)

从相机参数列表内获取相机参数

参数
  • param_list – 相机参数列表

  • index – 参数索引

  • error – 记录错误信息

返回

ob_camera_param 返回相机参数, 由于是直接返回结构体对象,所以不需要提供删除接口

void ob_delete_camera_param_list(ob_camera_param_list *param_list, ob_error **error)

删除相机参数列表

参数
  • param_list – 相机参数列表

  • error – 记录错误信息

ob_status ob_error_status(ob_error *error)

获取错误状态

参数

error[in] 错误对象

返回

ob_status 返回错误状态

const char *ob_error_message(ob_error *error)

获取错误信息

参数

error[in] 错误对象

返回

const char* 返回错误信息

const char *ob_error_function(ob_error *error)

获取出现错误的API函数名称

参数

error[in] 错误对象

返回

const char* 返回错误函数

const char *ob_error_args(ob_error *error)

获取错误参数

参数

error[in] 错误对象

返回

const char* 返回错误参数

ob_exception_type ob_error_exception_type(ob_error *error)

获取错误异常类型

参数

error[in] 错误对象

返回

ob_exception_type 返回错误异常类型

void ob_delete_error(ob_error *error)

删除错误对象

参数

error[in] 要删除的错误对象

ob_filter *ob_create_pointcloud_filter(ob_error **error)

创建PointCloud Filter

参数

error[out] 记录错误信息

返回

filter pointcloud_filter对象

void ob_pointcloud_filter_set_camera_param(ob_filter *filter, ob_camera_param param, ob_error **error)

PointCloud Filter设备相机参数

参数
  • filter[in] pointcloud_filter对象

  • param[in] 相机参数

  • error[out] 记录错误信息

void ob_pointcloud_filter_set_point_format(ob_filter *filter, ob_format type, ob_error **error)

设置点云类型参数

参数
  • filter[in] pointcloud_filter对象

  • type[in] 点云类型 深度点云或RGBD点云

  • error[out] 记录错误信息

void ob_pointcloud_filter_set_frame_align_state(ob_filter *filter, bool state, ob_error **error)

设置将要输入用于生产点云的帧的对齐状态

ob_filter *ob_create_format_convert_filter(ob_error **error)

创建FormatConvet Filter

参数

error[out] 记录错误信息

返回

filter format_convert 对象

void ob_format_convert_filter_set_format(ob_filter *filter, ob_convert_format type, ob_error **error)

设置格式转化的类型

参数
  • filter[in] formatconvet_filter对象

  • type[in] 格式转化类型

  • error[out] 记录错误信息

void ob_filter_reset(ob_filter *filter, ob_error **error)

Filter重置, 缓存清空,状态复位。如果是使用异步方式接口,还会停止处理线程,清空待处理的缓存帧

参数
  • filter[in] filter对象

  • error[out] 记录错误信息

ob_frame *ob_filter_process(ob_filter *filter, ob_frame *frame, ob_error **error)

Filter 处理(同步接口)

参数
  • filter[in] filter对象

  • frame[in] 需要被处理的frame对象指针

  • error[out] 记录错误信息

返回

ob_frame filter处理后的frame对象

void ob_filter_set_callback(ob_filter *filter, ob_filter_callback callback, void *user_data, ob_error **error)

Filter 设置处理结果回调函数(异步回调接口)

参数
  • filter[in] filter对象

  • callback[in] 回调函数

  • user_data[in] 可以传入任意用户数据指针,并从回调返回该数据指针

  • error[out] 记录错误信息

void ob_filter_push_frame(ob_filter *filter, ob_frame *frame, ob_error **error)

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

参数
  • filter[in] filter对象

  • error[out] 记录错误信息

void ob_delete_filter(ob_filter *filter, ob_error **error)

删除Filter

参数
  • filter[in] filter 对象

  • error[out] 记录错误信息

uint64_t ob_frame_index(ob_frame *frame, ob_error **error)

获取帧索引

参数
  • frame[in] 帧对象

  • error[out] 记录错误信息

返回

uint64_t 返回帧索引

ob_format ob_frame_format(ob_frame *frame, ob_error **error)

获取帧格式

参数
  • frame[in] 帧对象

  • error[out] 记录错误信息

返回

ob_format 返回帧格式

ob_frame_type ob_frame_get_type(ob_frame *frame, ob_error **error)

获取帧类型

参数
  • frame[in] 帧对象

  • error[out] 记录错误信息

返回

ob_frame_type 返回帧类型

uint64_t ob_frame_time_stamp(ob_frame *frame, ob_error **error)

获取帧硬件时间戳

参数
  • frame[in] 帧对象

  • error[out] 记录错误信息

返回

uint64_t 返回帧硬件时间戳

uint64_t ob_frame_time_stamp_us(ob_frame *frame, ob_error **error)

获取帧硬件时间戳us

参数
  • frame[in] 帧对象

  • error[out] 记录错误信息

返回

uint64_t 返回帧硬件时间戳,单位us

uint64_t ob_frame_system_time_stamp(ob_frame *frame, ob_error **error)

获取帧系统时间戳

参数
  • frame[in] 帧对象

  • error[out] 记录错误信息

返回

uint64_t 返回帧系统时间戳

void *ob_frame_data(ob_frame *frame, ob_error **error)

获取帧数据

参数
  • frame[in] 帧对象

  • error[out] 记录错误信息

返回

void* 返回帧数据指针

uint32_t ob_frame_data_size(ob_frame *frame, ob_error **error)

获取帧数据大小

参数
  • frame[in] 帧对象

  • error[out] 记录错误信息

返回

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

uint32_t ob_video_frame_width(ob_frame *frame, ob_error **error)

获取视频帧宽

参数
  • frame[in] 帧对象

  • error[out] 记录错误信息

返回

uint32_t 返回帧宽

uint32_t ob_video_frame_height(ob_frame *frame, ob_error **error)

获取视频帧高

参数
  • frame[in] 帧对象

  • error[out] 记录错误信息

返回

uint32_t 返回帧高

void *ob_video_frame_metadata(ob_frame *frame, ob_error **error)

获取帧的元数据

参数
  • frame[in] 视频帧对象

  • error[out] 记录错误信息

返回

void* 返回帧的元数据指针

uint32_t ob_video_frame_metadata_size(ob_frame *frame, ob_error **error)

获取帧的元数据大小

参数
  • frame[in] 视频帧对象

  • error[out] 记录错误信息

返回

uint32_t 返回帧的元数据大小

uint8_t ob_video_frame_pixel_available_bit_size(ob_frame *frame, ob_error **error)

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

float ob_depth_frame_get_value_scale(ob_frame *frame, ob_error **error)

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

参数
  • frame[in] 帧对象

  • error[out] 记录错误信息

返回

float 值刻度

void ob_delete_frame(ob_frame *frame, ob_error **error)

删除帧

参数
  • frame[in] 要删除的帧对象

  • error[out] 记录错误信息

uint32_t ob_frameset_frame_count(ob_frame *frameset, ob_error **error)

获取帧集合包含的帧数量

参数
  • frameset[in] 帧集合对象

  • error[out] 记录错误信息

返回

uint32_t 返回帧数量

ob_frame *ob_frameset_depth_frame(ob_frame *frameset, ob_error **error)

从帧集合中获取深度帧

参数
  • frameset[in] 帧集合对象

  • error[out] 记录错误信息

返回

ob_frame* 返回深度帧

ob_frame *ob_frameset_color_frame(ob_frame *frameset, ob_error **error)

从帧集合中获取彩色帧

参数
  • frameset[in] 帧集合对象

  • error[out] 记录错误信息

返回

ob_frame* 返回彩色帧

ob_frame *ob_frameset_ir_frame(ob_frame *frameset, ob_error **error)

从帧集合中获取红外帧

参数
  • frameset[in] 帧集合对象

  • error[out] 记录错误信息

返回

ob_frame* 返回红外帧

ob_frame *ob_frameset_points_frame(ob_frame *frameset, ob_error **error)

从帧集合中获取点云数据

参数
  • frameset[in] 帧集合对象

  • error[out] 记录错误信息

返回

ob_frame* 返回点云帧

ob_accel_value ob_accel_frame_value(ob_frame *frame, ob_error **error)

获取加速度帧数据

参数
  • frame[in] 加速度帧

  • error[out] 记录错误信息

返回

ob_accel_value 加速度数据

float ob_accel_frame_temperature(ob_frame *frame, ob_error **error)

获取加速度帧采样时温度

参数
  • frame[in] 加速度帧

  • error[out] 记录错误信息

返回

float 返回数值

ob_gyro_value ob_gyro_frame_value(ob_frame *frame, ob_error **error)

获取陀螺仪帧数据

参数
  • frame[in] 陀螺仪帧

  • error[out] 记录错误信息

返回

ob_gyro_value 陀螺仪数据

float ob_gyro_frame_temperature(ob_frame *frame, ob_error **error)

获取加速度帧采样时温度

参数
  • frame[in] 加速度帧

  • error[out] 记录错误信息

返回

float 返回数值

ob_pipeline *ob_create_pipeline(ob_error **error)

创建pipeline对象

参数

error[out] 记录错误信息

返回

ob_pipeline* 返回pipeline对象

ob_pipeline *ob_create_pipeline_with_device(ob_device *dev, ob_error **error)

使用设备对象来创建pipeline对象

参数
  • dev[in] 用于创建pipeline的设备对象

  • error[out] 记录错误信息

返回

ob_pipeline* 返回pipeline对象

ob_pipeline *ob_create_pipeline_with_playback_file(const char *file_name, ob_error **error)

使用回放文件来创建pipeline对象

参数
  • file_name[in] 用于创建pipeline的回放文件路径

  • error[out] 记录错误信息

返回

ob_pipeline* 返回pipeline对象

void ob_delete_pipeline(ob_pipeline *pipeline, ob_error **error)

删除pipeline对象

参数
  • pipeline[in] 要删除的pipeline对象

  • error[out] 记录错误信息

void ob_pipeline_start(ob_pipeline *pipeline, ob_error **error)

以默认参数启动pipeline

参数
  • pipeline[in] pipeline对象

  • error[out] 记录错误信息

void ob_pipeline_start_with_config(ob_pipeline *pipeline, ob_config *config, ob_error **error)

启动pipeline并配置参数

参数
  • pipeline[in] pipeline对象

  • config[in] 要配置的参数

  • error[out] 记录错误信息

void ob_pipeline_start_with_callback(ob_pipeline *pipeline, ob_config *config, ob_frameset_callback callback, void *user_data, ob_error **error)

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

参数
  • pipeline[in] pipeline对象

  • config[in] 要配置的参数

  • callback[in] 帧集合中的所有帧数据都到达时触发回调

  • user_data[in] 可以传入任意用户数据,并从回调中获取

  • error[out] 记录错误信息

void ob_pipeline_stop(ob_pipeline *pipeline, ob_error **error)

停止pipeline

参数
  • pipeline[in] pipeline对象

  • error[out] 记录错误信息

ob_config *ob_pipeline_get_config(ob_pipeline *pipeline, ob_error **error)

获取pipeline当前参数

参数
  • pipeline[in] pipeline对象

  • error[out] 记录错误信息

返回

ob_config* 返回pipeline参数

ob_frame *ob_pipeline_wait_for_frameset(ob_pipeline *pipeline, uint32_t timeout_ms, ob_error **error)

以同步阻塞的形式等待返回一组帧集合

参数
  • pipeline[in] pipeline对象

  • timeout_ms[in] 等待超时时间(毫秒)

  • error[out] 记录错误信息

返回

ob_frame* 返回等待的帧集合frameset,frameset是特殊的frame,可以使用frameset相关接口获取集合内的独立frame

ob_device *ob_pipeline_get_device(ob_pipeline *pipeline, ob_error **error)

从pipeline中获取设备

参数
  • pipeline[in] pipeline对象

  • error[out] 记录错误信息

返回

ob_device* 返回设备对象

ob_playback *ob_pipeline_get_playback(ob_pipeline *pipeline, ob_error **error)

从pipeline中获取回放对象

参数
  • pipeline[in] pipeline对象

  • error[out] 记录错误信息

返回

ob_playback* 返回回放对象

ob_stream_profile_list *ob_pipeline_get_stream_profile_list(ob_pipeline *pipeline, ob_sensor_type sensorType, ob_error **error)

获取传感器相应的流配置

参数
  • pipeline[in] pipeline对象

  • sensor_type[in] 传感器类型 ,相机支持的sensor_type类型可通过ob_device_get_sensor_list()接口获知

  • profile_count[out] 获取的流配置数量

  • error[out] 记录错误信息

返回

ob_stream_profile_list* 返回流配置列表

void ob_pipeline_enable_frame_sync(ob_pipeline *pipeline, ob_error **error)

打开帧同步功能

参数
  • pipeline[in] pipeline对象

  • error[out] 记录错误信息

void ob_pipeline_disable_frame_sync(ob_pipeline *pipeline, ob_error **error)

关闭帧同步功能

参数
  • pipeline[in] pipeline对象

  • error[out] 记录错误信息

void ob_pipeline_switch_config(ob_pipeline *pipeline, ob_config *config, ob_error **error)

动态切换对应的config配置

参数
  • pipeline[in] pipeline对象

  • config[in] pipeline的配置

  • error[out] 记录错误信息

ob_camera_param ob_pipeline_get_camera_param(ob_pipeline *pipeline, ob_error **error)

获取当前相机参数

ob_stream_profile_list *ob_get_d2c_depth_profile_list(ob_pipeline *pipeline, ob_stream_profile *color_profile, ob_align_mode align_mode, ob_error **error)

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

参数
  • pipeline[in] pipeline对象

  • color_profile[in] 输入的Color Sensor的分辨率

  • align_mode[in] 输入的对齐模式

  • error[out] 记录错误信息

返回

ob_stream_profile_list*

ob_rect ob_get_d2c_valid_area(ob_pipeline *pipeline, uint32_t distance, ob_error **error)

获取D2C后有效的区域

参数
  • pipeline[in] pipeline对象

  • distance[in] 工作距离

  • error[out] 记录错误信息

返回

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

void ob_pipeline_start_record(ob_pipeline *pipeline, const char *file_name, ob_error **error)

开启录制

参数
  • pipeline[in] pipeline对象

  • file_name[in] 录制的文件路径

  • error[out] 记录错误信息

void ob_pipeline_stop_record(ob_pipeline *pipeline, ob_error **error)

关闭录制

参数
  • pipeline[in] pipeline对象

  • error[out] 记录错误信息

ob_config *ob_create_config(ob_error **error)

创建pipeline的配置

参数

error[out] 记录错误信息

返回

ob_config* 返回配置对象

void ob_delete_config(ob_config *config, ob_error **error)

删除pipeline的配置

参数
  • config[in] 要删除的配置

  • error[out] 记录错误信息

void ob_config_enable_stream(ob_config *config, ob_stream_profile *profile, ob_error **error)

配置要打开的流

参数
  • config[in] pipeline的配置

  • profile[in] 要打开的流的配置

  • error[out] 记录错误信息

void ob_config_enable_all_stream(ob_config *config, ob_error **error)

配置打开所有的流

参数
  • config[in] pipeline的配置

  • error[out] 记录错误信息

void ob_config_disable_stream(ob_config *config, ob_stream_type type, ob_error **error)

配置要关闭的流

参数
  • config[in] pipeline的配置

  • profile[in] 要关闭的流的配置

  • error[out] 记录错误信息

void ob_config_disable_all_stream(ob_config *config, ob_error **error)

配置关闭所有的流

参数
  • config[in] pipeline的配置

  • error[out] 记录错误信息

void ob_config_set_align_mode(ob_config *config, ob_align_mode mode, ob_error **error)

设置对齐模式

参数
  • config[in] config对象

  • mode[in] 对齐模式

  • error[out] 记录错误信息

ob_recorder *ob_create_recorder(ob_error **error)

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

参数

error[out] 记录错误信息

返回

ob_recorder* 返回录制器对象

ob_recorder *ob_create_recorder_with_device(ob_device *dev, ob_error **error)

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

参数
  • dev – 用于创建录制器的设备对象

  • error[out] 记录错误信息

返回

ob_recorder* 返回录制器对象

void ob_delete_recorder(ob_recorder *recorder, ob_error **error)

删除录制器对象

参数
  • recorder – 录制器对象

  • error[out] 记录错误信息

void ob_recorder_start(ob_recorder *recorder, const char *filename, bool async, ob_error **error)

开始录制

参数
  • recorder[in] 录制器对象

  • filename[in] 录制的文件名称

  • async[in] 是否异步录制

  • error[out] 记录错误信息

void ob_recorder_stop(ob_recorder *recorder, ob_error **error)

停止录制

参数
  • recorder[in] 录制器对象

  • error[out] 记录错误信息

void ob_recorder_write_frame(ob_recorder *recorder, ob_frame *frame, ob_error **error)

向录制器内写入帧数据

参数
  • recorder[in] 录制器对象

  • frame[in] 写入的帧数据

  • error[out] 记录错误信息

ob_playback *ob_create_playback(const char *filename, ob_error **error)

创建回放对象

void ob_delete_playback(ob_playback *playback, ob_error **error)

删除回放对象

参数
  • playback[in] 回放对象

  • error[out] 记录错误信息

void ob_playback_start(ob_playback *playback, ob_playback_callback callback, void *user_data, ob_media_type type, ob_error **error)

开启回放,回放数据从回调中返回

参数
  • playback[in] 回放对象

  • callback[in] 回放数据的回调

  • user_data[in] 用户数据

  • type[in] 回放数据的类型

  • error[out] 记录错误信息

void ob_playback_stop(ob_playback *playback, ob_error **error)

停止回放

参数
  • playback[in] 回放对象

  • error[out] 记录错误信息

void ob_set_playback_state_callback(ob_playback *playback, ob_media_state_callback callback, void *user_data, ob_error **error)

设置回放状态

ob_device_info *ob_playback_get_device_info(ob_playback *playback, ob_error **error)

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

参数
  • playback[in] 回放对象

  • error[out] 记录错误信息

返回

ob_device_info* returns device information

ob_camera_param ob_playback_get_camera_param(ob_playback *playback, ob_error **error)

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

参数
  • playback[in] 回放对象

  • error[out] 记录错误信息

返回

ob_camera_param 返回的内外参信息

ob_sensor_type ob_sensor_get_type(ob_sensor *sensor, ob_error **error)

获取传感器类型

参数
  • sensor[in] 传感器对象

  • error[out] 记录错误信息

返回

ob_sensor_type 返回传感器类型

ob_stream_profile_list *ob_sensor_get_stream_profile_list(ob_sensor *sensor, ob_error **error)

获取传感器支持的所有流的配置

参数
  • sensor[in] 传感器对象

  • error[out] 记录错误信息

返回

ob_stream_profile_list* 返回流配置的列表

void ob_sensor_start(ob_sensor *sensor, ob_stream_profile *profile, ob_frame_callback callback, void *user_data, ob_error **error)

打开传感器的流,并设置帧数据回调

参数
  • sensor[in] 传感器对象

  • profile[in] 流的配置信息

  • callback[in] 帧数据到达时触发的回调函数

  • user_data[in] 可以传入任意用户数据,并从回调中获取

  • error[out] 记录错误信息

void ob_sensor_stop(ob_sensor *sensor, ob_error **error)

停止传感器的流

参数
  • sensor[in] 传感器对象

  • error[out] 记录错误信息

void ob_sensor_switch_profile(ob_sensor *sensor, ob_stream_profile *profile, ob_error **error)

动态切换分辨率

参数
  • sensor[in] 传感器对象

  • profile[in] 流的配置信息

  • error[out] 记录错误信息

void ob_delete_sensor_list(ob_sensor_list *sensor_list, ob_error **error)

删除传感器对象列表

参数
  • sensor_list[in] 要删除的传感器对象列表

  • error[out] 记录错误信息

uint32_t ob_sensor_list_get_sensor_count(ob_sensor_list *sensor_list, ob_error **error)

获取传感器列表内传感器个数

参数
  • sensor_list[in] 要删除的传感器对象列表

  • count[in] 传感器数量

  • error[out] 记录错误信息

ob_sensor_type ob_sensor_list_get_sensor_type(ob_sensor_list *sensor_list, uint32_t index, ob_error **error)

获取指定Sensor的类型

参数

index – Sensor索引

返回

OBSensorType 返回Sensor类型

ob_sensor *ob_sensor_list_get_sensor_by_type(ob_sensor_list *sensor_list, ob_sensor_type sensorType, ob_error **error)

通过Sensor类型获取Sensor

/**

参数
  • sensor_list – 通过device获取返回的sensor列表

  • sensorType – 要获取的Sensor类型

返回

返回Sensor指针,如果指定类型Sensor不存在,将返回空

ob_sensor *ob_sensor_list_get_sensor(ob_sensor_list *sensor_list, uint32_t index, ob_error **error)

通过索引号获取Sensor

参数
  • sensor_list – 通过device获取返回的sensor列表

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

返回

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

void ob_delete_sensor(ob_sensor *sensor, ob_error **error)

删除传感器对象

参数
  • sensor[in] 要删除的传感器对象

  • error[out] 记录错误信息

ob_format ob_stream_profile_format(ob_stream_profile *profile, ob_error **error)

获取流配置的格式

参数
  • profile[in] 流配置对象

  • error[out] 记录错误信息

返回

ob_format 返回流的格式

ob_stream_type ob_stream_profile_type(ob_stream_profile *profile, ob_error **error)

获取流的类型

参数
  • profile[in] 流配置对象

  • error[out] 记录错误信息

返回

ob_stream_type 流的类型

uint32_t ob_video_stream_profile_fps(ob_stream_profile *profile, ob_error **error)

获取视频流配置的帧率

参数
  • profile[in] 流配置对象, 如果该配置不是视频流配置,将会返错误

  • error[out] 记录错误信息

返回

uint32_t 返回流的帧率

uint32_t ob_video_stream_profile_width(ob_stream_profile *profile, ob_error **error)

获取视频流配置的宽

参数
  • profile[in] 流配置对象, 如果该配置不是视频流配置,将会返错误

  • error[out] 记录错误信息

返回

uint32_t 返回流的宽

uint32_t ob_video_stream_profile_height(ob_stream_profile *profile, ob_error **error)

获取视频流配置的高

参数
  • profile[in] 流配置对象, 如果该配置不是视频流配置,将会返错误

  • error[out] 记录错误信息

返回

uint32_t 返回流的高

ob_accel_full_scale_range ob_accel_stream_profile_full_scale_range(ob_stream_profile *profile, ob_error **error)

获取加速度计流配置的量程范围

参数
  • profile[in] 流配置对象, 如果该配置不是加速度计流配置,将会返错误

  • error[out] 记录错误信息

返回

ob_accel_full_scale_range 量程范围

ob_accel_sample_rate ob_accel_stream_profile_sample_rate(ob_stream_profile *profile, ob_error **error)

获取加速度计流配置的采样频率

参数
  • profile[in] 流配置对象, 如果该配置不是加速度计流配置,将会返错误

  • error[out] 记录错误信息

返回

ob_accel_sample_rate 采样频率

ob_gyro_full_scale_range ob_gyro_stream_profile_full_scale_range(ob_stream_profile *profile, ob_error **error)

获取陀螺仪流配置的量程范围

参数
  • profile[in] 流配置对象, 如果该配置不是陀螺仪流配置,将会返错误

  • error[out] 记录错误信息

返回

ob_gyro_full_scale_range 量程范围

ob_gyro_sample_rate ob_gyro_stream_profile_sample_rate(ob_stream_profile *profile, ob_error **error)

获取陀螺仪流配置的采样频率

参数
  • profile[in] 流配置对象, 如果该配置不是陀螺仪流配置,将会返错误

  • error[out] 记录错误信息

返回

ob_gyro_sample_rate 采样频率

ob_stream_profile *ob_stream_profile_list_get_video_stream_profile(ob_stream_profile_list *profile_list, int width, int height, ob_format format, int fps, ob_error **error)

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

参数
  • profile_list – 分辨率列表

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

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

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

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

  • error[out] 记录错误信息

返回

ob_stream_profile* 返回匹配的profile

ob_stream_profile *ob_stream_profile_list_get_profile(ob_stream_profile_list *profile_list, int index, ob_error **error)

通过下标获取对应的StreamProfile

参数
  • profile_list[in] StreamProfile列表

  • index[in] 索引

  • error[out] 记录错误信息

返回

ob_stream_profile* 返回匹配的profile

uint32_t ob_stream_profile_list_count(ob_stream_profile_list *profile_list, ob_error **error)

获取StreamProfile列表的数量

参数
  • profile_list[in] StreamProfile列表

  • error[out] 记录错误信息

返回

uint32_t 返回StreamProfile列表的数量

void ob_delete_stream_profile_list(ob_stream_profile_list *profile_list, ob_error **error)

删除流配置列表

参数
  • profiles[in] 流配置列表

  • error[out] 记录错误信息

void ob_delete_stream_profile(ob_stream_profile *profile, ob_error **error)

删除流配置

参数
  • profile[in] 流配置对象

  • error[out] 记录错误信息

int ob_get_version()

获取SDK版本号

返回

int 返回SDK版本号

int ob_get_major_version()

获取SDK主版本号

返回

int 返回SDK主版本号

int ob_get_minor_version()

获取SDK副版本号

返回

int 返回SDK副版本号

int ob_get_patch_version()

获取SDK修订版本号

返回

int 返回SDK修订版本号