OrbbecSDK  1.5.7
OrbbecSDK: Software-Development-Kit for Orbbec 3D-Sensor devices
| 宏定义 | 类型定义 | 枚举
ObTypes.h 文件参考

提供 SDK 常用的结构体、枚举常量定义。 更多...

#include <stdbool.h>
#include <stdint.h>

浏览源代码.

struct  ob_error
 SDK 的对外暴露的错误类,用户可以根据该错误类,获取详细的错误信息 更多...
 
struct  OBDataChunk
 数据块结构体,用于数据分块传输 更多...
 
struct  OBIntPropertyRange
 整形范围的结构体 更多...
 
struct  OBFloatPropertyRange
 浮点型范围的结构体 更多...
 
struct  OBBoolPropertyRange
 布尔型范围的结构体 更多...
 
struct  OBCameraIntrinsic
 相机内参 更多...
 
struct  OBCameraDistortion
 畸变参数 更多...
 
struct  OBD2CTransform
 旋转 / 变换矩阵 更多...
 
struct  OBCameraParam
 相机参数 更多...
 
struct  OBCameraParam_V0
 相机参数 Gemini2 OBCmdVersion –> V0, 2022 年 10 月 13 日 09:09:30 更多...
 
struct  OBDERectifyMaskParams
 深度对齐校验参数 更多...
 
struct  MaskFilterConfig_S
 
struct  OBRect
 矩形 更多...
 
struct  OBAccelValue
 加速度计及陀螺仪的数据结构体 更多...
 
struct  OBDeviceTemperature
 获取设备的温度参数(单位:摄氏度) 更多...
 
struct  OBPoint
 SDK 中 3D 点结构体 更多...
 
struct  OBColorPoint
 带有颜色信息的 3D 点结构体 更多...
 
struct  OBCompressionParams
 
struct  OBTofExposureThresholdControl
 TOF 曝光阈值 更多...
 
struct  OBDeviceSyncConfig
 设备同步配置 更多...
 
struct  OBDepthWorkMode
 相机深度工作模式 更多...
 
struct  OBProtocolVersion
 控制命令协议版本号 更多...
 
struct  OBDataBundle
 OrbbecSDK私有接口, 未来对外开放 功能:保存多版本数据结构的数据内容; 更多...
 
struct  OBDeviceIpAddrConfig
 网络设备的 IP 地址配置(ipv4) 更多...
 

宏定义

#define OB_EXTENSION_API   __attribute__((visibility("default")))
 
#define OB_EXTENSION_INTERNAL_API
 
#define DEPRECATED
 
#define OB_FORMAT_RGB888   OB_FORMAT_RGB
 
#define OB_FORMAT_MJPEG   OB_FORMAT_MJPG
 
#define FORMAT_MJPEG_TO_I420   FORMAT_MJPG_TO_I420
 
#define FORMAT_MJPEG_TO_NV21   FORMAT_MJPG_TO_NV21
 
#define FORMAT_MJPEG_TO_RGB888   FORMAT_MJPG_TO_RGB888
 
#define FORMAT_MJPEG_TO_BGR888   FORMAT_MJPG_TO_BGR888
 
#define FORMAT_MJPEG_TO_BGRA   FORMAT_MJPG_TO_BGRA
 
#define OB_SYNC_STOP   OB_SYNC_MODE_CLOSE
 
#define OB_SYNC_SINGLE_MODE   OB_SYNC_MODE_STANDALONE
 
#define OB_SYNC_ONLINE_HOST_MODE   OB_SYNC_MODE_PRIMARY
 
#define OB_SYNC_ONLINE_SLAVE_MODE   OB_SYNC_MODE_SECONDARY
 
#define OB_SYNC_ONLY_MCU_MODE   OB_SYNC_MODE_PRIMARY_MCU_TRIGGER
 
#define OB_SYNC_ONLY_IR_MODE   OB_SYNC_MODE_PRIMARY_IR_TRIGGER
 
#define OBMultiDeviceSyncConfig   OBDeviceSyncConfig
 
#define ob_multi_device_sync_config   ob_device_sync_config
 
#define OB_MULTI_DEVICE_SYNC_CONFIG   OB_DEVICE_SYNC_CONFIG
 
#define ob_filter_callback   ob_frame_callback
 
#define ob_playback_callback   ob_frame_callback
 
#define is_ir_sensor(sensor_type)   (sensor_type == OB_SENSOR_IR || sensor_type == OB_SENSOR_IR_LEFT || sensor_type == OB_SENSOR_IR_RIGHT)
 判断是否为 IR Sensor 更多...
 
#define isIRSensor   is_ir_sensor
 
#define is_ir_stream(stream_type)   (stream_type == OB_STREAM_IR || stream_type == OB_STREAM_IR_LEFT || stream_type == OB_STREAM_IR_RIGHT)
 判断是否为 IR 数据流 更多...
 
#define isIRStream   is_ir_stream
 
#define is_ir_frame(frame_type)   (frame_type == OB_FRAME_IR || frame_type == OB_FRAME_IR_LEFT || frame_type == OB_FRAME_IR_RIGHT)
 判断是否为 IR 数据帧 更多...
 
#define isIRFrame   is_ir_frame
 

类型定义

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 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 struct OBCameraParam_V0 ob_camera_param_v0
 
typedef struct OBDERectifyMaskParams OBDERectifyMaskParams_V0
 
typedef struct MaskFilterConfig_S ob_mask_filter_config
 
typedef struct MaskFilterConfig_S OBMaskFilterConfig
 
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 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 OBPoint ob_point
 
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私有接口, 未来对外开放 功能:保存多版本数据结构的数据内容; 更多...
 
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 void(* ob_frame_callback) (ob_frame *frame, void *user_data)
 数据帧回调 更多...
 
