Update Orbbec SDK to version 2.5.0

This commit is contained in:
obyalian
2025-09-02 17:03:39 +08:00
committed by xiexun
parent e2e0664615
commit fef7345e6d
19 changed files with 180 additions and 82 deletions
@@ -1736,6 +1736,16 @@ typedef enum {
} ob_playback_status,
OBPlaybackStatus;
/**
* @brief Intra-camera Sync Reference based on the exposure start time, the exposure middle time, or the exposure end time.
*/
typedef enum {
START_OF_EXPOSURE = 0, /**< start of exposure */
MIDDLE_OF_EXPOSURE, /**< middle of exposure */
END_OF_EXPOSURE, /**< end of exposure */
} ob_intra_camera_sync_reference,
OBIntraCameraSyncReference;
// For compatibility
#define OB_FRAME_METADATA_TYPE_LASER_POWER_MODE OB_FRAME_METADATA_TYPE_LASER_POWER_LEVEL
#define OB_FRAME_METADATA_TYPE_EMITTER_MODE OB_FRAME_METADATA_TYPE_LASER_STATUS
@@ -545,6 +545,12 @@ typedef enum {
*/
OB_PROP_CONFIDENCE_ROTATE_INT = 231,
/**
* @brief Intra-camera Sync Reference based on the exposure start time, the exposure middle time, or the exposure end time. the definition in @ref
* OBIntraCameraSyncReference
*/
OB_PROP_INTRA_CAMERA_SYNC_REFERENCE_INT = 236,
/**
* @brief Baseline calibration parameters
*/
@@ -832,7 +832,6 @@ public:
}
};
/**
* @brief The Spatial Moderate Filter utilizes an optimized average smoothing algorithm,
* to achieve a balance between processing speed and the quality of smoothing achieved.
@@ -924,7 +923,6 @@ public:
}
};
/**
* @brief Hole filling filter,the processing performed depends on the selected hole filling mode.
*/
@@ -1157,24 +1155,33 @@ public:
};
/**
* @brief Define the Filter type map
* @brief Returns the mapping of filter type names to their corresponding type_index.
*/
static const std::unordered_map<std::string, std::type_index> obFilterTypeMap = {
inline const std::unordered_map<std::string, std::type_index> &getFilterTypeMap() {
static const std::unordered_map<std::string, std::type_index> filterTypeMap = {
{ "PointCloudFilter", typeid(PointCloudFilter) }, { "Align", typeid(Align) },
{ "FormatConverter", typeid(FormatConvertFilter) }, { "HDRMerge", typeid(HdrMerge) },
{ "SequenceIdFilter", typeid(SequenceIdFilter) }, { "DecimationFilter", typeid(DecimationFilter) },
{ "ThresholdFilter", typeid(ThresholdFilter) }, { "SpatialAdvancedFilter", typeid(SpatialAdvancedFilter) },
{ "HoleFillingFilter", typeid(HoleFillingFilter) }, { "NoiseRemovalFilter", typeid(NoiseRemovalFilter) },
{ "TemporalFilter", typeid(TemporalFilter) }, { "DisparityTransform", typeid(DisparityTransform) }
{ "TemporalFilter", typeid(TemporalFilter) }, { "DisparityTransform", typeid(DisparityTransform) },
{ "SpatialFastFilter", typeid(SpatialFastFilter) }, { "SpatialModerateFilter", typeid(SpatialModerateFilter) },
};
return filterTypeMap;
}
/**
* @brief Define the is() template function for the Filter class
*
* @note When adding a new filter class, ensure the filter type map
* (see getFilterTypeMap()) is updated accordingly to maintain correct type matching.
*/
template <typename T> bool Filter::is() {
std::string name = type();
auto it = obFilterTypeMap.find(name);
if(it != obFilterTypeMap.end()) {
const auto &filterTypeMap = getFilterTypeMap();
auto it = filterTypeMap.find(name);
if(it != filterTypeMap.end()) {
return std::type_index(typeid(T)) == it->second;
}
return false;
@@ -8,12 +8,12 @@ set(CMAKE_IMPORT_FILE_VERSION 1)
# Import target "ob::OrbbecSDK" for configuration "Release"
set_property(TARGET ob::OrbbecSDK APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
set_target_properties(ob::OrbbecSDK PROPERTIES
IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/libOrbbecSDK.so.2.4.11"
IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/libOrbbecSDK.so.2.5.0"
IMPORTED_SONAME_RELEASE "libOrbbecSDK.so.2"
)
list(APPEND _cmake_import_check_targets ob::OrbbecSDK )
list(APPEND _cmake_import_check_files_for_ob::OrbbecSDK "${_IMPORT_PREFIX}/lib/libOrbbecSDK.so.2.4.11" )
list(APPEND _cmake_import_check_files_for_ob::OrbbecSDK "${_IMPORT_PREFIX}/lib/libOrbbecSDK.so.2.5.0" )
# Commands beyond this point should not need to know the version.
set(CMAKE_IMPORT_FILE_VERSION)
@@ -1 +1 @@
libOrbbecSDK.so.2.4.11
libOrbbecSDK.so.2.5.0
@@ -8,12 +8,12 @@ set(CMAKE_IMPORT_FILE_VERSION 1)
# Import target "ob::OrbbecSDK" for configuration "Release"
set_property(TARGET ob::OrbbecSDK APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
set_target_properties(ob::OrbbecSDK PROPERTIES
IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/libOrbbecSDK.so.2.4.11"
IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/libOrbbecSDK.so.2.5.0"
IMPORTED_SONAME_RELEASE "libOrbbecSDK.so.2"
)
list(APPEND _cmake_import_check_targets ob::OrbbecSDK )
list(APPEND _cmake_import_check_files_for_ob::OrbbecSDK "${_IMPORT_PREFIX}/lib/libOrbbecSDK.so.2.4.11" )
list(APPEND _cmake_import_check_files_for_ob::OrbbecSDK "${_IMPORT_PREFIX}/lib/libOrbbecSDK.so.2.5.0" )
# Commands beyond this point should not need to know the version.
set(CMAKE_IMPORT_FILE_VERSION)
+1 -1
View File
@@ -1 +1 @@
libOrbbecSDK.so.2.4.11
libOrbbecSDK.so.2.5.0
@@ -1424,6 +1424,82 @@
<Format>Y8</Format>
</RightIR>
</Gemini336L>
<!-- Gemini2R config -->
<Gemini338>
<!-- Default backend for Linux UVC devices. If the LinuxUVCBackend is set to "Auto,"
this item will determine the device's speciality. Optional values: V4L2, LibUVC -->
<LinuxUVCDefaultBackend>LibUVC</LinuxUVCDefaultBackend>
<Misc>
<GlobalTimestampFitterEnable>true</GlobalTimestampFitterEnable>
<!-- Global timestamp fitter refresh interval, unit: milliseconds, default value: 1000,
minimum value: 100, it is recommended not to be greater than 1000 -->
<GlobalTimestampFitterInterval>1000</GlobalTimestampFitterInterval>
<!-- Global timestamp fitter queue size, default value: 100, minimum value: 20 -->
<GlobalTimestampFitterQueueSize>100</GlobalTimestampFitterQueueSize>
</Misc>
<DepthPostProcessing>
<HardwareNoiseRemoveFilter>false</HardwareNoiseRemoveFilter>
<SoftwareNoiseRemoveFilter>true</SoftwareNoiseRemoveFilter>
</DepthPostProcessing>
<!-- Whether to enable heartbeat by default -->
<DefaultHeartBeat>0</DefaultHeartBeat>
<!-- Whether to enable firmware upgrade foolproof by default, only internal version
supports -->
<FirmwareUpgradeFoolproof>1</FirmwareUpgradeFoolproof>
<!-- Depth Filter Params -->
<!--
<DepthFilterDDOConfig>./Gemini2_v1.0.json</DepthFilterDDOConfig>
-->
<Depth>
<!-- The resolution width is enabled by default, int type -->
<Width>848</Width>
<!-- High resolution is enabled by default, int type -->
<Height>480</Height>
<!-- The frame rate of the resolution enabled by default, int type -->
<FPS>30</FPS>
<Format>Y16</Format>
</Depth>
<Color>
<!-- The resolution width is enabled by default, int type -->
<Width>1280</Width>
<!-- High resolution is enabled by default, int type -->
<Height>720</Height>
<!-- The frame rate of the resolution enabled by default, int type -->
<FPS>30</FPS>
<Format>MJPG</Format>
</Color>
<IR>
<!-- The resolution width is enabled by default, int type -->
<Width>848</Width>
<!-- High resolution is enabled by default, int type -->
<Height>480</Height>
<!-- The frame rate of the resolution enabled by default, int type -->
<FPS>30</FPS>
<Format>Y8</Format>
</IR>
<LeftIR>
<!-- The resolution width is enabled by default, int type -->
<Width>848</Width>
<!-- High resolution is enabled by default, int type -->
<Height>480</Height>
<!-- The frame rate of the resolution enabled by default, int type -->
<FPS>30</FPS>
<Format>Y8</Format>
</LeftIR>
<RightIR>
<!-- The resolution width is enabled by default, int type -->
<Width>848</Width>
<!-- High resolution is enabled by default, int type -->
<Height>480</Height>
<!-- The frame rate of the resolution enabled by default, int type -->
<FPS>30</FPS>
<Format>Y8</Format>
</RightIR>
</Gemini338>
<!--DaBaiA config-->
<DaBaiA>
@@ -584,7 +584,6 @@ class OBCameraNode {
int depth_brightness_ = -1;
int depth_exposure_ = -1;
int depth_gain_ = -1;
int mean_intensity_set_point_ = -1;
int ir_exposure_ = -1;
int ir_gain_ = -1;
int ir_ae_max_exposure_ = -1;