C API 参考¶
宏定义¶
-
OB_EXTENSION_API¶
-
OB_EXTENSION_INTERNAL_API¶
-
DEPRECATED¶
-
OB_FORMAT_RGB888¶
-
OB_FORMAT_MJPEG¶
-
FORMAT_MJPEG_TO_I420¶
-
FORMAT_MJPEG_TO_NV21¶
-
FORMAT_MJPEG_TO_RGB888¶
-
FORMAT_MJPEG_TO_BGR888¶
-
FORMAT_MJPEG_TO_BGRA¶
-
OB_SYNC_STOP¶
-
OB_SYNC_SINGLE_MODE¶
-
OB_SYNC_ONLINE_HOST_MODE¶
-
OB_SYNC_ONLINE_SLAVE_MODE¶
-
OB_SYNC_ONLY_MCU_MODE¶
-
OB_SYNC_ONLY_IR_MODE¶
-
OBMultiDeviceSyncConfig¶
-
ob_multi_device_sync_config¶
-
OB_MULTI_DEVICE_SYNC_CONFIG¶
-
ob_filter_callback¶
-
ob_playback_callback¶
-
is_ir_sensor(sensor_type)¶
判断是否为 IR Sensor
-
isIRSensor¶
-
is_ir_stream(stream_type)¶
判断是否为 IR 数据流
-
isIRStream¶
-
is_ir_frame(frame_type)¶
判断是否为 IR 数据帧
-
isIRFrame¶
-
_OB_PROPERTY_H_¶
结构体¶
-
struct ob_error¶
SDK 的对外暴露的错误类,用户可以根据该错误类,获取详细的错误信息
-
struct OBAccelValue¶
加速度计及陀螺仪的数据结构体
-
struct OBBoolPropertyRange¶
布尔型范围的结构体
-
struct OBCameraDistortion¶
畸变参数
-
struct OBCameraIntrinsic¶
相机内参
-
struct OBCameraParam¶
相机参数
-
struct OBCameraParam_V0¶
相机参数 Gemini2 OBCmdVersion –> V0, 2022 年 10 月 13 日 09:09:30
-
struct OBColorPoint¶
带有颜色信息的 3D 点结构体
-
struct OBCompressionParams¶
图像压缩参数
-
struct OBD2CTransform¶
旋转 / 变换矩阵
-
struct OBDataBundle¶
OrbbecSDK私有接口, 未来对外开放 功能:保存多版本数据结构的数据内容;
. 通过propertyId和cmdVersion可以决定具体的数据类型;
通过itemCount可以决定data内容映射的对象数量;
由于 C 语言和 C++ 支持的特性差异,OBDataBundle 的 data 需要释放资源,导致实现上的差异 C 语言: 由于 C 语言没有模板,因此 data 是 uint8_t 数组,itemTypeSize == 1,dataSize == itemCount; C 语言需要开发者自行将 data 的 byte 数组转换为目标数据结构
C++: C++支持模板,因此data是目标数据结构T的数组,itemTypeSize = sizeof(T),itemCount = dataSize / itemTypeSize;
-
struct OBDataChunk¶
数据块结构体,用于数据分块传输
-
struct OBDepthWorkMode¶
相机深度工作模式
-
struct OBDeviceIpAddrConfig¶
网络设备的 IP 地址配置(ipv4)
-
struct OBDeviceSyncConfig¶
设备同步配置
单机内不同 Sensor 的同步 及 多机间同步 配置
-
struct OBDeviceTemperature¶
获取设备的温度参数(单位:摄氏度)
-
struct OBFloatPropertyRange¶
浮点型范围的结构体
-
struct OBIntPropertyRange¶
整形范围的结构体
-
struct OBPoint¶
SDK 中 3D 点结构体
-
struct OBPropertyItem¶
用于描述每一个属性的特性
-
struct OBProtocolVersion¶
控制命令协议版本号
-
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¶
可读写
-
enumerator OB_PERMISSION_DENY¶
-
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)
-
enumerator OB_LOG_SEVERITY_DEBUG¶
-
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 的访问和使用内存错误,代表桢分配内存失败 \ endif
-
enumerator OB_EXCEPTION_TYPE_UNSUPPORTED_OPERATION¶
SDK 或 RGBD 设备不支持的操作类型错误
-
enumerator OB_EXCEPTION_TYPE_UNKNOWN¶
-
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¶
陀螺仪
-
enumerator OB_SENSOR_IR_LEFT¶
左红外
-
enumerator OB_SENSOR_IR_RIGHT¶
右红外
-
enumerator OB_SENSOR_UNKNOWN¶
-
enum OBStreamType¶
描述数据流类型的枚举值
Values:
-
enumerator OB_STREAM_UNKNOWN¶
未知类型数据流
-
enumerator OB_STREAM_VIDEO¶
视频流 (红外、彩色、深度流都属于视频流)
-
enumerator OB_STREAM_IR¶
红外流
-
enumerator OB_STREAM_COLOR¶
彩色流
-
enumerator OB_STREAM_DEPTH¶
深度流
-
enumerator OB_STREAM_ACCEL¶
加速度计数据流
-
enumerator OB_STREAM_GYRO¶
陀螺仪数据流
-
enumerator OB_STREAM_IR_LEFT¶
左路红外流
-
enumerator OB_STREAM_IR_RIGHT¶
右路红外流
-
enumerator OB_STREAM_UNKNOWN¶
-
enum OBFrameType¶
描述 Frame 类型枚举值
Values:
-
enumerator OB_FRAME_UNKNOWN¶
未知类型数据帧
-
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¶
陀螺仪数据帧
-
enumerator OB_FRAME_IR_LEFT¶
左路红外帧
-
enumerator OB_FRAME_IR_RIGHT¶
右路红外帧
-
enumerator OB_FRAME_UNKNOWN¶
-
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¶
MJPEG 编码格式
-
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_RGB¶
RGB888 格式 (实际 RGB888)
-
enumerator OB_FORMAT_BGR¶
BGR 格式 (实际 BRG888)
-
enumerator OB_FORMAT_Y14¶
Y14 格式,单通道 14bit 深度 (SDK 默认会解包成 Y16)
-
enumerator OB_FORMAT_BGRA¶
BGRA格式
-
enumerator OB_FORMAT_COMPRESSED¶
压缩格式
-
enumerator OB_FORMAT_UNKNOWN¶
未知格式
-
enumerator OB_FORMAT_YUYV¶
-
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¶
超时错误
-
enumerator STAT_FILE_TRANSFER¶
-
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¶
超时错误
-
enumerator FILE_TRAN_STAT_TRANSFER¶
-
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¶
其他错误 \ endif
-
enumerator DATA_TRAN_STAT_STOPPED¶
-
enum OBAlignMode¶
对齐模式
Values:
-
enumerator ALIGN_DISABLE¶
关闭对齐
-
enumerator ALIGN_D2C_HW_MODE¶
硬件 D2C 对齐模式
-
enumerator ALIGN_D2C_SW_MODE¶
软件 D2C 对齐模式
-
enumerator ALIGN_DISABLE¶
-
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_MJPG_TO_I420¶
MJPG 转换为 I420
-
enumerator FORMAT_RGB888_TO_BGR¶
RGB888 转换为 BGR
-
enumerator FORMAT_MJPG_TO_NV21¶
MJPG 转换为 NV21
-
enumerator FORMAT_MJPG_TO_RGB888¶
MJPG 转换为 RGB888
-
enumerator FORMAT_MJPG_TO_BGR888¶
MJPG 转换为 BGR888
-
enumerator FORMAT_MJPG_TO_BGRA¶
MJPG 转换为 BGRA
-
enumerator FORMAT_UYVY_TO_RGB888¶
MJPG 转换为 RGB888
-
enumerator FORMAT_BGR_TO_RGB¶
BGR 转换为 RGB
-
enumerator FORMAT_YUYV_TO_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
-
enumerator OB_SAMPLE_RATE_1_5625_HZ¶
-
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_250dps¶
250 度每秒
-
enumerator OB_GYRO_FS_500dps¶
500 度每秒
-
enumerator OB_GYRO_FS_1000dps¶
1000 度每秒
-
enumerator OB_GYRO_FS_2000dps¶
2000 度每秒
-
enumerator OB_GYRO_FS_16dps¶
-
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 倍重力加速度 \ endif
-
enumerator OB_ACCEL_FS_2g¶
-
enum OBDepthCroppingMode¶
深度裁切模式枚举
Values:
-
enumerator DEPTH_CROPPING_MODE_AUTO¶
自动模式
-
enumerator DEPTH_CROPPING_MODE_CLOSE¶
关闭裁切
-
enumerator DEPTH_CROPPING_MODE_OPEN¶
打开裁切
-
enumerator DEPTH_CROPPING_MODE_AUTO¶
-
enum OBDeviceType¶
设备类型枚举
Values:
-
enumerator OB_STRUCTURED_LIGHT_MONOCULAR_CAMERA¶
单目结构光相机
-
enumerator OB_STRUCTURED_LIGHT_BINOCULAR_CAMERA¶
双目结构光相机
-
enumerator OB_TOF_CAMERA¶
TOF 相机
-
enumerator OB_STRUCTURED_LIGHT_MONOCULAR_CAMERA¶
-
enum OBMediaType¶
录制回放感兴趣数据类型
Values:
-
enumerator OB_MEDIA_COLOR_STREAM¶
彩色流 \ endif
-
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_IR_LEFT_STREAM¶
左 IR 流
-
enumerator OB_MEDIA_IR_RIGHT_STREAM¶
右 IR 流
-
enumerator OB_MEDIA_ALL¶
所有媒体数据类型
-
enumerator OB_MEDIA_COLOR_STREAM¶
-
enum OBMediaState¶
录制回放状态
Values:
-
enumerator OB_MEDIA_BEGIN¶
开始
-
enumerator OB_MEDIA_PAUSE¶
暂停
-
enumerator OB_MEDIA_RESUME¶
继续
-
enumerator OB_MEDIA_END¶
终止
-
enumerator OB_MEDIA_BEGIN¶
-
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_0MM2¶
0.2mm
-
enumerator OB_PRECISION_COUNT¶
-
enumerator OB_PRECISION_1MM¶
-
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 模式
-
enumerator OB_TOF_FILTER_RANGE_CLOSE¶
-
enum OBCompressionMode¶
Values:
-
enumerator OB_COMPRESSION_LOSSLESS¶
-
enumerator OB_COMPRESSION_LOSSY¶
-
enumerator OB_COMPRESSION_LOSSLESS¶
-
enum OBSyncMode¶
同步模式
Values:
-
enumerator OB_SYNC_MODE_CLOSE¶
同步关闭
单机,不接收外部触发信号,不输出触发信号
单机内各 Sensor 自触发
-
enumerator OB_SYNC_MODE_STANDALONE¶
单机模式
单机,不接收外部触发信号,不输出触发信号
单机内 RGB 做主: RGB -> IR/Depth/TOF
-
enumerator OB_SYNC_MODE_PRIMARY¶
主机模式
主机,不接收外部触发信号,向外输出触发信号
单机内 RGB 做主:RGB -> IR/Depth/TOF
- Attention
部分设备型号不支持该模式: Gemini 2 设备设置该模式会自动变更为 OB_SYNC_MODE_PRIMARY_MCU_TRIGGER 模式
-
enumerator OB_SYNC_MODE_SECONDARY¶
从机模式
从机,接收外部触发信号,同时向外中继输出触发信号
单机内不同 Sensor 各自接收触发信号:ext trigger -> RGB && ext trigger -> IR/Depth/TOF
- Attention
当前 Gemini 2 设备设置为该模式后,各Sensor在开流后,接收到第一次外部触发信号即开始按照设置的帧率进行定时自触发,直到流关闭
-
enumerator OB_SYNC_MODE_PRIMARY_MCU_TRIGGER¶
MCU 主模式
主机,不接收外部触发信号,向外输出触发信号
单机内 MCU 做主: MCU -> RGB && MCU -> IR/Depth/TOF
-
enumerator OB_SYNC_MODE_PRIMARY_IR_TRIGGER¶
IR 主模式
主机,不接收外部触发信号,向外输出触发信号
单机内 IR 做主:IR/Depth/TOF -> RGB
-
enumerator OB_SYNC_MODE_PRIMARY_SOFT_TRIGGER¶
软触发模式
主机,由软件控制触发(接收上位机命令触发),同时向外中继输出触发信号
单机内不同 Sensor 各自接收触发信号:soft trigger -> RGB && soft trigger -> IR/Depth/TOF
- Attention
当前仅 Gemini2 支持该模式
-
enumerator OB_SYNC_MODE_SECONDARY_SOFT_TRIGGER¶
软触发从机模式
从机,接收外部触发信号(外部触发信号来自软触发的主机),同时向外中继输出触发信号。
单机内不同 Sensor 各自接收触发信号:ext trigger -> RGB && ext trigger -> IR/Depth/TOF
- Attention
当前仅 Gemini2 支持该模式
-
enumerator OB_SYNC_MODE_UNKNOWN¶
未知类型
-
enumerator OB_SYNC_MODE_CLOSE¶
-
enum OB_CMD_VERSION¶
与属性ID关联的协议版本
Values:
-
enumerator OB_CMD_VERSION_V0¶
版本1.0
-
enumerator OB_CMD_VERSION_V1¶
版本2.0
-
enumerator OB_CMD_VERSION_V2¶
版本3.0
-
enumerator OB_CMD_VERSION_V3¶
版本4.0
-
enumerator OB_CMD_VERSION_NOVERSION¶
-
enumerator OB_CMD_VERSION_INVALID¶
无效版本
-
enumerator OB_CMD_VERSION_V0¶
-
enum OBUSBPowerState¶
USB电源连接状态
Values:
-
enumerator OB_USB_POWER_NO_PLUGIN¶
未插入
-
enumerator OB_USB_POWER_5V_0A9¶
5V/0.9A
-
enumerator OB_USB_POWER_5V_1A5¶
5V/1.5A
-
enumerator OB_USB_POWER_5V_3A0¶
5V/3.0A
-
enumerator OB_USB_POWER_NO_PLUGIN¶
-
enum OBDCPowerState¶
DC电源连接状态
Values:
-
enumerator OB_DC_POWER_NO_PLUGIN¶
未插入
-
enumerator OB_DC_POWER_PLUGIN¶
已插入
-
enumerator OB_DC_POWER_NO_PLUGIN¶
-
enum ob_rotate_degree_type¶
旋转角度
Values:
-
enumerator OB_ROTATE_DEGREE_0¶
旋转0度
-
enumerator OB_ROTATE_DEGREE_90¶
旋转90度
-
enumerator OB_ROTATE_DEGREE_180¶
旋转180度
-
enumerator OB_ROTATE_DEGREE_270¶
旋转270度
-
enumerator OB_ROTATE_DEGREE_0¶
-
enum ob_power_line_freq_mode¶
电力线频率模式,用于Color相机防闪烁功能配置
Values:
-
enumerator OB_POWER_LINE_FREQ_MODE_CLOSE¶
关闭
-
enumerator OB_POWER_LINE_FREQ_MODE_50HZ¶
50Hz
-
enumerator OB_POWER_LINE_FREQ_MODE_60HZ¶
60Hz
-
enumerator OB_POWER_LINE_FREQ_MODE_CLOSE¶
-
enum OB_FRAME_AGGREGATE_OUTPUT_MODE¶
帧汇聚输出模式
Values:
-
enumerator OB_FRAME_AGGREGATE_OUTPUT_FULL_FRAME_REQUIRE¶
只有包含所有类型数据帧的FrameSet才会被输出
-
enumerator OB_FRAME_AGGREGATE_OUTPUT_COLOR_FRAME_REQUIRE¶
必须包含Color类似数据帧的FrameSet才会被输出
适用于Color使用H264、H265等帧间编码格式开流的情况
- Attention
该模式下,用户从获取到的FrameSet上获取非Color类型数据帧可能会返回空
-
enumerator OB_FRAME_AGGREGATE_OUTPUT_ANY_SITUATION¶
任何情况的FrameSet都会被输出
- Attention
该模式下,用户从获取到的FrameSet上获取指定类型数据帧可能会返回空
-
enumerator OB_FRAME_AGGREGATE_OUTPUT_FULL_FRAME_REQUIRE¶
-
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_PROP_DEVICE_COMMUNICATION_TYPE_INT¶
设备通信方式 0: USB; 1: Ethernet(RTSP)
-
enumerator OB_PROP_SWITCH_IR_MODE_INT¶
切换IR模式,0为主动IR模式,1为被动IR模式
-
enumerator OB_PROP_LASER_ENERGY_LEVEL_INT¶
激光能量层级
-
enumerator OB_PROP_LDP_MEASURE_DISTANCE_INT¶
获取激光近距离保护的测量值,单位:mm
-
enumerator OB_PROP_TIMER_RESET_SIGNAL_BOOL¶
触发设备时间归零
-
enumerator OB_PROP_TIMER_RESET_TRIGGLE_OUT_ENABLE_BOOL¶
向外发送时间归零信号开关, true:打开, false: 关闭; 默认为true
-
enumerator OB_PROP_TIMER_RESET_DELAY_US_INT¶
设置硬件时间归零延迟时间, 单位: 微妙
-
enumerator OB_PROP_CAPTURE_IMAGE_SIGNAL_BOOL¶
软触发信号, 触发抓拍图片
-
enumerator OB_PROP_IR_RIGHT_MIRROR_BOOL¶
右IR的镜像
-
enumerator OB_PROP_CAPTURE_IMAGE_FRAME_NUMBER_INT¶
单次软触发抓拍的帧数, 范围:[1, 255]
-
enumerator OB_PROP_IR_RIGHT_FLIP_BOOL¶
右IR的翻转, true:翻转,false:不翻转;默认为false
-
enumerator OB_PROP_COLOR_ROTATE_INT¶
彩色旋转, 翻转角度范围{0, 90, 180, 270}, 默认为0
-
enumerator OB_PROP_IR_ROTATE_INT¶
IR旋转, 翻转角度范围{0, 90, 180, 270}, 默认为0
-
enumerator OB_PROP_IR_RIGHT_ROTATE_INT¶
右IR旋转, 翻转角度范围{0, 90, 180, 270}, 默认为0
-
enumerator OB_PROP_DEPTH_ROTATE_INT¶
深度旋转, 翻转角度范围{0, 90, 180, 270}, 默认为0
-
enumerator OB_PROP_LASER_HW_ENERGY_LEVEL_INT¶
查询激光硬件的实际能量层级, OB_PROP_LASER_ENERGY_LEVEL_INT(99)指令用于设置能级,该指令用于查询设置后硬件实际能级
-
enumerator OB_PROP_USB_POWER_STATE_INT¶
USB供电状态,状态值枚举: OBUSBPowerState
-
enumerator OB_PROP_DC_POWER_STATE_INT¶
DC供电状态,状态值枚举: OBDCPowerState
-
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_STRUCT_DEVICE_IP_ADDR_CONFIG¶
设备ip地址配置
-
enumerator OB_STRUCT_CURRENT_DEPTH_ALG_MODE¶
当前的相机深度模式
-
enumerator OB_STRUCT_DEPTH_PRECISION_SUPPORT_LIST¶
深度精度等级列表,返回uin16_t数组,对应精度等级的枚举定义
-
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_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_IR_CHANNEL_DATA_SOURCE_INT¶
读写IR通道的输出目标sensor,不支持时返回错误。0: 左侧IR sensor,1: 右侧IR sensor;
-
enumerator OB_PROP_DEPTH_RM_FILTER_BOOL¶
深度效果去畸变, true:打开,false:关闭, 与D2C功能互斥。软硬件D2C开启时,不能使用mask功能
-
enumerator OB_PROP_SDK_DISPARITY_TO_DEPTH_BOOL¶
视差转深度
-
enumerator OB_PROP_SDK_DEPTH_FRAME_UNPACK_BOOL¶
Depth数据解包功能开关(每次开流都会默认打开,支持RLE/Y10/Y11/Y12/Y14格式)
-
enumerator OB_PROP_SDK_IR_FRAME_UNPACK_BOOL¶
Ir数据解包功能开关(每次开流都会默认打开,支持RLE/Y10/Y11/Y12/Y14格式)
-
enumerator OB_PROP_SDK_ACCEL_FRAME_TRANSFORMED_BOOL¶
Accel数据转换功能开关(默认打开)
-
enumerator OB_PROP_SDK_GYRO_FRAME_TRANSFORMED_BOOL¶
Gyro数据转换功能开关(默认打开)
-
enumerator OB_PROP_SDK_IR_LEFT_FRAME_UNPACK_BOOL¶
[左]Ir数据解包功能开关(每次开流都会默认打开,支持RLE/Y10/Y11/Y12/Y14格式)
-
enumerator OB_PROP_SDK_IR_RIGHT_FRAME_UNPACK_BOOL¶
[右]Ir数据解包功能开关(每次开流都会默认打开,支持RLE/Y10/Y11/Y12/Y14格式)
-
enumerator OB_RAW_DATA_CAMERA_CALIB_JSON_FILE¶
从设备端读取的标定Json文件(Femto Mega, read only)
-
enumerator OB_PROP_LDP_BOOL¶
类型定义¶
-
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 CFrameImpl 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 struct OBDepthWorkModeListImpl ob_depth_work_mode_list¶
-
typedef enum OBPermissionType ob_permission_type¶
-
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 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 struct OBCameraParam_V0 ob_camera_param_v0¶
-
typedef enum OBAlignMode ob_align_mode¶
-
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 uint64_t OBDeviceState¶
设备状态码
-
typedef uint64_t 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 OBColorPoint ob_color_point¶
-
typedef enum OBCompressionMode ob_compression_mode¶
-
typedef enum OBCompressionMode OB_COMPRESSION_MODE¶
-
typedef struct OBCompressionParams ob_compression_params¶
-
typedef struct OBCompressionParams OB_COMPRESSION_PARAMS¶
-
typedef struct OBTofExposureThresholdControl ob_tof_exposure_threshold_control¶
-
typedef struct OBTofExposureThresholdControl TOF_EXPOSURE_THRESHOLD_CONTROL¶
-
typedef enum OBSyncMode ob_sync_mode¶
-
typedef enum OBSyncMode OB_SYNC_MODE¶
-
typedef struct OBDeviceSyncConfig ob_device_sync_config¶
-
typedef struct OBDeviceSyncConfig OB_DEVICE_SYNC_CONFIG¶
-
typedef struct OBDepthWorkMode ob_depth_work_mode¶
-
typedef struct OBProtocolVersion ob_protocol_version¶
-
typedef enum OB_CMD_VERSION OBCmdVersion¶
-
typedef enum OB_CMD_VERSION ob_cmd_version¶
-
typedef struct OBDataBundle OBDataBundle
OrbbecSDK私有接口, 未来对外开放 功能:保存多版本数据结构的数据内容;
. 通过propertyId和cmdVersion可以决定具体的数据类型;
通过itemCount可以决定data内容映射的对象数量;
由于 C 语言和 C++ 支持的特性差异,OBDataBundle 的 data 需要释放资源,导致实现上的差异 C 语言: 由于 C 语言没有模板,因此 data 是 uint8_t 数组,itemTypeSize == 1,dataSize == itemCount; C 语言需要开发者自行将 data 的 byte 数组转换为目标数据结构
C++: C++支持模板,因此data是目标数据结构T的数组,itemTypeSize = sizeof(T),itemCount = dataSize / itemTypeSize;
-
typedef struct OBDataBundle ob_data_bundle¶
-
typedef struct OBDeviceIpAddrConfig ob_device_ip_addr_config¶
-
typedef struct OBDeviceIpAddrConfig DEVICE_IP_ADDR_CONFIG¶
-
typedef enum OBCommunicationType ob_communication_type¶
-
typedef enum OBCommunicationType OB_COMMUNICATION_TYPE¶
-
typedef enum OBUSBPowerState ob_usb_power_state¶
-
typedef enum OBDCPowerState ob_dc_power_state¶
-
typedef enum ob_rotate_degree_type OBRotateDegreeType¶
-
typedef enum ob_power_line_freq_mode OBPowerLineFreqMode¶
-
typedef enum OB_FRAME_AGGREGATE_OUTPUT_MODE OBFrameAggregateOutputMode¶
-
typedef enum OB_FRAME_AGGREGATE_OUTPUT_MODE ob_frame_aggregate_output_mode¶
-
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 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* 返回设备列表对象
-
ob_device *ob_create_net_device(ob_context *context, const char *address, uint16_t port, ob_error **error)¶
创建网络设备
- 参数
context – [in] 上下文环境
address – [in] 设备ip地址
port – [in] 设备端口
error – [out] 记录错误信息
- 返回
[out] ob_device* 返回设备对象
-
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] 记录错误信息
- 返回
const char* 返回设备名称
-
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_structured_data_ext(ob_device *device, ob_property_id property_id, ob_data_bundle *data_bundle, ob_set_data_callback cb, void *user_data, ob_error **error)¶
设置结构体类型的设备属性
- 参数
device – [in] 设备对象
property_id – [in] 要设置的属性id
data_bundle – [in] 要设置的数据内容,注意data_bundle指针为OrbbecSDK外部构建,所以自行释放指针资源,禁止调用ob_delete_data_bundle释放资源,会造成不可预知的错误;
cb – [in] 设置进度回调
user_data – [in] 用户自定义数据,会在回调中返回
error – [out] 记录错误信息
- 返回
void 无返回值
-
ob_data_bundle *ob_device_get_structured_data_ext(ob_device *device, ob_property_id property_id, ob_error **error)¶
获取结构体类型的设备属性
-
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] 记录错误信息
-
ob_protocol_version ob_device_get_protocol_version(ob_device *device, ob_error **error)¶
获取设备的控制命令协议版本
- 参数
device – [in] 设备对象
error – [out] 记录错误信息
- 返回
ob_protocol_version
-
ob_cmd_version ob_device_get_cmd_version(ob_device *device, ob_property_id property_id, ob_error **error)¶
获取控制命令的版本号
- 参数
device – [in] 设备对象
propertyId – [in] 属性id
error – [out] 记录错误信息
- 返回
ob_cmd_version
-
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()接口。
-
ob_depth_work_mode ob_device_get_current_depth_work_mode(ob_device *device, ob_error **error)¶
查询当前相机深度模式
-
ob_status ob_device_switch_depth_work_mode(ob_device *device, const ob_depth_work_mode *work_mode, ob_error **error)¶
切换相机深度模式(根据深度工作模式对象),如果知道设备支持的深度工作模式名称,那么推荐用ob_device_switch_depth_work_mode_by_name
-
ob_status ob_device_switch_depth_work_mode_by_name(ob_device *device, const char *mode_name, ob_error **error)¶
切换相机深度模式(根据深度工作模式名称)
-
ob_depth_work_mode_list *ob_device_get_depth_work_mode_list(ob_device *device, ob_error **error)¶
查询当前相机深度模式的列表
-
ob_device_sync_config ob_device_get_sync_config(ob_device *device, ob_error **error)¶
获取当前设备同步配置
设备同步:包括单机内的不同 Sensor 的曝光同步功能 和 多机同步功能
- 参数
device – [in] 设备对象
error – [out] 记录错误信息
- 返回
ob_device_sync_config 返回设备同步配置
-
void ob_device_set_sync_config(ob_device *device, ob_device_sync_config device_sync_config, ob_error **error)¶
设置设备同步配置
用于配置 单机内的不同 Sensor 的曝光同步功能 和 多机同步功能
- Attention
调用本函数会直接将配置写入设备Flash,设备重启后依然会生效。为了避免影响Flash寿命,不要频繁更新配置。
- 参数
device – [in] 设备对象
device_sync_config – [out] 设备同步配置
error – [out] 记录错误信息
-
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_connection_type(ob_device_info *info, ob_error **error)¶
获取设备连接类型
- 参数
info – [in] 设备信息
error – [out] 记录错误信息
- 返回
char* 返回连接类型
-
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 – 记录错误信息
-
uint32_t ob_depth_work_mode_list_count(ob_depth_work_mode_list *work_mode_list, ob_error **error)¶
获取深度工作模式列表的元素数量
-
ob_depth_work_mode ob_depth_work_mode_list_get_item(ob_depth_work_mode_list *work_mode_list, uint32_t index, ob_error **error)¶
从深度工作模式列表获取第N个对象
-
void ob_delete_depth_work_mode_list(ob_depth_work_mode_list *work_mode_list, ob_error **error)¶
删除深度工作模式列表对象,释放资源
-
void ob_delete_data_bundle(ob_data_bundle *data_bundle, ob_error **error)¶
删除ob_data_bundle对象,释放资源; 注意:只能释放OrbbecSDK库返回的ob_data_bundle对象,非OrbbecSDK构建的对象不能调用该接口,否则会造成意想不到的错误
-
const char *ob_error_function(ob_error *error)¶
获取出现错误的API函数名称
- 参数
error – [in] 错误对象
- 返回
const char* 返回错误函数
-
ob_exception_type ob_error_exception_type(ob_error *error)¶
获取错误异常类型
- 参数
error – [in] 错误对象
- 返回
ob_exception_type 返回错误异常类型
-
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)¶
设置将要输入用于生产点云的帧的对齐状态
-
void ob_pointcloud_filter_set_position_data_scale(ob_filter *filter, float scale, ob_error **error)¶
设置点云数据缩放比例
- Attention
调用该函数设置缩放比例会改变输出点云帧的点坐标缩放系数:posScale = posScale / scale; 输出点云帧的点坐标缩放系数可通过 ob_points_frame_get_position_value_scale 函数获取
- 参数
filter – [in] pointcloud_filter对象
scale – [in] 设置点云坐标数据缩放比例
error – [out] 记录错误信息
-
void ob_pointcloud_filter_set_color_data_normalization(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] 记录错误信息
-
ob_filter *ob_create_compression_filter(ob_error **error)¶
创建compression Filter
- 参数
error – [out] 记录错误信息
- 返回
filter depth_filter 对象
-
void ob_compression_filter_set_compression_params(ob_filter *filter, ob_compression_mode mode, void *params, ob_error **error)¶
设置压缩类型
- 参数
filter – [in] compression_filter对象
mode – [in] 压缩模式 OB_COMPRESSION_LOSSLESS or OB_COMPRESSION_LOSSY
params – [in] 压缩参数,结构体 ob_compression_params,当mode为OB_COMPRESSION_LOSSLESS时,params为NULL
error – [out] 记录错误信息
-
ob_filter *ob_create_decompression_filter(ob_error **error)¶
创建decompressionr Filter
- 参数
error – [out] 记录错误信息
- 返回
filter decompression Filter 对象
-
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)
-
ob_sensor_type ob_ir_frame_get_source_sensor_type(ob_frame *frame, ob_error **ob_error)¶
-
float ob_depth_frame_get_value_scale(ob_frame *frame, ob_error **error)¶
获取深度帧的值缩放系数,深度像素值乘以缩放系数后,可以得到单位为毫米的深度值; 如valueScale=0.1, 某坐标像素值为pixelValue=10000, 则表示深度值value = pixelValue*valueScale = 10000*0.1=1000mm。
- 参数
frame – [in] 帧对象
error – [out] 记录错误信息
- 返回
float 缩放系数
-
float ob_points_frame_get_position_value_scale(ob_frame *frame, ob_error **error)¶
获取点云帧的点坐标值缩放系数,点坐标值乘以缩放系数后,可以得到单位为毫米的坐标值; 如scale=0.1, 某个点的x坐标值为x=10000, 则表示实际x坐标value = x*scale = 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_frame *ob_frameset_get_frame(ob_frame *frameset, ob_frame_type frame_type, ob_error **error)¶
获取指定类型的frame
- 参数
frameset – [in] 帧集合对象
frame_type – [in] frame类型
error – [out] 记录错误信息
- 返回
如果存在frame_type类型,那么返回ob_frame*指针对象;否则返回null。
-
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 返回数值
-
void ob_frame_add_ref(ob_frame *frame, ob_error **error)¶
增加引用计数
- 参数
frame – [in] 要增加引用计数的帧对象
error – [out] 记录错误信息
-
ob_frame *ob_create_frame(ob_format frame_format, int width, int height, int stride_bytes, ob_frame_type frame_type, ob_error **error)¶
创建空的帧对象
- 参数
frame_format – [in] 帧对象格式
width – [in] 帧对象宽
height – [in] 帧对象高
stride_bytes – [in] 数据行跨度
frame_type – [in] 帧类型
error – [out] 记录错误信息
- 返回
std::shared_ptr<Frame> 创建空的帧对象
-
ob_frame *ob_create_frame_from_buffer(ob_format frame_format, uint32_t frame_width, uint32_t frame_height, uint8_t *buffer, uint32_t buffer_size, ob_frame_destroy_callback *buffer_destroy_cb, void *buffer_destroy_context, ob_error **error)¶
根据外部创建的Buffer创建帧对象
- 参数
frame_format – [in] 帧对象格式
frame_width – [in] 帧对象宽
frame_height – [in] 帧对象高
buffer – [in] 帧对象数据
buffer_size – [in] 帧对象数据大小
buffer_destroy_cb – [in] 销毁函数
buffer_destroy_context – [in] 销毁context
error – [out] 记录错误信息
- 返回
std::shared_ptr<Frame> 返回帧对象
-
ob_frame *ob_create_frameset(ob_error **error)¶
创建空的帧集合对象
- 参数
error – [out] 记录错误信息
- 返回
std::shared_ptr<Frame> 返回帧集合对象
-
void ob_frameset_push_frame(ob_frame *frameset, ob_frame_type type, ob_frame *frame, ob_error **error)¶
往帧集合中填入对应类型的帧
- 参数
frameset – [in] 帧集合对象
type – [in] 填入帧的类型
frame – [in] 填入帧的对象
error – [out] 记录错误信息
-
void ob_frame_set_system_time_stamp(ob_frame *frame, uint64_t system_timestamp, ob_error **error)¶
设置帧的系统时间戳
- 参数
frame – [in] 设置的帧对象
systemTimestamp – [in] 设置的系统时间戳
error – [out] 记录错误信息
-
void ob_frame_set_device_time_stamp(ob_frame *frame, uint64_t device_timestamp, ob_error **error)¶
设置帧的设备时间戳
- 参数
frame – [in] 设置的帧对象
device_timestamp – [in] 设置的设备时间戳
error – [out] 记录错误信息
-
void ob_frame_set_device_time_stamp_us(ob_frame *frame, uint64_t device_timestamp_us, ob_error **error)¶
设置帧的设备时间戳
- 参数
frame – [in] 设置的帧对象
device_timestamp_us – [in] 设置的设备时间戳(Us)
error – [out] 记录错误信息
-
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后有效的区域信息
-
ob_rect ob_get_d2c_range_valid_area(ob_pipeline *pipeline, uint32_t minimum_distance, uint32_t maximum_distance, ob_error **error)¶
获取D2C后有效的区域。 如果需要获取指定距离D2C后的ROI区域,将minimum_distance与maximum_distance设置成一样或者将maximum_distance设置成0
- 参数
pipeline – [in] pipeline对象
minimum_distance – [in] 最小工作距离
maximum_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] 记录错误信息
-
void ob_config_set_depth_scale_require(ob_config *config, bool enable, ob_error **error)¶
设置D2C后是否需要缩放深度
- 参数
config – [in] config对象
enable – [in] 是否需要缩放
error – [out] 记录错误信息
-
void ob_config_set_d2c_target_resolution(ob_config *config, uint32_t d2c_target_width, uint32_t d2c_target_height, ob_error **error)¶
设置D2C目标分辨率,适用于未使用OrbbecSDK开启Color流,且需要对深度进行D2C的情况 注意:当使用OrbbecSDK开启Color流时,同时使用了此接口设置了D2C目标分辨率时。优先使用开启的Color流的配置进行D2C。
- 参数
config – [in] config对象
d2c_target_width – [in] D2C目标分辨率宽
d2c_target_height – [in] D2C目标分辨率高
error – [out] 记录错误信息
-
void ob_config_set_frame_aggregate_output_mode(ob_config *config, ob_frame_aggregate_output_mode mode, ob_error **error)¶
数据帧汇聚输出模式
用于控制帧汇聚功能生成的FrameSet不包含所有已开启数据流的数据帧时(各路流帧率不同、或者某路流丢帧会导致这样的情况)的处理策略:直接丢弃或者输出给用户
- 参数
config – config对象
mode – 数据帧汇聚输出模式(默认模式为 OB_FRAME_AGGREGATE_OUTPUT_ANY_SITUATION)
error – 记录错误信息
-
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修订版本号