Update Orbbec SDK to version 2.4.10 and modify related configurations

- Updated the OrbbecSDKConfig-release.cmake files for both arm64 and x64 architectures to reference the new SDK version 2.4.10.
- Replaced occurrences of 'depth_brightness' with 'mean_intensity_set_point' in launch files and the camera node header to improve clarity and consistency.
- Added new spatial filtering options (SpatialFastFilter and SpatialModerateFilter) in the camera node implementation, including parameters for radius, magnitude, and difference threshold.
- Updated the setupDevices and setupDepthPostProcessFilter methods to handle the new mean intensity setting and spatial filter parameters.
- Modified launch files for various examples to reflect the new argument names and added new parameters for spatial filtering.
This commit is contained in:
yalian
2025-08-02 00:11:04 +08:00
parent ba9cbc2295
commit d4bbdb4459
31 changed files with 1093 additions and 863 deletions
@@ -88,7 +88,7 @@ OB_EXPORT ob_depth_work_mode ob_depth_work_mode_list_get_item(const ob_depth_wor
OB_EXPORT void ob_delete_depth_work_mode_list(ob_depth_work_mode_list *work_mode_list, ob_error **error);
/**
* @breif Get the current preset name.
* @brief Get the current preset name.
* @brief The preset mean a set of parameters or configurations that can be applied to the device to achieve a specific effect or function.
*
* @param device The device object.
@@ -273,7 +273,7 @@ OB_EXPORT bool ob_device_frame_interleave_list_has_frame_interleave(ob_device_fr
*
* @param device The device object.
* @param error Log error messages.
* @return The available frame interleave list.
* @return The available frame resolution config list.
*
*/
OB_EXPORT ob_preset_resolution_config_list *ob_device_get_available_preset_resolution_config_list(ob_device *device, ob_error **error);
@@ -294,7 +294,7 @@ OB_EXPORT uint32_t ob_device_preset_resolution_config_get_count(ob_preset_resolu
* @param error Log error messages.
* @return The preset resolution in the preset resolution list.
*/
OB_EXPORT OBPresetResolutionConfig ob_device_preset_resolution_config_list_get_item(const ob_preset_resolution_config_list *ob_preset_resolution_config_lis,
OB_EXPORT OBPresetResolutionConfig ob_device_preset_resolution_config_list_get_item(const ob_preset_resolution_config_list *ob_preset_resolution_config_list,
uint32_t index, ob_error **error);
/**
@@ -247,7 +247,7 @@ OB_EXPORT ob_filter_config_schema_item ob_filter_config_schema_list_get_item(con
/**
* @brief Set the align to stream profile for the align filter.
* @breif It is useful when the align target stream dose not started (without any frame to get intrinsics and extrinsics).
* @brief It is useful when the align target stream dose not started (without any frame to get intrinsics and extrinsics).
*
* @param filter A filter object.
* @param align_to_stream_profile The align target stream profile.
@@ -1010,6 +1010,16 @@ typedef enum {
} OBHoleFillingMode,
ob_hole_filling_mode;
typedef struct {
uint8_t radius; // window_size
} OBSpatialFastFilterParams, ob_spatial_fast_filter_params;
typedef struct {
uint8_t radius; // window_size
uint8_t magnitude; // magnitude
uint16_t disp_diff; // smooth_delta
} OBSpatialModerateFilterParams, ob_spatial_moderate_filter_params;
typedef struct {
uint8_t magnitude; // magnitude
float alpha; // smooth_alpha
@@ -30,7 +30,7 @@ class DevicePresetList;
class OBDepthWorkModeList;
class CameraParamList;
class DeviceFrameInterleaveList;
class PresetResolutionConfigeList;
class PresetResolutionConfigList;
class Device {
public:
@@ -824,15 +824,15 @@ public:
}
/**
* @brief Get available frame interleave list
* @brief Get the available preset resolution config list
*
* @return DeviceFrameInterleaveList return the available frame interleave list.
* @return PresetResolutionConfigList return the available preset resolution config list.
*/
std::shared_ptr<PresetResolutionConfigeList> getAvailablePresetResolutionConfigeList() const {
std::shared_ptr<PresetResolutionConfigList> getAvailablePresetResolutionConfigList() const {
ob_error *error = nullptr;
auto list = ob_device_get_available_preset_resolution_config_list(impl_, &error);
Error::handle(&error);
return std::make_shared<PresetResolutionConfigeList>(list);
return std::make_shared<PresetResolutionConfigList>(list);
}
private:
@@ -1516,15 +1516,15 @@ public:
};
/**
* @brief Class representing a list of device Frame Interleave
* @brief Class representing a list of preset resolution config list
*/
class PresetResolutionConfigeList {
class PresetResolutionConfigList {
private:
ob_preset_resolution_config_list_t *impl_ = nullptr;
public:
explicit PresetResolutionConfigeList(ob_preset_resolution_config_list_t *impl) : impl_(impl) {}
~PresetResolutionConfigeList() noexcept {
explicit PresetResolutionConfigList(ob_preset_resolution_config_list_t *impl) : impl_(impl) {}
~PresetResolutionConfigList() noexcept {
ob_error *error = nullptr;
ob_delete_preset_resolution_config_list(impl_, &error);
Error::handle(&error, false);
File diff suppressed because it is too large Load Diff