mirror of
https://github.com/orbbec/OrbbecSDK_ROS2.git
synced 2026-09-16 13:00:20 +08:00
Update SDK to 1.10.0
This commit is contained in:
@@ -297,6 +297,69 @@ void ob_noise_removal_filter_set_filter_params(ob_filter *filter, ob_noise_remov
|
||||
*/
|
||||
ob_noise_removal_filter_params ob_noise_removal_filter_get_filter_params(ob_filter *filter, ob_error **error);
|
||||
|
||||
/**
|
||||
* @brief Create a edge noise removal filter.
|
||||
* @param[out] error Log error messages.
|
||||
* @return A depth_filter object.
|
||||
*/
|
||||
ob_filter *ob_create_edge_noise_removal_filter(ob_error **error);
|
||||
|
||||
/**
|
||||
* @brief Set the edge noise removal filter params.
|
||||
*
|
||||
* @param[in] filter edge noise removal filter object.
|
||||
* @param[in] params ob_edge_noise_removal_filter_params.
|
||||
* @param[out] error Log error messages.
|
||||
*/
|
||||
void ob_edge_noise_removal_filter_set_filter_params(ob_filter *filter, ob_edge_noise_removal_filter_params params, ob_error **error);
|
||||
|
||||
/**
|
||||
* @brief Get the edge noise removal filter params.
|
||||
*
|
||||
* @param[in] filter edge noise removal filter object.
|
||||
* @param[out] error Log error messages.
|
||||
* @return ob_edge_noise_removal_filter_params.
|
||||
*/
|
||||
ob_edge_noise_removal_filter_params ob_edge_noise_removal_filter_get_filter_params(ob_filter *filter, ob_error **error);
|
||||
|
||||
|
||||
/**
|
||||
* @brief Get the noise removal filter margin left th range.
|
||||
*
|
||||
* @param[in] filter A edge noise removal filter object.
|
||||
* @param[out] error Log error messages.
|
||||
* @return ob_uint16_property_range the margin_left_th value of property range.
|
||||
*/
|
||||
ob_uint16_property_range ob_edge_noise_removal_filter_get_margin_left_th_range(ob_filter *filter, ob_error **error);
|
||||
|
||||
/**
|
||||
* @brief Get the noise removal filter margin right th range.
|
||||
*
|
||||
* @param[in] filter A edge noise removal filter object.
|
||||
* @param[out] error Log error messages.
|
||||
* @return ob_uint16_property_range the margin_right_th value of property range.
|
||||
*/
|
||||
ob_uint16_property_range ob_edge_noise_removal_filter_get_margin_right_th_range(ob_filter *filter, ob_error **error);
|
||||
|
||||
/**
|
||||
* @brief Get the noise removal filter margin top th range.
|
||||
*
|
||||
* @param[in] filter A edge noise removal filter object.
|
||||
* @param[out] error Log error messages.
|
||||
* @return ob_uint16_property_range the margin_top_th value of property range.
|
||||
*/
|
||||
ob_uint16_property_range ob_edge_noise_removal_filter_get_margin_top_th_range(ob_filter *filter, ob_error **error);
|
||||
|
||||
/**
|
||||
* @brief Get the noise removal filter margin bottom th range.
|
||||
*
|
||||
* @param[in] filter A edge noise removal filter object.
|
||||
* @param[out] error Log error messages.
|
||||
* @return ob_uint16_property_range the margin_bottom_th value of property range.
|
||||
*/
|
||||
ob_uint16_property_range ob_edge_noise_removal_filter_get_margin_bottom_th_range(ob_filter *filter, ob_error **error);
|
||||
|
||||
|
||||
/**
|
||||
* @brief Create a decimation filter.
|
||||
* @param[out] error Log error messages.
|
||||
|
||||
@@ -68,6 +68,16 @@ uint64_t ob_frame_time_stamp_us(ob_frame *frame, ob_error **error);
|
||||
*/
|
||||
uint64_t ob_frame_system_time_stamp(ob_frame *frame, ob_error **error);
|
||||
|
||||
/**
|
||||
* @brief Get the system timestamp of the frame in microseconds.
|
||||
* @brief The system timestamp is the time point when the frame was received by the host, on host clock domain.
|
||||
*
|
||||
* @param[in] frame Frame object
|
||||
* @param[out] error Log error messages
|
||||
* @return uint64_t return the frame system timestamp in microseconds
|
||||
*/
|
||||
uint64_t ob_frame_system_time_stamp_us(ob_frame *frame, ob_error **error);
|
||||
|
||||
/**
|
||||
* @brief Get the global timestamp of the frame in microseconds.
|
||||
* @brief 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
|
||||
|
||||
@@ -965,6 +965,22 @@ typedef struct {
|
||||
uint16_t radius; // hole_fill
|
||||
} OBSpatialAdvancedFilterParams, ob_spatial_advanced_filter_params;
|
||||
|
||||
typedef enum OB_EDGE_NOISE_REMOVAL_TYPE {
|
||||
OB_MG_FILTER = 0,
|
||||
OB_MGH_FILTER = 1, // horizontal MG
|
||||
OB_MGA_FILTER = 2, // asym MG
|
||||
OB_MGC_FILTER = 3,
|
||||
} OBEdgeNoiseRemovalType,
|
||||
ob_edge_noise_removal_type;
|
||||
|
||||
typedef struct {
|
||||
OBEdgeNoiseRemovalType type;
|
||||
uint16_t marginLeftTh;
|
||||
uint16_t marginRightTh;
|
||||
uint16_t marginTopTh;
|
||||
uint16_t marginBottomTh;
|
||||
} OBEdgeNoiseRemovalFilterParams, ob_edge_noise_removal_filter_params;
|
||||
|
||||
/**
|
||||
* @brief 去噪方式
|
||||
*/
|
||||
|
||||
@@ -651,6 +651,11 @@ typedef enum {
|
||||
*/
|
||||
OB_PROP_HDR_MERGE_BOOL = 2037,
|
||||
|
||||
/**
|
||||
* @brief Color camera FOCUS
|
||||
*/
|
||||
OB_PROP_COLOR_FOCUS_INT = 2038,
|
||||
|
||||
/**
|
||||
* @brief Software disparity to depth
|
||||
*/
|
||||
|
||||
@@ -37,6 +37,23 @@ bool ob_calibration_3d_to_3d(const ob_calibration_param calibration_param, const
|
||||
bool ob_calibration_2d_to_3d(const ob_calibration_param calibration_param, const ob_point2f source_point2f, const float source_depth_pixel_value,
|
||||
const ob_sensor_type source_sensor_type, const ob_sensor_type target_sensor_type, ob_point3f *target_point3f, ob_error **error);
|
||||
|
||||
/**
|
||||
* @brief Transform a 2d pixel coordinate with an associated depth value of the source camera into a 3d point of the target coordinate system.
|
||||
*
|
||||
* @param[in] calibration_param Device calibration param,see pipeline::getCalibrationParam
|
||||
* @param[in] source_point2f Source 2d point value
|
||||
* @param[in] source_depth_pixel_value The depth of sourcePoint2f in millimeters
|
||||
* @param[in] source_sensor_type Source sensor type
|
||||
* @param[in] target_sensor_type Target sensor type
|
||||
* @param[out] target_point3f Target 3d point value
|
||||
* @param[out] error Log error messages
|
||||
*
|
||||
* @return bool Transform result
|
||||
*/
|
||||
bool ob_calibration_2d_to_3d_undistortion(const ob_calibration_param calibration_param, const ob_point2f source_point2f, const float source_depth_pixel_value,
|
||||
const ob_sensor_type source_sensor_type, const ob_sensor_type target_sensor_type, ob_point3f *target_point3f,
|
||||
ob_error **error);
|
||||
|
||||
/**
|
||||
* @brief Transform a 3d point of a source coordinate system into a 2d pixel coordinate of the target camera.
|
||||
*
|
||||
@@ -88,7 +105,7 @@ ob_frame *transformation_depth_frame_to_color_camera(ob_device *device, ob_frame
|
||||
* @param[in] calibration_param Device calibration param,see pipeline::getCalibrationParam
|
||||
* @param[in] sensor_type sensor type
|
||||
* @param[in] data input data,needs to be allocated externally.During initialization, the external allocation size is 'data_size', for example, data_size = 1920
|
||||
* * 1080 * 2 (1920 * 1080 represents the image resolution, and 2 represents two LUTs, one for x-coordinate and one for y-coordinate).
|
||||
* * 1080 * 2*sizeof(float) (1920 * 1080 represents the image resolution, and 2 represents two LUTs, one for x-coordinate and one for y-coordinate).
|
||||
* @param[in] data_size input data size
|
||||
* @param[out] xy_tables output xy tables
|
||||
* @param[out] error Log error messages
|
||||
@@ -108,6 +125,18 @@ bool transformation_init_xy_tables(const ob_calibration_param calibration_param,
|
||||
*/
|
||||
void transformation_depth_to_pointcloud(ob_xy_tables *xy_tables, const void *depth_image_data, void *pointcloud_data, ob_error **error);
|
||||
|
||||
/**
|
||||
* @brief Transform depth image to point cloud data
|
||||
*
|
||||
* @param[in] xy_tables input xy tables,see transformation_init_xy_tables
|
||||
* @param[in] depth_image_data input depth image data
|
||||
* @param[in] color_image_data input color image data (only RGB888 support)
|
||||
* @param[out] pointcloud_data output point cloud data
|
||||
* @param[out] error Log error messages
|
||||
*/
|
||||
void transformation_depth_to_rgbd_pointcloud(ob_xy_tables *xy_tables, const void *depth_image_data, const void *color_image_data, void *pointcloud_data,
|
||||
ob_error **error);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -474,6 +474,53 @@ public:
|
||||
OBUint8PropertyRange getScaleRange();
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief The edge noise removal filter,removing scattering depth pixels.
|
||||
*/
|
||||
class OB_EXTENSION_API EdgeNoiseRemovalFilter : public Filter {
|
||||
public:
|
||||
EdgeNoiseRemovalFilter();
|
||||
|
||||
/**
|
||||
* @brief Set the edge noise removal filter params.
|
||||
*
|
||||
* @param[in] params ob_edge_noise_removal_filter_params.
|
||||
*/
|
||||
void setFilterParams(OBEdgeNoiseRemovalFilterParams filterParams);
|
||||
|
||||
/**
|
||||
* @brief Get the edge noise removal filter params.
|
||||
*
|
||||
* @return OBEdgeNoiseRemovalFilterParams.
|
||||
*/
|
||||
OBEdgeNoiseRemovalFilterParams getFilterParams();
|
||||
|
||||
/**
|
||||
* @brief Get the edge noise removal filter margin left th range.
|
||||
* @return OBUint16PropertyRange The disp diff of property range.
|
||||
*/
|
||||
OBUint16PropertyRange getMarginLeftThRange();
|
||||
|
||||
/**
|
||||
* @brief Get the edge noise removal filter margin right th range.
|
||||
* @return OBUint16PropertyRange The max size of property range.
|
||||
*/
|
||||
OBUint16PropertyRange getMarginRightThRange();
|
||||
|
||||
/**
|
||||
* @brief Get the edge noise removal filter margin top th range.
|
||||
* @return OBUint16PropertyRange The disp diff of property range.
|
||||
*/
|
||||
OBUint16PropertyRange getMarginTopThRange();
|
||||
|
||||
/**
|
||||
* @brief Get the edge noise removal filter margin bottom th range.
|
||||
* @return OBUint16PropertyRange The max size of property range.
|
||||
*/
|
||||
OBUint16PropertyRange getMarginBottomThRange();
|
||||
};
|
||||
|
||||
|
||||
// Define the is() template function for the Filter class
|
||||
template <typename T> bool Filter::is() {
|
||||
std::string name = type();
|
||||
@@ -519,6 +566,9 @@ template <typename T> bool Filter::is() {
|
||||
if(name == "Align") {
|
||||
return typeid(T) == typeid(Align);
|
||||
}
|
||||
if(name == "EdgeNoiseRemovalFilter") {
|
||||
return typeid(T) == typeid(Align);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -110,6 +110,14 @@ public:
|
||||
*/
|
||||
uint64_t systemTimeStamp();
|
||||
|
||||
/**
|
||||
* @brief Get the system timestamp of the frame in microseconds.
|
||||
* @brief The system timestamp is the time point when the frame was received by the host, on host clock domain.
|
||||
*
|
||||
* @return uint64_t The system timestamp of the frame in microseconds.
|
||||
*/
|
||||
uint64_t systemTimeStampUs();
|
||||
|
||||
/**
|
||||
* @brief Get the global timestamp of the frame in microseconds.
|
||||
* @brief 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
|
||||
|
||||
@@ -105,7 +105,7 @@ public:
|
||||
* @param calibrationParam Device calibration param,see pipeline::getCalibrationParam
|
||||
* @param sensorType sensor type
|
||||
* @param data input data,needs to be allocated externally.During initialization, the external allocation size is 'dataSize', for example, dataSize = 1920 *
|
||||
* 1080 * 2 (1920 * 1080 represents the image resolution, and 2 represents two LUTs, one for x-coordinate and one for y-coordinate).
|
||||
* 1080 * 2*sizeof(float) (1920 * 1080 represents the image resolution, and 2 represents two LUTs, one for x-coordinate and one for y-coordinate).
|
||||
* @param dataSize input data size
|
||||
* @param xyTables output xy tables
|
||||
*
|
||||
@@ -123,5 +123,16 @@ public:
|
||||
*
|
||||
*/
|
||||
static void transformationDepthToPointCloud(OBXYTables *xyTables, const void *depthImageData, void *pointCloudData);
|
||||
|
||||
/**
|
||||
* @brief Transform depth image to RGBD point cloud data
|
||||
*
|
||||
* @param xyTables input xy tables,see CoordinateTransformHelper::transformationInitXYTables
|
||||
* @param depthImageData input depth image data
|
||||
* @param colorImageData input color image data (only RGB888 support)
|
||||
* @param pointCloudData output RGBD point cloud data
|
||||
*
|
||||
*/
|
||||
static void transformationDepthToRGBDPointCloud(OBXYTables *xyTables, const void *depthImageData, const void *colorImageData, void *pointCloudData);
|
||||
};
|
||||
} // namespace ob
|
||||
|
||||
@@ -1 +1 @@
|
||||
libOrbbecSDK.so.1.9
|
||||
libOrbbecSDK.so.1.10
|
||||
@@ -0,0 +1 @@
|
||||
libOrbbecSDK.so.1.10.0
|
||||
BIN
Binary file not shown.
@@ -1 +0,0 @@
|
||||
libOrbbecSDK.so.1.9.2
|
||||
@@ -1 +1 @@
|
||||
libOrbbecSDK.so.1.9
|
||||
libOrbbecSDK.so.1.10
|
||||
@@ -0,0 +1 @@
|
||||
libOrbbecSDK.so.1.10.0
|
||||
BIN
Binary file not shown.
@@ -1 +0,0 @@
|
||||
libOrbbecSDK.so.1.9.2
|
||||
@@ -1 +1 @@
|
||||
libOrbbecSDK.so.1.9
|
||||
libOrbbecSDK.so.1.10
|
||||
@@ -0,0 +1 @@
|
||||
libOrbbecSDK.so.1.10.0
|
||||
BIN
Binary file not shown.
@@ -1 +0,0 @@
|
||||
libOrbbecSDK.so.1.9.2
|
||||
Reference in New Issue
Block a user