typedef void(* ob_frameset_callback) (ob_frame *frameset, void *user_data)
 数据帧集合回调 更多...
 
typedef void( ob_frame_destroy_callback) (void *buffer, void *context)
 自定义删除回调,当引用计数为 0 时主动调用 更多...
 

枚举

enum  OBPermissionType { OB_PERMISSION_DENY = 0, OB_PERMISSION_READ = 1, OB_PERMISSION_WRITE = 2, OB_PERMISSION_READ_WRITE = 3 }
 接口 / 属性的访问权限类型 更多...
 
enum  OBStatus { OB_STATUS_OK = 0, OB_STATUS_ERROR = 1 }
 错误码 更多...
 
enum  OBLogSeverity {
  OB_LOG_SEVERITY_DEBUG, OB_LOG_SEVERITY_INFO, OB_LOG_SEVERITY_WARN, OB_LOG_SEVERITY_ERROR,
  OB_LOG_SEVERITY_FATAL, OB_LOG_SEVERITY_NONE
}
 log 等级, 等级越高 Log 过滤力度越大 更多...
 
enum  OBExceptionType {
  OB_EXCEPTION_TYPE_UNKNOWN, OB_EXCEPTION_TYPE_CAMERA_DISCONNECTED, OB_EXCEPTION_TYPE_PLATFORM, OB_EXCEPTION_TYPE_INVALID_VALUE,
  OB_EXCEPTION_TYPE_WRONG_API_CALL_SEQUENCE, OB_EXCEPTION_TYPE_NOT_IMPLEMENTED, OB_EXCEPTION_TYPE_IO, OB_EXCEPTION_TYPE_MEMORY,
  OB_EXCEPTION_TYPE_UNSUPPORTED_OPERATION
}
 SDK 内部的异常类型,通过异常类型,可以简单判断具体哪个类型的错误 详细的错误 API 接口函数、错误日志请参考 ob_error 的信息 更多...
 
enum  OBSensorType {
  OB_SENSOR_UNKNOWN = 0, OB_SENSOR_IR = 1, OB_SENSOR_COLOR = 2, OB_SENSOR_DEPTH = 3,
  OB_SENSOR_ACCEL = 4, OB_SENSOR_GYRO = 5, OB_SENSOR_IR_LEFT = 6, OB_SENSOR_IR_RIGHT = 7
}
 描述传感器类型的枚举值 更多...
 
enum  OBStreamType {
  OB_STREAM_UNKNOWN = -1, OB_STREAM_VIDEO, OB_STREAM_IR = 1, OB_STREAM_COLOR = 2,
  OB_STREAM_DEPTH = 3, OB_STREAM_ACCEL = 4, OB_STREAM_GYRO = 5, OB_STREAM_IR_LEFT = 6,
  OB_STREAM_IR_RIGHT = 7
}
 描述数据流类型的枚举值 更多...
 
enum  OBFrameType {
  OB_FRAME_UNKNOWN = -1, OB_FRAME_VIDEO = 0, OB_FRAME_IR = 1, OB_FRAME_COLOR = 2,
  OB_FRAME_DEPTH = 3, OB_FRAME_ACCEL = 4, OB_FRAME_SET = 5, OB_FRAME_POINTS = 6,
  OB_FRAME_GYRO = 7, OB_FRAME_IR_LEFT = 8, OB_FRAME_IR_RIGHT = 9
}
 描述 Frame 类型枚举值 更多...
 
enum  OBFormat {
  OB_FORMAT_YUYV = 0, OB_FORMAT_YUY2 = 1, OB_FORMAT_UYVY = 2, OB_FORMAT_NV12 = 3,
  OB_FORMAT_NV21 = 4, OB_FORMAT_MJPG = 5, OB_FORMAT_H264 = 6, OB_FORMAT_H265 = 7,
  OB_FORMAT_Y16 = 8, OB_FORMAT_Y8 = 9, OB_FORMAT_Y10 = 10, OB_FORMAT_Y11 = 11,
  OB_FORMAT_Y12 = 12, OB_FORMAT_GRAY = 13, OB_FORMAT_HEVC = 14, OB_FORMAT_I420 = 15,
  OB_FORMAT_ACCEL = 16, OB_FORMAT_GYRO = 17, OB_FORMAT_POINT = 19, OB_FORMAT_RGB_POINT = 20,
  OB_FORMAT_RLE = 21, OB_FORMAT_RGB = 22, OB_FORMAT_BGR = 23, OB_FORMAT_Y14 = 24,
  OB_FORMAT_BGRA = 25, OB_FORMAT_COMPRESSED = 26, OB_FORMAT_UNKNOWN = 0xff
}
 描述像素格式的枚举值 更多...
 
enum  OBUpgradeState {
  STAT_FILE_TRANSFER = 4, STAT_DONE = 3, STAT_IN_PROGRESS = 2, STAT_START = 1,
  STAT_VERIFY_IMAGE = 0, ERR_VERIFY = -1, ERR_PROGRAM = -2, ERR_ERASE = -3,
  ERR_FLASH_TYPE = -4, ERR_IMAGE_SIZE = -5, ERR_OTHER = -6, ERR_DDR = -7,
  ERR_TIMEOUT = -8
}
 固件升级状态 更多...
 
enum  OBFileTranState {
  FILE_TRAN_STAT_TRANSFER = 2, FILE_TRAN_STAT_DONE = 1, FILE_TRAN_STAT_PREPAR = 0, FILE_TRAN_ERR_DDR = -1,
  FILE_TRAN_ERR_NOT_ENOUGH_SPACE = -2, FILE_TRAN_ERR_PATH_NOT_WRITABLE = -3, FILE_TRAN_ERR_MD5_ERROR = -4, FILE_TRAN_ERR_WRITE_FLASH_ERROR = -5,
  FILE_TRAN_ERR_TIMEOUT = -6
}
 文件传输状态 更多...
 
