Update sdk to v1.10.16

This commit is contained in:
Joe Dong
2024-12-10 15:15:06 +08:00
parent dfa26a9007
commit 98a1cafd9b
11 changed files with 215 additions and 33 deletions
@@ -248,12 +248,93 @@ ob_spatial_advanced_filter_params ob_spatial_advanced_filter_get_filter_params(o
/**
* @brief Set the spatial advanced filter params.
*
* @param[in] filter A temporal_filter object.
* @param[in] filter A spatial advanced filter object.
* @param[in] params ob_spatial_advanced_filter_params.
* @param[out] error Log error messages.
*/
void ob_spatial_advanced_filter_set_filter_params(ob_filter *filter, ob_spatial_advanced_filter_params params, ob_error **error);
/**
* @brief Create a spatial fast filter.
* @param[out] error Log error messages.
* @return A depth_filter object.
*/
ob_filter *ob_create_spatial_fast_filter(ob_error **error);
/**
* @brief Get the spatial fast filter window size range.
*
* @param[in] filter A spatial fast filter object.
* @param[out] error Log error messages.
* @return ob_uint8_property_range the filter window size value of property range.
*/
ob_uint8_property_range ob_spatial_fast_filter_get_size_range(ob_filter *filter, ob_error **error);
/**
* @brief Set the spatial fast filter params.
*
* @param[in] filter A spatial fast filter object.
* @param[in] params ob_spatial_fast_filter_params.
* @param[out] error Log error messages.
*/
void ob_spatial_fast_filter_set_filter_params(ob_filter *filter, ob_spatial_fast_filter_params params, ob_error **error);
/**
* @brief Get the spatial fast filter params.
*
* @param[in] filter A spatial fast filter object.
* @param[out] error Log error messages.
* @return ob_spatial_fast_filter_params.
*/
ob_spatial_fast_filter_params ob_spatial_fast_filter_get_filter_params(ob_filter *filter, ob_error **error);
/**
* @brief Create a spatial moderate filter.
* @param[out] error Log error messages.
* @return A depth_filter object.
*/
ob_filter *ob_create_spatial_moderate_filter(ob_error **error);
/**
* @brief Get the spatial moderate filter disp diff range.
*
* @param[in] filter A spatial moderate filter object.
* @param[out] error Log error messages.
* @return ob_uint16_property_range the dispdiff value of property range.
*/
ob_uint16_property_range ob_spatial_moderate_filter_get_disp_diff_range(ob_filter *filter, ob_error **error);
/**
* @brief Get the spatial moderate filter magnitude range.
*
* @param[in] filter A spatial moderate filter object.
* @param[out] error Log error messages.
* @return ob_uint8_property_range the magnitude value of property range.
*/
ob_uint8_property_range ob_spatial_moderate_filter_get_magnitude_range(ob_filter *filter, ob_error **error);
/**
* @brief Get the spatial moderate filter window size range.
*
* @param[in] filter A spatial moderate filter object.
* @param[out] error Log error messages.
* @return ob_uint8_property_range the filter window size value of property range.
*/
ob_uint8_property_range ob_spatial_moderate_filter_get_size_range(ob_filter *filter, ob_error **error);
/**
* @brief Get the spatial moderate filter params.
*
* @param[in] filter A spatial moderate filter object.
* @param[out] error Log error messages.
* @return ob_spatial_moderate_filter_params.
*/
ob_spatial_moderate_filter_params ob_spatial_moderate_filter_get_filter_params(ob_filter *filter, ob_error **error);
/**
* @brief Set the spatial moderate filter params.
*
* @param[in] filter A spatial moderate filter object.
* @param[in] params ob_spatial_moderate_filter_params.
* @param[out] error Log error messages.
*/
void ob_spatial_moderate_filter_set_filter_params(ob_filter *filter, ob_spatial_moderate_filter_params params, ob_error **error);
/**
* @brief Create a noise removal filter.
* @param[out] error Log error messages.
@@ -974,6 +974,18 @@ typedef struct {
uint16_t radius; // hole_fill
} OBSpatialAdvancedFilterParams, ob_spatial_advanced_filter_params;
typedef struct {
uint8_t size; //median filter window size
} OBSpatialFastFilterParams, ob_spatial_fast_filter_params;
typedef struct {
uint8_t size ;
uint8_t magnitude ; // magnitude
uint16_t disp_diff ;
} OBSpatialModerateFilterParams, ob_spatial_moderate_filter_params;
typedef enum OB_EDGE_NOISE_REMOVAL_TYPE {
OB_MG_FILTER = 0,
OB_MGH_FILTER = 1, // horizontal MG
@@ -258,7 +258,7 @@ public:
};
/**
* @brief Spatial advanced filte smooths the image by calculating frame with alpha and delta settings
* @brief Spatial advanced filter smooths the image by calculating frame with alpha and delta settings
* alpha defines the weight of the current pixel for smoothing,
* delta defines the depth gradient below which the smoothing will occur as number of depth levels.
*/
@@ -276,21 +276,21 @@ public:
/**
* @brief Get the spatial advanced filter dispdiff range.
*
* @return OBFloatPropertyRange the dispdiff value of property range.
* @return OBUint16PropertyRange the dispdiff value of property range.
*/
OBUint16PropertyRange getDispDiffRange();
/**
* @brief Get the spatial advanced filter radius range.
*
* @return OBFloatPropertyRange the radius value of property range.
* @return OBUint16PropertyRange the radius value of property range.
*/
OBUint16PropertyRange getRadiusRange();
/**
* @brief Get the spatial advanced filter magnitude range.
*
* @return OBFloatPropertyRange the magnitude value of property range.
* @return OBIntPropertyRange the magnitude value of property range.
*/
OBIntPropertyRange getMagnitudeRange();
@@ -310,6 +310,73 @@ public:
};
/**
* @brief Spatial fast filter smooths the image by calculating frame with filter window size settings
*/
class OB_EXTENSION_API SpatialFastFilter : public Filter {
public:
SpatialFastFilter();
/**
* @brief Get the spatial fast filter window size range
*
* @return OBUint8PropertyRange the windows size value of property range.
*/
OBUint8PropertyRange getSizeRange();
/**
* @brief Get the spatial fast filter params.
*
* @return OBSpatialFastFilterParams
*/
OBSpatialFastFilterParams getFilterParams();
/**
* @brief Set the spatial fast filter params.
*
* @param params OBSpatialFastFilterParams.
*/
void setFilterParams(OBSpatialFastFilterParams params);
};
/**
* @brief Spatial moderate filter smooths the image by calculating frame with filter window size,magnitude and disp diff settings
*/
class OB_EXTENSION_API SpatialModerateFilter : public Filter {
public:
SpatialModerateFilter();
/**
* @brief Get the spatial moderate filter window size range
*
* @return OBUint8PropertyRange the windows size value of property range.
*/
OBUint8PropertyRange getSizeRange();
/**
* @brief Get the spatial moderate filter magnitude range.
*
* @return OBUint8PropertyRange the magnitude value of property range.
*/
OBUint8PropertyRange getMagnitudeRange();
/**
* @brief Get the spatial moderate filter dispdiff range.
*
* @return OBUint16PropertyRange the dispdiff value of property range.
*/
OBUint16PropertyRange getDispDiffRange();
/**
* @brief Get the spatial moderate filter params.
*
* @return OBSpatialModerateFilterParams
*/
OBSpatialModerateFilterParams getFilterParams();
/**
* @brief Set the spatial moderate filter params.
*
* @param params OBSpatialModerateFilterParams.
*/
void setFilterParams(OBSpatialModerateFilterParams params);
};
/**
* @brief Depth to disparity or disparity to depth
*/
class OB_EXTENSION_API DisparityTransform : public Filter {
@@ -542,6 +609,15 @@ template <typename T> bool Filter::is() {
if(name == "SpatialAdvancedFilter") {
return typeid(T) == typeid(SpatialAdvancedFilter);
}
if(name == "SpatialFastFilter") {
return typeid(T) == typeid(SpatialFastFilter);
}
if(name == "SpatialModerateFilter") {
return typeid(T) == typeid(SpatialModerateFilter);
}
if(name == "TemporalFilter") {
return typeid(T) == typeid(TemporalFilter);
}