| OrbbecSDK 1.5.7 OrbbecSDK: Software-Development-Kit for Orbbec 3D-Sensor devices

- 首页
- 命名空间
- 类
- 文件

- 文件列表
- 文件成员

函数
Frame.h 文件参考

帧相关函数，主要用于获取帧数据及帧的信息 更多...

`#include "ObTypes.h"`

浏览源代码.

## 函数
uint64_t | ob_frame_index (ob_frame *frame, ob_error **error)
| 获取帧索引 更多...
ob_format | ob_frame_format (ob_frame *frame, ob_error **error)
| 获取帧格式 更多...
ob_frame_type | ob_frame_get_type (ob_frame *frame, ob_error **error)
| 获取帧类型 更多...
uint64_t | ob_frame_time_stamp (ob_frame *frame, ob_error **error)
| 获取帧硬件时间戳 更多...
uint64_t | ob_frame_time_stamp_us (ob_frame *frame, ob_error **error)
| 获取帧硬件时间戳us 更多...
uint64_t | ob_frame_system_time_stamp (ob_frame *frame, ob_error **error)
| 获取帧系统时间戳 更多...
void * | ob_frame_data (ob_frame *frame, ob_error **error)
| 获取帧数据 更多...
uint32_t | ob_frame_data_size (ob_frame *frame, ob_error **error)
| 获取帧数据大小 更多...
uint32_t | ob_video_frame_width (ob_frame *frame, ob_error **error)
| 获取视频帧宽 更多...
uint32_t | ob_video_frame_height (ob_frame *frame, ob_error **error)
| 获取视频帧高 更多...
void * | ob_video_frame_metadata (ob_frame *frame, ob_error **error)
| 获取帧的元数据 更多...
uint32_t | ob_video_frame_metadata_size (ob_frame *frame, ob_error **error)
| 获取帧的元数据大小 更多...
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。 更多...
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。 更多...
void | ob_delete_frame (ob_frame *frame, ob_error **error)
| 删除帧 更多...
uint32_t | ob_frameset_frame_count (ob_frame *frameset, ob_error **error)
| 获取帧集合包含的帧数量 更多...
ob_frame * | ob_frameset_depth_frame (ob_frame *frameset, ob_error **error)
| 从帧集合中获取深度帧 更多...
ob_frame * | ob_frameset_color_frame (ob_frame *frameset, ob_error **error)
| 从帧集合中获取彩色帧 更多...
ob_frame * | ob_frameset_ir_frame (ob_frame *frameset, ob_error **error)
| 从帧集合中获取红外帧 更多...
ob_frame * | ob_frameset_points_frame (ob_frame *frameset, ob_error **error)
| 从帧集合中获取点云数据 更多...
ob_frame * | ob_frameset_get_frame (ob_frame *frameset, ob_frame_type frame_type, ob_error **error)
ob_accel_value | ob_accel_frame_value (ob_frame *frame, ob_error **error)
| 获取加速度帧数据 更多...
float | ob_accel_frame_temperature (ob_frame *frame, ob_error **error)
| 获取加速度帧采样时温度 更多...
ob_gyro_value | ob_gyro_frame_value (ob_frame *frame, ob_error **error)
| 获取陀螺仪帧数据 更多...
float | ob_gyro_frame_temperature (ob_frame *frame, ob_error **error)
| 获取加速度帧采样时温度 更多...
void | ob_frame_add_ref (ob_frame *frame, ob_error **error)
| 增加引用计数 更多...
ob_frame * | ob_create_frame (ob_format frame_format, int width, int height, int stride_bytes, ob_frame_type frame_type, ob_error **error)
| 创建空的帧对象 更多...
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创建帧对象 更多...
ob_frame * | ob_create_frameset (ob_error **error)
| 创建空的帧集合 更多...
void | ob_frameset_push_frame (ob_frame *frameset, ob_frame_type type, ob_frame *frame, ob_error **error)
| push帧 更多...
void | ob_frame_set_system_time_stamp (ob_frame *frame, uint64_t system_timestamp, ob_error **error)
| 设置帧的系统时间戳 更多...
void | ob_frame_set_device_time_stamp (ob_frame *frame, uint64_t device_timestamp, ob_error **error)
| 设置帧的设备时间戳 更多...
void | ob_frame_set_device_time_stamp_us (ob_frame *frame, uint64_t device_timestamp_us, ob_error **error)
| 设置帧的设备时间戳 更多...

## 详细描述

帧相关函数，主要用于获取帧数据及帧的信息

在文件 Frame.h 中定义.

## 函数说明

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

获取帧索引

参数

  [in] | frame | 帧对象
  [out] | error | 记录错误信息

返回
  uint64_t 返回帧索引

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

获取帧格式

参数

  [in] | frame | 帧对象
  [out] | error | 记录错误信息

返回
  ob_format 返回帧格式

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

获取帧类型

参数

  [in] | frame | 帧对象
  [out] | error | 记录错误信息

返回
  ob_frame_type 返回帧类型

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

获取帧硬件时间戳

参数

  [in] | frame | 帧对象
  [out] | error | 记录错误信息

返回
  uint64_t 返回帧硬件时间戳

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

获取帧硬件时间戳us

参数

  [in] | frame | 帧对象
  [out] | error | 记录错误信息

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

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

获取帧系统时间戳

参数

  [in] | frame | 帧对象
  [out] | error | 记录错误信息

返回
  uint64_t 返回帧系统时间戳

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

获取帧数据

参数

  [in] | frame | 帧对象
  [out] | error | 记录错误信息

返回
  void* 返回帧数据指针

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

获取帧数据大小

参数

  [in] | frame | 帧对象
  [out] | error | 记录错误信息

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

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

获取视频帧宽