enum  OBDataTranState {
  DATA_TRAN_STAT_STOPPED = 3, DATA_TRAN_STAT_DONE = 2, DATA_TRAN_STAT_VERIFYING = 1, DATA_TRAN_STAT_TRANSFERRING = 0,
  DATA_TRAN_ERR_BUSY = -1, DATA_TRAN_ERR_UNSUPPORTED = -2, DATA_TRAN_ERR_TRAN_FAILED = -3, DATA_TRAN_ERR_VERIFY_FAILED = -4,
  DATA_TRAN_ERR_OTHER = -5
}
 数据传输状态 更多...
 
enum  OBAlignMode { ALIGN_DISABLE, ALIGN_D2C_HW_MODE, ALIGN_D2C_SW_MODE }
 对齐模式 更多...
 
enum  OBConvertFormat {
  FORMAT_YUYV_TO_RGB888 = 0, FORMAT_I420_TO_RGB888, FORMAT_NV21_TO_RGB888, FORMAT_NV12_TO_RGB888,
  FORMAT_MJPG_TO_I420, FORMAT_RGB888_TO_BGR, FORMAT_MJPG_TO_NV21, FORMAT_MJPG_TO_RGB888,
  FORMAT_MJPG_TO_BGR888, FORMAT_MJPG_TO_BGRA, FORMAT_UYVY_TO_RGB888, FORMAT_BGR_TO_RGB
}
 格式转换类型枚举 更多...
 
enum  OBGyroSampleRate {
  OB_SAMPLE_RATE_1_5625_HZ = 1, OB_SAMPLE_RATE_3_125_HZ, OB_SAMPLE_RATE_6_25_HZ, OB_SAMPLE_RATE_12_5_HZ,
  OB_SAMPLE_RATE_25_HZ, OB_SAMPLE_RATE_50_HZ, OB_SAMPLE_RATE_100_HZ, OB_SAMPLE_RATE_200_HZ,
  OB_SAMPLE_RATE_500_HZ, OB_SAMPLE_RATE_1_KHZ, OB_SAMPLE_RATE_2_KHZ, OB_SAMPLE_RATE_4_KHZ,
  OB_SAMPLE_RATE_8_KHZ, OB_SAMPLE_RATE_16_KHZ, OB_SAMPLE_RATE_32_KHZ
}
 IMU 采样率值的枚举 (陀螺仪或加速度计) 更多...
 
enum  OBGyroFullScaleRange {
  OB_GYRO_FS_16dps = 1, OB_GYRO_FS_31dps, OB_GYRO_FS_62dps, OB_GYRO_FS_125dps,
  OB_GYRO_FS_250dps, OB_GYRO_FS_500dps, OB_GYRO_FS_1000dps, OB_GYRO_FS_2000dps
}
 陀螺仪量程的枚举 更多...
 
enum  OBAccelFullScaleRange { OB_ACCEL_FS_2g = 1, OB_ACCEL_FS_4g, OB_ACCEL_FS_8g, OB_ACCEL_FS_16g }
 加速度计量程枚举 更多...
 
enum  OBDepthCroppingMode { DEPTH_CROPPING_MODE_AUTO = 0, DEPTH_CROPPING_MODE_CLOSE = 1, DEPTH_CROPPING_MODE_OPEN = 2 }
 深度裁切模式枚举 更多...
 
enum  OBDeviceType { OB_STRUCTURED_LIGHT_MONOCULAR_CAMERA = 0, OB_STRUCTURED_LIGHT_BINOCULAR_CAMERA = 1, OB_TOF_CAMERA = 2 }
 设备类型枚举 更多...
 
enum  OBMediaType {
  OB_MEDIA_COLOR_STREAM = 1, OB_MEDIA_DEPTH_STREAM = 2, OB_MEDIA_IR_STREAM = 4, OB_MEDIA_GYRO_STREAM = 8,
  OB_MEDIA_ACCEL_STREAM = 16, OB_MEDIA_CAMERA_PARAM = 32, OB_MEDIA_DEVICE_INFO = 64, OB_MEDIA_STREAM_INFO = 128,
  OB_MEDIA_IR_LEFT_STREAM = 256, OB_MEDIA_IR_RIGHT_STREAM = 512, OB_MEDIA_ALL
}
 录制回放感兴趣数据类型 更多...
 
enum  OBMediaState { OB_MEDIA_BEGIN = 0, OB_MEDIA_PAUSE, OB_MEDIA_RESUME, OB_MEDIA_END }
 录制回放状态 更多...
 
enum  OBDepthPrecisionLevel {
  OB_PRECISION_1MM, OB_PRECISION_0MM8, OB_PRECISION_0MM4, OB_PRECISION_0MM1,
  OB_PRECISION_0MM2, OB_PRECISION_COUNT
}
 深度精度等级 更多...
 
enum  OBTofFilterRange { OB_TOF_FILTER_RANGE_CLOSE = 0, OB_TOF_FILTER_RANGE_MIDDLE = 1, OB_TOF_FILTER_RANGE_LONG = 2, OB_TOF_FILTER_RANGE_DEBUG = 100 }
 tof 滤波场景范围 更多...
 
enum  OBCompressionMode { OB_COMPRESSION_LOSSLESS = 0, OB_COMPRESSION_LOSSY = 1 }
 
enum  OBSyncMode {
  OB_SYNC_MODE_CLOSE = 0x00, OB_SYNC_MODE_STANDALONE = 0x01, OB_SYNC_MODE_PRIMARY = 0x02, OB_SYNC_MODE_SECONDARY = 0x03,
  OB_SYNC_MODE_PRIMARY_MCU_TRIGGER = 0x04, OB_SYNC_MODE_PRIMARY_IR_TRIGGER = 0x05, OB_SYNC_MODE_PRIMARY_SOFT_TRIGGER = 0x06, OB_SYNC_MODE_SECONDARY_SOFT_TRIGGER = 0x07,
  OB_SYNC_MODE_UNKNOWN = 0xff
}
 同步模式 更多...
 
