OrbbecSDK 1.10.18
OrbbecSDK: Software-Development-Kit for Orbbec 3D Cameras
|
Frame related function is mainly used to obtain frame data and frame information. More...
#include "ObTypes.h"
Go to the source code of this file.
Macros | |
#define | ob_video_frame_metadata ob_frame_metadata |
#define | ob_video_frame_metadata_size ob_frame_metadata_size |
Functions | |
uint64_t | ob_frame_index (ob_frame *frame, ob_error **error) |
Get the frame index. | |
ob_format | ob_frame_format (ob_frame *frame, ob_error **error) |
Get the frame format. | |
ob_frame_type | ob_frame_get_type (ob_frame *frame, ob_error **error) |
Get the frame type. | |
uint64_t | ob_frame_time_stamp (ob_frame *frame, ob_error **error) |
Get the hardware timestamp of the frame in milliseconds. | |
uint64_t | ob_frame_time_stamp_us (ob_frame *frame, ob_error **error) |
Get the hardware timestamp of the frame in microseconds. | |
uint64_t | ob_frame_system_time_stamp (ob_frame *frame, ob_error **error) |
Get the system timestamp of the frame in milliseconds. | |
uint64_t | ob_frame_system_time_stamp_us (ob_frame *frame, ob_error **error) |
Get the system timestamp of the frame in microseconds. | |
uint64_t | ob_frame_global_time_stamp_us (ob_frame *frame, ob_error **error) |
Get the global timestamp of the frame in microseconds. | |
void * | ob_frame_data (ob_frame *frame, ob_error **error) |
Get frame data. | |
uint32_t | ob_frame_data_size (ob_frame *frame, ob_error **error) |
Get the frame data size. | |
void * | ob_frame_metadata (ob_frame *frame, ob_error **error) |
Get the metadata of the frame. | |
uint32_t | ob_frame_metadata_size (ob_frame *frame, ob_error **error) |
Get the metadata size of the frame. | |
bool | ob_frame_has_metadata (ob_frame *frame, ob_frame_metadata_type type, ob_error **error) |
check if the frame contains the specified metadata | |
int64_t | ob_frame_get_metadata_value (ob_frame *frame, ob_frame_metadata_type type, ob_error **error) |
Get the metadata value of the frame. | |
ob_stream_profile * | ob_frame_get_stream_profile (ob_frame *frame, ob_error **error) |
Get the stream profile of the frame. | |
ob_sensor * | ob_frame_get_sensor (ob_frame *frame, ob_error **error) |
Get the sensor of the frame. | |
ob_device * | ob_frame_get_device (ob_frame *frame, ob_error **error) |
Get the device of the frame. | |
uint32_t | ob_video_frame_width (ob_frame *frame, ob_error **error) |
Get video frame width. | |
uint32_t | ob_video_frame_height (ob_frame *frame, ob_error **error) |
Get video frame height. | |
uint8_t | ob_video_frame_pixel_available_bit_size (ob_frame *frame, ob_error **error) |
Get the effective number of pixels (such as Y16 format frame, but only the lower 10 bits are effective bits, and the upper 6 bits are filled with 0) | |
ob_sensor_type | ob_ir_frame_get_source_sensor_type (ob_frame *frame, ob_error **ob_error) |
Get the source sensor type of the ir frame (left or right for dual camera) | |
float | ob_depth_frame_get_value_scale (ob_frame *frame, ob_error **error) |
Get the value scale of the depth frame. The pixel value of the depth frame is multiplied by the scale to give a depth value in millimeters. For example, if valueScale=0.1 and a certain coordinate pixel value is pixelValue=10000, then the depth value = pixelValue*valueScale = 10000*0.1=1000mm. | |
float | ob_points_frame_get_position_value_scale (ob_frame *frame, ob_error **error) |
Get the point position value scale of the points frame. The point position value of the points frame is multiplied by the scale to give a position value in millimeters. For example, if scale=0.1, the x-coordinate value of a point is x = 10000, which means that the actual x-coordinate value = x*scale = 10000*0.1 = 1000mm. | |
void | ob_delete_frame (ob_frame *frame, ob_error **error) |
Delete a frame object. | |
uint32_t | ob_frameset_frame_count (ob_frame *frameset, ob_error **error) |
Get the number of frames contained in the frameset. | |
ob_frame * | ob_frameset_depth_frame (ob_frame *frameset, ob_error **error) |
Get the depth frame from the frameset. | |
ob_frame * | ob_frameset_color_frame (ob_frame *frameset, ob_error **error) |
Get the color frame from the frameset. | |
ob_frame * | ob_frameset_ir_frame (ob_frame *frameset, ob_error **error) |
Get the infrared frame from the frameset. | |
ob_frame * | ob_frameset_points_frame (ob_frame *frameset, ob_error **error) |
Get point cloud data from the frameset. | |
ob_frame * | ob_frameset_get_frame (ob_frame *frameset, ob_frame_type frame_type, ob_error **error) |
Get a frame of a specific type from the frameset. | |
ob_frame * | ob_frameset_get_frame_by_index (ob_frame *frameset, int index, ob_error **error) |
Get a frame at a specific index from the FrameSet. | |
ob_accel_value | ob_accel_frame_value (ob_frame *frame, ob_error **error) |
Get accelerometer frame data. | |
float | ob_accel_frame_temperature (ob_frame *frame, ob_error **error) |
Get the temperature when acquiring the accelerometer frame. | |
ob_gyro_value | ob_gyro_frame_value (ob_frame *frame, ob_error **error) |
Get gyroscope frame data. | |
float | ob_gyro_frame_temperature (ob_frame *frame, ob_error **error) |
Get the temperature when acquiring the gyroscope frame. | |
void | ob_frame_add_ref (ob_frame *frame, ob_error **error) |
Increase the reference count of a frame object. | |
ob_frame * | ob_create_frame (ob_format frame_format, int width, int height, int stride_bytes, ob_frame_type frame_type, ob_error **error) |
Create an empty frame object based on the specified parameters. | |
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) |
Create a frame object based on an externally created buffer. | |
ob_frame * | ob_create_frameset (ob_error **error) |
Create an empty frameset object. | |
void | ob_frameset_push_frame (ob_frame *frameset, ob_frame_type type, ob_frame *frame, ob_error **error) |
Add a frame of the specified type to the frameset. | |
void | ob_frame_set_system_time_stamp (ob_frame *frame, uint64_t system_timestamp, ob_error **error) |
Set the system timestamp of a frame object. | |
void | ob_frame_set_device_time_stamp (ob_frame *frame, uint64_t device_timestamp, ob_error **error) |
Set the device timestamp of a frame object. | |
void | ob_frame_set_device_time_stamp_us (ob_frame *frame, uint64_t device_timestamp_us, ob_error **error) |
Set the device timestamp of a frame object. | |
Frame related function is mainly used to obtain frame data and frame information.
Definition in file Frame.h.
#define ob_video_frame_metadata ob_frame_metadata |
#define ob_video_frame_metadata_size ob_frame_metadata_size |
Get the frame index.
[in] | frame | Frame object |
[out] | error | Log wrong message |
Get the frame format.
[in] | frame | Frame object |
[out] | error | Log error messages |
ob_frame_type ob_frame_get_type | ( | ob_frame * | frame, |
ob_error ** | error | ||
) |
Get the frame type.
[in] | frame | Frame object |
[out] | error | Log error messages |
Get the hardware timestamp of the frame in milliseconds.
The hardware timestamp is the time point when the frame was captured by the device, on device clock domain.
[in] | frame | Frame object |
[out] | error | Log error messages |
Get the hardware timestamp of the frame in microseconds.
The hardware timestamp is the time point when the frame was captured by the device, on device clock domain.
[in] | frame | Frame object |
[out] | error | Log error messages |
Get the system timestamp of the frame in milliseconds.
The system timestamp is the time point when the frame was received by the host, on host clock domain.
[in] | frame | Frame object |
[out] | error | Log error messages |
Get the system timestamp of the frame in microseconds.
The system timestamp is the time point when the frame was received by the host, on host clock domain.
[in] | frame | Frame object |
[out] | error | Log error messages |
Get the global timestamp of the frame in microseconds.
The global timestamp is the time point when the frame was was captured by the device, and has been converted to the host clock domain. The conversion process base on the device timestamp and can eliminate the timer drift of the device
[in] | frame | Frame object |
[out] | error | Log error messages |
Get frame data.
[in] | frame | Frame object |
[out] | error | Log error messages |
Get the frame data size.
[in] | frame | Frame object |
[out] | error | Log error messages |
Get the metadata of the frame.
[in] | frame | frame object |
[out] | error | Log error messages |
Get the metadata size of the frame.
[in] | frame | frame object |
[out] | error | Log error messages |
bool ob_frame_has_metadata | ( | ob_frame * | frame, |
ob_frame_metadata_type | type, | ||
ob_error ** | error | ||
) |
check if the frame contains the specified metadata
[in] | frame | frame object |
[in] | type | metadata type, refer to ob_frame_metadata_type |
[out] | error | Log error messages |
int64_t ob_frame_get_metadata_value | ( | ob_frame * | frame, |
ob_frame_metadata_type | type, | ||
ob_error ** | error | ||
) |
Get the metadata value of the frame.
[in] | frame | frame object |
[in] | type | metadata type, refer to ob_frame_metadata_type |
[out] | error | Log error messages |
ob_stream_profile * ob_frame_get_stream_profile | ( | ob_frame * | frame, |
ob_error ** | error | ||
) |
Get the stream profile of the frame.
frame | frame object |
error | Log error messages |
Get the sensor of the frame.
[in] | frame | frame object |
[out] | error | Log error messages |
Get the device of the frame.
frame | frame object | |
[out] | error | Log error messages |
Get video frame width.
[in] | frame | Frame object |
[out] | error | Log error messages |
Get video frame height.
[in] | frame | Frame object |
[out] | error | Log error messages |
Get the effective number of pixels (such as Y16 format frame, but only the lower 10 bits are effective bits, and the upper 6 bits are filled with 0)
[in] | frame | video frame object |
[out] | error | log error messages |
ob_sensor_type ob_ir_frame_get_source_sensor_type | ( | ob_frame * | frame, |
ob_error ** | ob_error | ||
) |
Get the source sensor type of the ir frame (left or right for dual camera)
frame | Frame object |
ob_error | Log error messages |
Get the value scale of the depth frame. The pixel value of the depth frame is multiplied by the scale to give a depth value in millimeters. For example, if valueScale=0.1 and a certain coordinate pixel value is pixelValue=10000, then the depth value = pixelValue*valueScale = 10000*0.1=1000mm.
[in] | frame | Frame object |
[out] | error | Log error messages |
Get the point position value scale of the points frame. The point position value of the points frame is multiplied by the scale to give a position value in millimeters. For example, if scale=0.1, the x-coordinate value of a point is x = 10000, which means that the actual x-coordinate value = x*scale = 10000*0.1 = 1000mm.
[in] | frame | Frame object |
[out] | error | Log error messages |
Delete a frame object.
[in] | frame | The frame object to delete |
[out] | error | Log error messages |
Get the number of frames contained in the frameset.
[in] | frameset | frameset object |
[out] | error | Log error messages |
Get the depth frame from the frameset.
[in] | frameset | Frameset object. |
[out] | error | Log error messages. |
Get the color frame from the frameset.
[in] | frameset | Frameset object. |
[out] | error | Log error messages. |
Get the infrared frame from the frameset.
[in] | frameset | Frameset object. |
[out] | error | Log error messages. |
Get point cloud data from the frameset.
[in] | frameset | Frameset object. |
[out] | error | Log error messages. |
ob_frame * ob_frameset_get_frame | ( | ob_frame * | frameset, |
ob_frame_type | frame_type, | ||
ob_error ** | error | ||
) |
Get a frame of a specific type from the frameset.
[in] | frameset | Frameset object. |
[in] | frame_type | Frame type. |
[out] | error | Log error messages. |
Get a frame at a specific index from the FrameSet.
[in] | frameset | Frameset object. |
[in] | index | The index of the frame. |
[out] | error | Log error messages. |
ob_accel_value ob_accel_frame_value | ( | ob_frame * | frame, |
ob_error ** | error | ||
) |
Get accelerometer frame data.
[in] | frame | Accelerometer frame. |
[out] | error | Log error messages. |
Get the temperature when acquiring the accelerometer frame.
[in] | frame | Accelerometer frame. |
[out] | error | Log error messages. |
ob_gyro_value ob_gyro_frame_value | ( | ob_frame * | frame, |
ob_error ** | error | ||
) |
Get gyroscope frame data.
[in] | frame | Gyroscope frame. |
[out] | error | Log error messages. |
Get the temperature when acquiring the gyroscope frame.
[in] | frame | Gyroscope frame. |
[out] | error | Log error messages. |
Increase the reference count of a frame object.
[in] | frame | Frame object to increase the reference count. |
[out] | error | Log error messages. |
ob_frame * ob_create_frame | ( | ob_format | frame_format, |
int | width, | ||
int | height, | ||
int | stride_bytes, | ||
ob_frame_type | frame_type, | ||
ob_error ** | error | ||
) |
Create an empty frame object based on the specified parameters.
[in] | frame_format | Frame object format. |
[in] | width | Frame object width. |
[in] | height | Frame object height. |
[in] | stride_bytes | Buffer row span. |
[in] | frame_type | Frame object type. |
[out] | error | Log error messages. |
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 | ||
) |
Create a frame object based on an externally created buffer.
[in] | frame_format | Frame object format. |
[in] | frame_width | Frame object width. |
[in] | frame_height | Frame object height. |
[in] | buffer | Frame object buffer. |
[in] | buffer_size | Frame object buffer size. |
[in] | buffer_destroy_cb | Destroy callback. |
[in] | buffer_destroy_context | Destroy context. |
[out] | error | Log error messages. |
Create an empty frameset object.
[out] | error | Log error messages. |
void ob_frameset_push_frame | ( | ob_frame * | frameset, |
ob_frame_type | type, | ||
ob_frame * | frame, | ||
ob_error ** | error | ||
) |
Add a frame of the specified type to the frameset.
[in] | frameset | Frameset object. |
[in] | type | Type of frame to add. |
[in] | frame | Frame object to add. |
[out] | error | Log error messages. |
void ob_frame_set_system_time_stamp | ( | ob_frame * | frame, |
uint64_t | system_timestamp, | ||
ob_error ** | error | ||
) |
Set the system timestamp of a frame object.
[in] | frame | Frame object to set the system timestamp for. |
[in] | system_timestamp | System timestamp to set in milliseconds. |
[out] | error | Log error messages. |
void ob_frame_set_device_time_stamp | ( | ob_frame * | frame, |
uint64_t | device_timestamp, | ||
ob_error ** | error | ||
) |
Set the device timestamp of a frame object.
[in] | frame | Frame object to set the device timestamp. |
[in] | device_timestamp | Device timestamp to set in milliseconds. |
[out] | error | Log error messages. |
void ob_frame_set_device_time_stamp_us | ( | ob_frame * | frame, |
uint64_t | device_timestamp_us, | ||
ob_error ** | error | ||
) |
Set the device timestamp of a frame object.
[in] | frame | Frame object to set the device timestamp for. |
[in] | device_timestamp_us | Device timestamp to set in microseconds. |
[out] | error | Log error messages. |