参数

  [in] | frame | 帧对象
  [out] | error | 记录错误信息

返回
  uint32_t 返回帧宽

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

获取视频帧高

参数

  [in] | frame | 帧对象
  [out] | error | 记录错误信息

返回
  uint32_t 返回帧高

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

获取帧的元数据

参数

  [in] | frame | 视频帧对象
  [out] | error | 记录错误信息

返回
  void* 返回帧的元数据指针

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

获取帧的元数据大小

参数

  [in] | frame | 视频帧对象
  [out] | error | 记录错误信息

返回
  uint32_t 返回帧的元数据大小

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

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

注意
  仅对Y8/Y10/Y11/Y12/Y14/Y16格式有效

参数

  [in] | frame | 视频帧对象
  [out] | error | 记录错误信息

返回
  uint8_t 返回像素有效位数，如果是不支持的格式，返回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。

参数

  [in] | frame | 帧对象
  [out] | error | 记录错误信息

返回
  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。

参数

  [in] | frame | 点云帧对象
  [out] | error | 记录错误信息

返回
  float 缩放系数

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

删除帧

参数

  [in] | frame | 要删除的帧对象
  [out] | error | 记录错误信息

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

获取帧集合包含的帧数量

参数

  [in] | frameset | 帧集合对象
  [out] | error | 记录错误信息

返回
  uint32_t 返回帧数量

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

从帧集合中获取深度帧

参数

  [in] | frameset | 帧集合对象
  [out] | error | 记录错误信息

返回
  ob_frame* 返回深度帧

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

从帧集合中获取彩色帧

参数

  [in] | frameset | 帧集合对象
  [out] | error | 记录错误信息

返回
  ob_frame* 返回彩色帧

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

从帧集合中获取红外帧

参数

  [in] | frameset | 帧集合对象
  [out] | error | 记录错误信息

返回
  ob_frame* 返回红外帧

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

从帧集合中获取点云数据

参数

  [in] | frameset | 帧集合对象
  [out] | error | 记录错误信息

返回
  ob_frame* 返回点云帧

ob_frame* ob_frameset_get_frame | ( | ob_frame * | frameset,
|  | ob_frame_type | frame_type,
|  | ob_error ** | error
| ) |  |

获取指定类型的frame

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

获取加速度帧数据

参数

  [in] | frame | 加速度帧
  [out] | error | 记录错误信息

返回
  ob_accel_value 加速度数据

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

获取加速度帧采样时温度

参数

  [in] | frame | 加速度帧
  [out] | error | 记录错误信息

返回
  float 返回数值

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

获取陀螺仪帧数据

参数

  [in] | frame | 陀螺仪帧
  [out] | error | 记录错误信息

返回
  ob_gyro_value 陀螺仪数据

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

获取加速度帧采样时温度

参数

  [in] | frame | 加速度帧
  [out] | error | 记录错误信息

返回
  float 返回数值

void ob_frame_add_ref | ( | ob_frame * | frame,
|  | ob_error ** | error
| ) |  |

增加引用计数

参数

  [in] | frame | 要增加引用计数的帧对象
  [out] | error | 记录错误信息

ob_frame* ob_create_frame | ( | ob_format | frame_format,
|  | int | width,
|  | int | height,
|  | int | stride_bytes,
|  | ob_frame_type | frame_type,
|  | ob_error ** | error
| ) |  |

创建空的帧对象

参数

  [in] | frame_format | 帧格式
  [in] | width | 帧宽度
  [in] | height | 帧高度
  [in] | stride_bytes | 数据行跨度
  [in] | frame_type | 帧类型
  [out] | error | 记录错误信息

返回
  ob_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创建帧对象

参数

  [in] | frame_format | 帧格式
  [in] | frame_width | 帧宽度
  [in] | frame_height | 帧高度
  [in] | buffer | 帧数据
  [in] | buffer_size | 帧数据大小
  [in] | buffer_destroy_cb | 自定义销毁buffer回调
  [in] | buffer_destroy_context | 自定义销毁buffer回调用户数据
  [out] | error | 记录错误信息

返回
  ob_frame* 返回创建的帧对象

ob_frame* ob_create_frameset | ( | ob_error ** | error | ) |

创建空的帧集合

参数

  [out] | error | 记录错误信息

返回
  ob_frame* 返回创建的帧集合对象

void ob_frameset_push_frame | ( | ob_frame * | frameset,
|  | ob_frame_type | type,
|  | ob_frame * | frame,
|  | ob_error ** | error
| ) |  |

push帧

参数

  [in] | frameset | 帧集合对象
  [in] | type | 帧类型
  [in] | frame | 帧对象
  [out] | error | 记录错误信息

void ob_frame_set_system_time_stamp | ( | ob_frame * | frame,
|  | uint64_t | system_timestamp,
|  | ob_error ** | error
| ) |  |

设置帧的系统时间戳

参数

  [in] | frame | 设置的帧对象
  [in] | systemTimestamp | 设置的系统时间戳
  [out] | error | 记录错误信息

void ob_frame_set_device_time_stamp | ( | ob_frame * | frame,
|  | uint64_t | device_timestamp,
|  | ob_error ** | error
| ) |  |

设置帧的设备时间戳

参数

  [in] | frame | 设置的帧对象
  [in] | deviceTimestamp | 设置的设备时间戳
  [out] | error | 记录错误信息

void ob_frame_set_device_time_stamp_us | ( | ob_frame * | frame,
|  | uint64_t | device_timestamp_us,
|  | ob_error ** | error
| ) |  |

设置帧的设备时间戳

参数

  [in] | frame | 设置的帧对象
  [in] | deviceTimestampUs | 设置的设备时间戳（Us）
  [out] | error | 记录错误信息