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_frameob_frameset_depth_frame (ob_frame *frameset, ob_error **error)
 从帧集合中获取深度帧 更多...
 
ob_frameob_frameset_color_frame (ob_frame *frameset, ob_error **error)
 从帧集合中获取彩色帧 更多...
 
ob_frameob_frameset_ir_frame (ob_frame *frameset, ob_error **error)
 从帧集合中获取红外帧 更多...
 
ob_frameob_frameset_points_frame (ob_frame *frameset, ob_error **error)
 从帧集合中获取点云数据 更多...
 
ob_frameob_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_frameob_create_frame (ob_format frame_format, int width, int height, int stride_bytes, ob_frame_type frame_type, ob_error **error)
 创建空的帧对象 更多...
 
ob_frameob_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_frameob_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记录错误信息