update RGB backlight compensation: replace on/off switch with multi-level values

This commit is contained in:
obyalian
2025-09-23 15:46:11 +08:00
parent 6e1013bf8a
commit fcf2f94673
11 changed files with 16 additions and 17 deletions
@@ -95,7 +95,7 @@ def generate_launch_description():
DeclareLaunchArgument('color_saturation', default_value='-1'),
DeclareLaunchArgument('color_contrast', default_value='-1'),
DeclareLaunchArgument('color_hue', default_value='-1'),
DeclareLaunchArgument('enable_color_backlight_compensation', default_value='false'),
DeclareLaunchArgument('color_backlight_compensation', default_value='-1'),
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'),
@@ -95,7 +95,7 @@ def generate_launch_description():
DeclareLaunchArgument('color_saturation', default_value='-1'),
DeclareLaunchArgument('color_contrast', default_value='-1'),
DeclareLaunchArgument('color_hue', default_value='-1'),
DeclareLaunchArgument('enable_color_backlight_compensation', default_value='false'),
DeclareLaunchArgument('color_backlight_compensation', default_value='-1'),
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'),
@@ -95,7 +95,7 @@ def generate_launch_description():
DeclareLaunchArgument('color_saturation', default_value='-1'),
DeclareLaunchArgument('color_contrast', default_value='-1'),
DeclareLaunchArgument('color_hue', default_value='-1'),
DeclareLaunchArgument('enable_color_backlight_compensation', default_value='false'),
DeclareLaunchArgument('color_backlight_compensation', default_value='-1'),
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'),
@@ -631,7 +631,7 @@ class OBCameraNode {
int color_saturation_ = -1;
int color_contrast_ = -1;
int color_hue_ = -1;
bool enable_color_backlight_compensation_ = false;
int color_backlight_compensation_ = -1;
std::string color_powerline_freq_;
bool enable_color_decimation_filter_ = false;
int color_decimation_filter_scale_ = -1;
+1 -1
View File
@@ -85,7 +85,7 @@ def generate_launch_description():
DeclareLaunchArgument('color_saturation', default_value='-1'),
DeclareLaunchArgument('color_contrast', default_value='-1'),
DeclareLaunchArgument('color_hue', default_value='-1'),
DeclareLaunchArgument('enable_color_backlight_compensation', default_value='false'),
DeclareLaunchArgument('color_backlight_compensation', default_value='-1'),
DeclareLaunchArgument('color_powerline_freq', default_value=''),#disable ,50hz ,60hz ,auto
DeclareLaunchArgument('depth_width', default_value='0'),
DeclareLaunchArgument('depth_height', default_value='0'),
+1 -1
View File
@@ -85,7 +85,7 @@ def generate_launch_description():
DeclareLaunchArgument('color_saturation', default_value='-1'),
DeclareLaunchArgument('color_contrast', default_value='-1'),
DeclareLaunchArgument('color_hue', default_value='-1'),
DeclareLaunchArgument('enable_color_backlight_compensation', default_value='false'),
DeclareLaunchArgument('color_backlight_compensation', default_value='-1'),
DeclareLaunchArgument('color_powerline_freq', default_value=''),#disable ,50hz ,60hz ,auto
DeclareLaunchArgument('depth_width', default_value='0'),
DeclareLaunchArgument('depth_height', default_value='0'),
+1 -1
View File
@@ -85,7 +85,7 @@ def generate_launch_description():
DeclareLaunchArgument('color_saturation', default_value='-1'),
DeclareLaunchArgument('color_contrast', default_value='-1'),
DeclareLaunchArgument('color_hue', default_value='-1'),
DeclareLaunchArgument('enable_color_backlight_compensation', default_value='false'),
DeclareLaunchArgument('color_backlight_compensation', default_value='-1'),
DeclareLaunchArgument('color_powerline_freq', default_value=''),#disable ,50hz ,60hz ,auto
DeclareLaunchArgument('depth_width', default_value='0'),
DeclareLaunchArgument('depth_height', default_value='0'),
+1 -1
View File
@@ -111,7 +111,7 @@ def generate_launch_description():
DeclareLaunchArgument('color_saturation', default_value='-1'),
DeclareLaunchArgument('color_contrast', default_value='-1'),
DeclareLaunchArgument('color_hue', default_value='-1'),
DeclareLaunchArgument('enable_color_backlight_compensation', default_value='false'),
DeclareLaunchArgument('color_backlight_compensation', default_value='-1'),
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'),
@@ -111,7 +111,7 @@ def generate_launch_description():
DeclareLaunchArgument('color_saturation', default_value='-1'),
DeclareLaunchArgument('color_contrast', default_value='-1'),
DeclareLaunchArgument('color_hue', default_value='-1'),
DeclareLaunchArgument('enable_color_backlight_compensation', default_value='false'),
DeclareLaunchArgument('color_backlight_compensation', default_value='-1'),#range: 0 - 6, default: 3
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'),
@@ -112,7 +112,7 @@ def generate_launch_description():
DeclareLaunchArgument('color_saturation', default_value='-1'),
DeclareLaunchArgument('color_contrast', default_value='-1'),
DeclareLaunchArgument('color_hue', default_value='-1'),
DeclareLaunchArgument('enable_color_backlight_compensation', default_value='false'),
DeclareLaunchArgument('color_backlight_compensation', default_value='-1'),
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'),
+6 -7
View File
@@ -600,12 +600,12 @@ void OBCameraNode::setupDevices() {
TRY_TO_SET_PROPERTY(setIntProperty, OB_PROP_COLOR_HUE_INT, color_hue_);
}
}
if (device_->isPropertySupported(OB_PROP_COLOR_BACKLIGHT_COMPENSATION_INT, OB_PERMISSION_WRITE)) {
int set_enable_color_backlight_compensation = enable_color_backlight_compensation_ ? 1 : 0;
RCLCPP_INFO_STREAM(logger_, "Setting color backlight compensation to "
<< (set_enable_color_backlight_compensation ? "ON" : "OFF"));
if (color_backlight_compensation_ != -1 &&
device_->isPropertySupported(OB_PROP_COLOR_BACKLIGHT_COMPENSATION_INT, OB_PERMISSION_WRITE)) {
RCLCPP_INFO_STREAM(logger_,
"Setting color backlight compensation to " << color_backlight_compensation_);
TRY_TO_SET_PROPERTY(setIntProperty, OB_PROP_COLOR_BACKLIGHT_COMPENSATION_INT,
set_enable_color_backlight_compensation);
color_backlight_compensation_);
}
if (!color_powerline_freq_.empty() &&
device_->isPropertySupported(OB_PROP_COLOR_POWER_LINE_FREQUENCY_INT, OB_PERMISSION_WRITE)) {
@@ -1779,8 +1779,7 @@ void OBCameraNode::getParameters() {
setAndGetNodeParameter<int>(color_saturation_, "color_saturation", -1);
setAndGetNodeParameter<int>(color_contrast_, "color_contrast", -1);
setAndGetNodeParameter<int>(color_hue_, "color_hue", -1);
setAndGetNodeParameter<bool>(enable_color_backlight_compensation_,
"enable_color_backlight_compensation", false);
setAndGetNodeParameter<int>(color_backlight_compensation_, "color_backlight_compensation", -1);
setAndGetNodeParameter<std::string>(color_powerline_freq_, "color_powerline_freq", "");
setAndGetNodeParameter<bool>(enable_color_decimation_filter_, "enable_color_decimation_filter",
false);