enum  OB_CMD_VERSION {
  OB_CMD_VERSION_V0 = (uint16_t)0, OB_CMD_VERSION_V1 = (uint16_t)1, OB_CMD_VERSION_V2 = (uint16_t)2, OB_CMD_VERSION_V3 = (uint16_t)3,
  OB_CMD_VERSION_NOVERSION = (uint16_t)0xfffe, OB_CMD_VERSION_INVALID = (uint16_t)0xffff
}
 
enum  OBCommunicationType { OB_COMM_USB = 0x00, OB_COMM_NET = 0x01 }
 设备通信模式 更多...
 
enum  OBUSBPowerState { OB_USB_POWER_NO_PLUGIN = 0, OB_USB_POWER_5V_0A9 = 1, OB_USB_POWER_5V_1A5 = 2, OB_USB_POWER_5V_3A0 = 3 }
 USB电源连接状态 更多...
 
enum  OBDCPowerState { OB_DC_POWER_NO_PLUGIN = 0, OB_DC_POWER_PLUGIN = 1 }
 DC电源连接状态 更多...
 
enum  ob_rotate_degree_type { OB_ROTATE_DEGREE_0 = 0, OB_ROTATE_DEGREE_90 = 90, OB_ROTATE_DEGREE_180 = 180, OB_ROTATE_DEGREE_270 = 270 }
 旋转角度 更多...
 
enum  ob_power_line_freq_mode { OB_POWER_LINE_FREQ_MODE_CLOSE = 0, OB_POWER_LINE_FREQ_MODE_50HZ = 1, OB_POWER_LINE_FREQ_MODE_60HZ = 2 }
 电力线频率模式,用于Color相机防闪烁功能配置 更多...
 
enum  OB_FRAME_AGGREGATE_OUTPUT_MODE { OB_FRAME_AGGREGATE_OUTPUT_FULL_FRAME_REQUIRE = 0, OB_FRAME_AGGREGATE_OUTPUT_COLOR_FRAME_REQUIRE, OB_FRAME_AGGREGATE_OUTPUT_ANY_SITUATION }
 帧汇聚输出模式 更多...
 

详细描述

提供 SDK 常用的结构体、枚举常量定义。

在文件 ObTypes.h 中定义.

宏定义说明

#define OB_EXTENSION_API   __attribute__((visibility("default")))

在文件 ObTypes.h25 行定义.

#define OB_EXTENSION_INTERNAL_API

在文件 ObTypes.h26 行定义.

#define DEPRECATED

在文件 ObTypes.h35 行定义.

#define OB_FORMAT_RGB888   OB_FORMAT_RGB

在文件 ObTypes.h256 行定义.

#define OB_FORMAT_MJPEG   OB_FORMAT_MJPG

在文件 ObTypes.h257 行定义.

#define FORMAT_MJPEG_TO_I420   FORMAT_MJPG_TO_I420

在文件 ObTypes.h538 行定义.

#define FORMAT_MJPEG_TO_NV21   FORMAT_MJPG_TO_NV21

在文件 ObTypes.h539 行定义.

#define FORMAT_MJPEG_TO_RGB888   FORMAT_MJPG_TO_RGB888

在文件 ObTypes.h540 行定义.

#define FORMAT_MJPEG_TO_BGR888   FORMAT_MJPG_TO_BGR888

在文件 ObTypes.h541 行定义.

#define FORMAT_MJPEG_TO_BGRA   FORMAT_MJPG_TO_BGRA

在文件 ObTypes.h542 行定义.

#define OB_SYNC_STOP   OB_SYNC_MODE_CLOSE

在文件 ObTypes.h943 行定义.

#define OB_SYNC_SINGLE_MODE   OB_SYNC_MODE_STANDALONE

在文件 ObTypes.h944 行定义.

#define OB_SYNC_ONLINE_HOST_MODE   OB_SYNC_MODE_PRIMARY

在文件 ObTypes.h945 行定义.

#define OB_SYNC_ONLINE_SLAVE_MODE   OB_SYNC_MODE_SECONDARY

在文件 ObTypes.h946 行定义.

#define OB_SYNC_ONLY_MCU_MODE   OB_SYNC_MODE_PRIMARY_MCU_TRIGGER

在文件 ObTypes.h947 行定义.

#define OB_SYNC_ONLY_IR_MODE   OB_SYNC_MODE_PRIMARY_IR_TRIGGER

在文件 ObTypes.h948 行定义.

#define OBMultiDeviceSyncConfig   OBDeviceSyncConfig

在文件 ObTypes.h1052 行定义.

#define ob_multi_device_sync_config   ob_device_sync_config

在文件 ObTypes.h1053 行定义.

#define OB_MULTI_DEVICE_SYNC_CONFIG   OB_DEVICE_SYNC_CONFIG

在文件 ObTypes.h1054 行定义.

#define ob_filter_callback   ob_frame_callback

在文件 ObTypes.h1407 行定义.

#define ob_playback_callback   ob_frame_callback

在文件 ObTypes.h1408 行定义.

#define is_ir_sensor (   sensor_type)    (sensor_type == OB_SENSOR_IR || sensor_type == OB_SENSOR_IR_LEFT || sensor_type == OB_SENSOR_IR_RIGHT)

判断是否为 IR Sensor

在文件 ObTypes.h1444 行定义.

#define isIRSensor   is_ir_sensor

在文件 ObTypes.h1445 行定义.

#define is_ir_stream (   stream_type)    (stream_type == OB_STREAM_IR || stream_type == OB_STREAM_IR_LEFT || stream_type == OB_STREAM_IR_RIGHT)

