Merge branch 'feature/anti_flicker' into merge/sdk_2.8.0

This commit is contained in:
ob-yalian
2026-03-25 14:45:13 +08:00
4 changed files with 10 additions and 0 deletions
@@ -684,6 +684,7 @@ class OBCameraNode {
int color_contrast_ = -1;
int color_hue_ = -1;
int color_backlight_compensation_ = -1;
bool color_anti_flicker_ = false;
std::string color_powerline_freq_;
std::string color_preset_;
int color_denoising_level_ = -1;
@@ -114,6 +114,7 @@ def generate_launch_description():
DeclareLaunchArgument('color_contrast', default_value='-1'),
DeclareLaunchArgument('color_hue', default_value='-1'),
DeclareLaunchArgument('color_backlight_compensation', default_value='-1'),#range: 0 - 6, default: 3
DeclareLaunchArgument('color_anti_flicker', default_value='false'),#Only for Gemini 330 series, firmware >= 1.7.13
DeclareLaunchArgument('color_powerline_freq', default_value=''),#disable ,50hz ,60hz ,auto
DeclareLaunchArgument('enable_color_decimation_filter', default_value='false'),
DeclareLaunchArgument('color_decimation_filter_scale', default_value='-1'),
@@ -113,6 +113,7 @@ def generate_launch_description():
DeclareLaunchArgument('color_contrast', default_value='-1'),
DeclareLaunchArgument('color_hue', default_value='-1'),
DeclareLaunchArgument('color_backlight_compensation', default_value='-1'),#range: 0 - 6, default: 3
DeclareLaunchArgument('color_anti_flicker', default_value='false'),#Only for Gemini 330 series, firmware >= 1.7.13
DeclareLaunchArgument('color_powerline_freq', default_value=''),#disable ,50hz ,60hz ,auto
DeclareLaunchArgument('enable_color_decimation_filter', default_value='false'),
DeclareLaunchArgument('color_decimation_filter_scale', default_value='-1'),
+7
View File
@@ -760,6 +760,12 @@ void OBCameraNode::setupDevices() {
RCLCPP_INFO_STREAM(logger_, "Setting color denoising level to " << color_denoising_level_);
TRY_TO_SET_PROPERTY(setIntProperty, OB_PROP_COLOR_DENOISING_LEVEL_INT, color_denoising_level_);
}
if (isGemini335PID(pid_) &&
device_->isPropertySupported(OB_PROP_COLOR_ANTI_FLICKER_BOOL, OB_PERMISSION_WRITE)) {
RCLCPP_INFO_STREAM(logger_,
"Setting color anti-flicker to " << (color_anti_flicker_ ? "ON" : "OFF"));
TRY_TO_SET_PROPERTY(setBoolProperty, OB_PROP_COLOR_ANTI_FLICKER_BOOL, color_anti_flicker_);
}
if (!color_powerline_freq_.empty() &&
device_->isPropertySupported(OB_PROP_COLOR_POWER_LINE_FREQUENCY_INT, OB_PERMISSION_WRITE)) {
if (color_powerline_freq_ == "disable") {
@@ -2082,6 +2088,7 @@ void OBCameraNode::getParameters() {
setAndGetNodeParameter<int>(color_contrast_, "color_contrast", -1);
setAndGetNodeParameter<int>(color_hue_, "color_hue", -1);
setAndGetNodeParameter<int>(color_backlight_compensation_, "color_backlight_compensation", -1);
setAndGetNodeParameter<bool>(color_anti_flicker_, "color_anti_flicker", false);
setAndGetNodeParameter<int>(color_denoising_level_, "color_denoising_level", -1);
setAndGetNodeParameter<std::string>(color_powerline_freq_, "color_powerline_freq", "");
setAndGetNodeParameter<std::string>(color_preset_, "color_preset", "Default");