判断是否为 IR 数据流

在文件 ObTypes.h1455 行定义.

#define isIRStream   is_ir_stream

在文件 ObTypes.h1456 行定义.

#define is_ir_frame (   frame_type)    (frame_type == OB_FRAME_IR || frame_type == OB_FRAME_IR_LEFT || frame_type == OB_FRAME_IR_RIGHT)

判断是否为 IR 数据帧

在文件 ObTypes.h1466 行定义.

#define isIRFrame   is_ir_frame

在文件 ObTypes.h1467 行定义.

类型定义说明

typedef struct ContextImpl ob_context

在文件 ObTypes.h47 行定义.

typedef struct DeviceImpl ob_device

在文件 ObTypes.h48 行定义.

typedef struct DeviceInfoImpl ob_device_info

在文件 ObTypes.h49 行定义.

typedef struct DeviceListImpl ob_device_list

在文件 ObTypes.h50 行定义.

typedef struct CameraParamListImpl ob_camera_param_list

在文件 ObTypes.h51 行定义.

typedef struct SensorImpl ob_sensor

在文件 ObTypes.h52 行定义.

typedef struct SensorListImpl ob_sensor_list

在文件 ObTypes.h53 行定义.

typedef struct StreamProfileImpl ob_stream_profile

在文件 ObTypes.h54 行定义.

typedef struct StreamProfileListImpl ob_stream_profile_list

在文件 ObTypes.h55 行定义.

typedef struct CFrameImpl ob_frame

在文件 ObTypes.h56 行定义.

typedef struct FilterImpl ob_filter

在文件 ObTypes.h57 行定义.

typedef struct PipelineImpl ob_pipeline

在文件 ObTypes.h58 行定义.

typedef struct ConfigImpl ob_config

在文件 ObTypes.h59 行定义.

typedef struct RecorderImpl ob_recorder

在文件 ObTypes.h60 行定义.

typedef struct PlaybackImpl ob_playback

在文件 ObTypes.h61 行定义.

typedef struct OBDepthWorkModeListImpl ob_depth_work_mode_list

在文件 ObTypes.h62 行定义.

typedef enum OBStatus ob_status
typedef struct ob_error ob_error

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

typedef enum OBFrameType ob_frame_type
typedef enum OBFormat ob_format
typedef struct OBDataChunk ob_data_chunk
typedef enum OBAlignMode ob_align_mode
typedef struct OBRect ob_rect
typedef struct OBAccelValue OBGyroValue
typedef struct OBAccelValue ob_accel_value
typedef struct OBAccelValue ob_gyro_value
typedef uint64_t OBDeviceState

设备状态码

在文件 ObTypes.h624 行定义.

typedef uint64_t ob_device_state

在文件 ObTypes.h624 行定义.

typedef enum OBMediaType ob_media_type
typedef enum OBMediaType OB_MEDIA_TYPE
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 OBDataBundle OBDataBundle

OrbbecSDK私有接口, 未来对外开放 功能:保存多版本数据结构的数据内容;

  1. 通过propertyId和cmdVersion可以决定具体的数据类型;
  2. 通过itemCount可以决定data内容映射的对象数量;
  3. 由于 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 void(* ob_file_send_callback) (ob_file_tran_state state, const char *message, uint8_t percent, void *user_data)

文件传输回调

参数
state传输状态
message传输状态信息
state传输进度百分比
user_data用户自定义数据

在文件 ObTypes.h1304 行定义.

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

在文件 ObTypes.h1320 行定义.

typedef void(* ob_device_state_callback) (ob_device_state state, const char *message, void *user_data)

设备状态回调

参数
state设备状态
message设备状态信息
user_data用户自定义数据

在文件 ObTypes.h1335 行定义.

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

写数据的回调

参数
state写数据状态
percent写数据百分比
user_data用户自定义数据

在文件 ObTypes.h1350 行定义.

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

读数据回调

参数
state读数据状态
dataChunk读取返回的数据块
user_data用户自定义数据

在文件 ObTypes.h1365 行定义.

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

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

参数
state状态
user_data用户自定义数据

在文件 ObTypes.h1378 行定义.

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

设备变化(上下线)回调

参数
removed已删除(掉线)的设备列表
added已添加(上线)的设备列表
user_data用户自定义数据

在文件 ObTypes.h1393 行定义.

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

数据帧回调

参数
frame数据帧
user_data用户自定义数据

在文件 ObTypes.h1406 行定义.

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

数据帧集合回调

参数
frameset数据帧集合
user_data用户自定义数据

在文件 ObTypes.h1421 行定义.

typedef void( ob_frame_destroy_callback) (void *buffer, void *context)

自定义删除回调,当引用计数为 0 时主动调用

参数
buffer需要被删除的数据
context用户传入的数据

在文件 ObTypes.h1434 行定义.

枚举类型说明

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

枚举值
OB_PERMISSION_DENY 

无访问权限

OB_PERMISSION_READ 

可读

OB_PERMISSION_WRITE 

可写

OB_PERMISSION_READ_WRITE 

可读写

在文件 ObTypes.h71 行定义.

enum OBStatus

错误码

枚举值
OB_STATUS_OK 

状态正常

OB_STATUS_ERROR 

状态异常

在文件 ObTypes.h86 行定义.

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

枚举值
OB_LOG_SEVERITY_DEBUG 

调试

OB_LOG_SEVERITY_INFO 

信息

OB_LOG_SEVERITY_WARN 

警告

OB_LOG_SEVERITY_ERROR 

错误

OB_LOG_SEVERITY_FATAL 

致命错误

OB_LOG_SEVERITY_NONE 

无 (关闭 LOG)

在文件 ObTypes.h99 行定义.

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

枚举值
OB_EXCEPTION_TYPE_UNKNOWN 

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

OB_EXCEPTION_TYPE_CAMERA_DISCONNECTED 

SDK 的设备断开的异常

OB_EXCEPTION_TYPE_PLATFORM 

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

OB_EXCEPTION_TYPE_INVALID_VALUE 

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

OB_EXCEPTION_TYPE_WRONG_API_CALL_SEQUENCE 

API 版本不匹配带来的异常

OB_EXCEPTION_TYPE_NOT_IMPLEMENTED 

SDK 及固件还未实现功能

OB_EXCEPTION_TYPE_IO 

SDK 访问 IO 异常错误

OB_EXCEPTION_TYPE_MEMORY 

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

OB_EXCEPTION_TYPE_UNSUPPORTED_OPERATION 

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

在文件 ObTypes.h118 行定义.

描述传感器类型的枚举值

枚举值
OB_SENSOR_UNKNOWN 

未知类型传感器

OB_SENSOR_IR 

红外

OB_SENSOR_COLOR 

彩色

OB_SENSOR_DEPTH 

深度

OB_SENSOR_ACCEL 

加速度计

OB_SENSOR_GYRO 

陀螺仪

OB_SENSOR_IR_LEFT 

左红外

OB_SENSOR_IR_RIGHT 

右红外

在文件 ObTypes.h159 行定义.

描述数据流类型的枚举值

枚举值
OB_STREAM_UNKNOWN 

未知类型数据流

OB_STREAM_VIDEO 

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

OB_STREAM_IR 

红外流

OB_STREAM_COLOR 

彩色流

OB_STREAM_DEPTH 

深度流

OB_STREAM_ACCEL 

加速度计数据流

OB_STREAM_GYRO 

陀螺仪数据流

OB_STREAM_IR_LEFT 

左路红外流

OB_STREAM_IR_RIGHT 

右路红外流

在文件 ObTypes.h178 行定义.

描述 Frame 类型枚举值

枚举值
OB_FRAME_UNKNOWN 

未知类型数据帧

OB_FRAME_VIDEO 

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

OB_FRAME_IR 

红外帧

OB_FRAME_COLOR 

彩色帧

OB_FRAME_DEPTH 

深度帧

OB_FRAME_ACCEL 

加速度计数据帧

OB_FRAME_SET 

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

OB_FRAME_POINTS 

点云帧

OB_FRAME_GYRO 

陀螺仪数据帧

OB_FRAME_IR_LEFT 

左路红外帧

OB_FRAME_IR_RIGHT 

右路红外帧

在文件 ObTypes.h199 行定义.

enum OBFormat

描述像素格式的枚举值

枚举值
OB_FORMAT_YUYV 

YUYV 格式

OB_FORMAT_YUY2 

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

OB_FORMAT_UYVY 

UYVY 格式

OB_FORMAT_NV12 

NV12 格式

OB_FORMAT_NV21 

NV21 格式

OB_FORMAT_MJPG 

MJPEG 编码格式

OB_FORMAT_H264 

H.264 编码格式

OB_FORMAT_H265 

H.265 编码格式

OB_FORMAT_Y16 

Y16 格式,单通道 16bit 深度

OB_FORMAT_Y8 

Y8 格式,单通道 8bit 深度

OB_FORMAT_Y10 

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

OB_FORMAT_Y11 

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

OB_FORMAT_Y12 

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

OB_FORMAT_GRAY 

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

OB_FORMAT_HEVC 

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

OB_FORMAT_I420 

I420 格式

OB_FORMAT_ACCEL 

加速度数据格式

OB_FORMAT_GYRO 

陀螺仪数据格式

OB_FORMAT_POINT 

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

OB_FORMAT_RGB_POINT 

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

OB_FORMAT_RLE 

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

OB_FORMAT_RGB 

RGB888 格式 (实际 RGB888)

OB_FORMAT_BGR 

BGR 格式 (实际 BRG888)

OB_FORMAT_Y14 

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

OB_FORMAT_BGRA 

BGRA

OB_FORMAT_COMPRESSED 

压缩格式

OB_FORMAT_UNKNOWN 

未知格式

在文件 ObTypes.h221 行定义.

固件升级状态

枚举值
STAT_FILE_TRANSFER 

文件传输中

STAT_DONE 

升级完成

STAT_IN_PROGRESS 

升级中

STAT_START 

开始升级

STAT_VERIFY_IMAGE 

镜像文件校验中

ERR_VERIFY 

校验失败

ERR_PROGRAM 

程序执行失败

ERR_ERASE 

Flash 参数失败

ERR_FLASH_TYPE 

Flash 类型错误

ERR_IMAGE_SIZE 

镜像文件大小错误

ERR_OTHER 

其他错误

ERR_DDR 

DDR 访问错误

ERR_TIMEOUT 

超时错误

在文件 ObTypes.h266 行定义.

文件传输状态

枚举值
FILE_TRAN_STAT_TRANSFER 

文件传输中

FILE_TRAN_STAT_DONE 

文件传输成功

FILE_TRAN_STAT_PREPAR 

准备中

FILE_TRAN_ERR_DDR 

DDR 访问失败

FILE_TRAN_ERR_NOT_ENOUGH_SPACE 

目标空间不足错误

FILE_TRAN_ERR_PATH_NOT_WRITABLE 

目标路径不可写

FILE_TRAN_ERR_MD5_ERROR 

MD5 校验错误

FILE_TRAN_ERR_WRITE_FLASH_ERROR 

写 Flash 错误

FILE_TRAN_ERR_TIMEOUT 

超时错误

在文件 ObTypes.h289 行定义.

数据传输状态

枚举值
DATA_TRAN_STAT_STOPPED 

数据传输终止

DATA_TRAN_STAT_DONE 

数据传输完成

DATA_TRAN_STAT_VERIFYING 

数据校验中

DATA_TRAN_STAT_TRANSFERRING 

数据传输中

DATA_TRAN_ERR_BUSY 

传输忙

DATA_TRAN_ERR_UNSUPPORTED 

不支持

DATA_TRAN_ERR_TRAN_FAILED 

传输失败

DATA_TRAN_ERR_VERIFY_FAILED 

检验失败

DATA_TRAN_ERR_OTHER 

其他错误 \ endif

在文件 ObTypes.h309 行定义.

对齐模式

枚举值
ALIGN_DISABLE 

关闭对齐

ALIGN_D2C_HW_MODE 

硬件 D2C 对齐模式

ALIGN_D2C_SW_MODE 

软件 D2C 对齐模式

在文件 ObTypes.h493 行定义.

格式转换类型枚举

枚举值
FORMAT_YUYV_TO_RGB888 

YUYV 转换为 RGB888

FORMAT_I420_TO_RGB888 

I420 转换为 RGB888

FORMAT_NV21_TO_RGB888 

NV21 转换为 RGB888

FORMAT_NV12_TO_RGB888 

NV12 转换为 RGB888

FORMAT_MJPG_TO_I420 

MJPG 转换为 I420

FORMAT_RGB888_TO_BGR 

RGB888 转换为 BGR

FORMAT_MJPG_TO_NV21 

MJPG 转换为 NV21

FORMAT_MJPG_TO_RGB888 

MJPG 转换为 RGB888

FORMAT_MJPG_TO_BGR888 

MJPG 转换为 BGR888

FORMAT_MJPG_TO_BGRA 

MJPG 转换为 BGRA

FORMAT_UYVY_TO_RGB888 

MJPG 转换为 RGB888

FORMAT_BGR_TO_RGB 

BGR 转换为 RGB

在文件 ObTypes.h521 行定义.

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

枚举值
OB_SAMPLE_RATE_1_5625_HZ 

1.5625Hz

OB_SAMPLE_RATE_3_125_HZ 

3.125Hz

OB_SAMPLE_RATE_6_25_HZ 

6.25Hz

OB_SAMPLE_RATE_12_5_HZ 

12.5Hz

OB_SAMPLE_RATE_25_HZ 

25Hz

OB_SAMPLE_RATE_50_HZ 

50Hz

OB_SAMPLE_RATE_100_HZ 

100Hz

OB_SAMPLE_RATE_200_HZ 

200Hz

OB_SAMPLE_RATE_500_HZ 

500Hz

OB_SAMPLE_RATE_1_KHZ 

1KHz

OB_SAMPLE_RATE_2_KHZ 

2KHz

OB_SAMPLE_RATE_4_KHZ 

4KHz

OB_SAMPLE_RATE_8_KHZ 

8KHz

OB_SAMPLE_RATE_16_KHZ 

16KHz

OB_SAMPLE_RATE_32_KHZ 

32Hz

在文件 ObTypes.h551 行定义.

陀螺仪量程的枚举

枚举值
OB_GYRO_FS_16dps 

16 度每秒

OB_GYRO_FS_31dps 

31 度每秒

OB_GYRO_FS_62dps 

62 度每秒

OB_GYRO_FS_125dps 

125 度每秒

OB_GYRO_FS_250dps 

250 度每秒

OB_GYRO_FS_500dps 

500 度每秒

OB_GYRO_FS_1000dps 

1000 度每秒

OB_GYRO_FS_2000dps 

2000 度每秒

在文件 ObTypes.h577 行定义.

加速度计量程枚举

枚举值
OB_ACCEL_FS_2g 

1 倍重力加速度

OB_ACCEL_FS_4g 

4 倍重力加速度

OB_ACCEL_FS_8g 

8 倍重力加速度

OB_ACCEL_FS_16g 

16 倍重力加速度 \ endif

在文件 ObTypes.h596 行定义.

深度裁切模式枚举

枚举值
DEPTH_CROPPING_MODE_AUTO 

自动模式

DEPTH_CROPPING_MODE_CLOSE 

关闭裁切

DEPTH_CROPPING_MODE_OPEN 

打开裁切

在文件 ObTypes.h654 行定义.

设备类型枚举

枚举值
OB_STRUCTURED_LIGHT_MONOCULAR_CAMERA 

单目结构光相机

OB_STRUCTURED_LIGHT_BINOCULAR_CAMERA 

双目结构光相机

OB_TOF_CAMERA 

TOF 相机

在文件 ObTypes.h668 行定义.

录制回放感兴趣数据类型

枚举值
OB_MEDIA_COLOR_STREAM 

彩色流 \ endif

OB_MEDIA_DEPTH_STREAM 

深度流

OB_MEDIA_IR_STREAM 

红外流

OB_MEDIA_GYRO_STREAM 

陀螺仪数据流

OB_MEDIA_ACCEL_STREAM 

加速度计数据流

OB_MEDIA_CAMERA_PARAM 

相机参数

OB_MEDIA_DEVICE_INFO 

设备信息

OB_MEDIA_STREAM_INFO 

流信息

OB_MEDIA_IR_LEFT_STREAM 

左 IR 流

OB_MEDIA_IR_RIGHT_STREAM 

右 IR 流

OB_MEDIA_ALL 

所有媒体数据类型

在文件 ObTypes.h682 行定义.

录制回放状态

枚举值
OB_MEDIA_BEGIN 

开始

OB_MEDIA_PAUSE 

暂停

OB_MEDIA_RESUME 

继续

OB_MEDIA_END 

终止

在文件 ObTypes.h707 行定义.

深度精度等级

注意
深度精度等级并不完全决定深度的单位和真实精度,需要考虑数据打包格式的影响, 具体单位可通过 DepthFrame 的 getValueScale() 获取
枚举值
OB_PRECISION_1MM 

1mm

OB_PRECISION_0MM8 

0.8mm

OB_PRECISION_0MM4 

0.4mm

OB_PRECISION_0MM1 

0.1mm

OB_PRECISION_0MM2 

0.2mm

OB_PRECISION_COUNT 

在文件 ObTypes.h725 行定义.

tof 滤波场景范围

枚举值
OB_TOF_FILTER_RANGE_CLOSE 

近距离范围

OB_TOF_FILTER_RANGE_MIDDLE 

中距离范围

OB_TOF_FILTER_RANGE_LONG 

远距离范围

OB_TOF_FILTER_RANGE_DEBUG 

Debug 模式

在文件 ObTypes.h742 行定义.

枚举值
OB_COMPRESSION_LOSSLESS 
OB_COMPRESSION_LOSSY 

在文件 ObTypes.h779 行定义.

enum OBSyncMode

同步模式

枚举值
OB_SYNC_MODE_CLOSE 

同步关闭

单机,不接收外部触发信号,不输出触发信号 单机内各 Sensor 自触发

OB_SYNC_MODE_STANDALONE 

单机模式

单机,不接收外部触发信号,不输出触发信号 单机内 RGB 做主: RGB -> IR/Depth/TOF

OB_SYNC_MODE_PRIMARY 

主机模式

主机,不接收外部触发信号,向外输出触发信号 单机内 RGB 做主:RGB -> IR/Depth/TOF

注意
部分设备型号不支持该模式: Gemini 2 设备设置该模式会自动变更为 OB_SYNC_MODE_PRIMARY_MCU_TRIGGER 模式
OB_SYNC_MODE_SECONDARY 

从机模式

从机,接收外部触发信号,同时向外中继输出触发信号 单机内不同 Sensor 各自接收触发信号:ext trigger -> RGB && ext trigger -> IR/Depth/TOF

注意
当前 Gemini 2 设备设置为该模式后,各Sensor在开流后,接收到第一次外部触发信号即开始按照设置的帧率进行定时自触发,直到流关闭
OB_SYNC_MODE_PRIMARY_MCU_TRIGGER 

MCU 主模式

主机,不接收外部触发信号,向外输出触发信号 单机内 MCU 做主: MCU -> RGB && MCU -> IR/Depth/TOF

OB_SYNC_MODE_PRIMARY_IR_TRIGGER 

IR 主模式

主机,不接收外部触发信号,向外输出触发信号 单机内 IR 做主:IR/Depth/TOF -> RGB

OB_SYNC_MODE_PRIMARY_SOFT_TRIGGER 

软触发模式

主机,由软件控制触发(接收上位机命令触发),同时向外中继输出触发信号 单机内不同 Sensor 各自接收触发信号:soft trigger -> RGB && soft trigger -> IR/Depth/TOF

注意
当前仅 Gemini2 支持该模式
OB_SYNC_MODE_SECONDARY_SOFT_TRIGGER 

软触发从机模式

从机,接收外部触发信号(外部触发信号来自软触发的主机),同时向外中继输出触发信号。 单机内不同 Sensor 各自接收触发信号:ext trigger -> RGB && ext trigger -> IR/Depth/TOF

注意
当前仅 Gemini2 支持该模式
OB_SYNC_MODE_UNKNOWN 

未知类型

在文件 ObTypes.h808 行定义.

与属性ID关联的协议版本

枚举值
OB_CMD_VERSION_V0 

版本1.0

OB_CMD_VERSION_V1 

版本2.0

OB_CMD_VERSION_V2 

版本3.0

OB_CMD_VERSION_V3 

版本4.0

OB_CMD_VERSION_NOVERSION 
OB_CMD_VERSION_INVALID 

无效版本

在文件 ObTypes.h1097 行定义.

设备通信模式

枚举值
OB_COMM_USB 

USB.

OB_COMM_NET 

以太网

在文件 ObTypes.h1171 行定义.

USB电源连接状态

枚举值
OB_USB_POWER_NO_PLUGIN 

未插入

OB_USB_POWER_5V_0A9 

5V/0.9A

OB_USB_POWER_5V_1A5 

5V/1.5A

OB_USB_POWER_5V_3A0 

5V/3.0A

在文件 ObTypes.h1184 行定义.

DC电源连接状态

枚举值
OB_DC_POWER_NO_PLUGIN 

未插入

OB_DC_POWER_PLUGIN 

已插入

在文件 ObTypes.h1199 行定义.

旋转角度

枚举值
OB_ROTATE_DEGREE_0 

旋转0度

OB_ROTATE_DEGREE_90 

旋转90度

OB_ROTATE_DEGREE_180 

旋转180度

OB_ROTATE_DEGREE_270 

旋转270度

在文件 ObTypes.h1212 行定义.

电力线频率模式,用于Color相机防闪烁功能配置

枚举值
OB_POWER_LINE_FREQ_MODE_CLOSE 

关闭

OB_POWER_LINE_FREQ_MODE_50HZ 

50Hz

OB_POWER_LINE_FREQ_MODE_60HZ 

60Hz

在文件 ObTypes.h1227 行定义.

帧汇聚输出模式

枚举值
OB_FRAME_AGGREGATE_OUTPUT_FULL_FRAME_REQUIRE 

只有包含所有类型数据帧的FrameSet才会被输出

OB_FRAME_AGGREGATE_OUTPUT_COLOR_FRAME_REQUIRE 

必须包含Color类似数据帧的FrameSet才会被输出

适用于Color使用H264、H265等帧间编码格式开流的情况

注意
该模式下,用户从获取到的FrameSet上获取非Color类型数据帧可能会返回空
OB_FRAME_AGGREGATE_OUTPUT_ANY_SITUATION 

任何情况的FrameSet都会被输出

注意
该模式下,用户从获取到的FrameSet上获取指定类型数据帧可能会返回空

在文件 ObTypes.h1241 行定义.