[launch]Add enable_hardware_noise_removal_filter param in launch

This commit is contained in:
jj
2025-01-21 11:35:14 +08:00
parent 8b90f38ca1
commit 29a4d503f1
3 changed files with 12 additions and 0 deletions
@@ -580,6 +580,7 @@ class OBCameraNode {
bool enable_hdr_merge_ = false; bool enable_hdr_merge_ = false;
bool enable_sequence_id_filter_ = false; bool enable_sequence_id_filter_ = false;
bool enable_threshold_filter_ = false; bool enable_threshold_filter_ = false;
bool enable_hardware_noise_removal_filter_ = true;
bool enable_noise_removal_filter_ = true; bool enable_noise_removal_filter_ = true;
bool enable_spatial_filter_ = true; bool enable_spatial_filter_ = true;
bool enable_temporal_filter_ = false; bool enable_temporal_filter_ = false;
@@ -138,6 +138,7 @@ def generate_launch_description():
DeclareLaunchArgument('enable_hdr_merge', default_value='false'), DeclareLaunchArgument('enable_hdr_merge', default_value='false'),
DeclareLaunchArgument('enable_sequence_id_filter', default_value='false'), DeclareLaunchArgument('enable_sequence_id_filter', default_value='false'),
DeclareLaunchArgument('enable_threshold_filter', default_value='false'), DeclareLaunchArgument('enable_threshold_filter', default_value='false'),
DeclareLaunchArgument('enable_hardware_noise_removal_filter', default_value='true'),
DeclareLaunchArgument('enable_noise_removal_filter', default_value='true'), DeclareLaunchArgument('enable_noise_removal_filter', default_value='true'),
DeclareLaunchArgument('enable_spatial_filter', default_value='false'), DeclareLaunchArgument('enable_spatial_filter', default_value='false'),
DeclareLaunchArgument('enable_temporal_filter', default_value='false'), DeclareLaunchArgument('enable_temporal_filter', default_value='false'),
+10
View File
@@ -322,6 +322,7 @@ void OBCameraNode::setupDevices() {
if (device_->isPropertySupported(OB_PROP_DEPTH_SOFT_FILTER_BOOL, OB_PERMISSION_READ_WRITE)) { if (device_->isPropertySupported(OB_PROP_DEPTH_SOFT_FILTER_BOOL, OB_PERMISSION_READ_WRITE)) {
device_->setBoolProperty(OB_PROP_DEPTH_SOFT_FILTER_BOOL, enable_noise_removal_filter_); device_->setBoolProperty(OB_PROP_DEPTH_SOFT_FILTER_BOOL, enable_noise_removal_filter_);
RCLCPP_INFO_STREAM(logger_, "enable_noise_removal_filter:" << enable_noise_removal_filter_);
} }
if (device_->isPropertySupported(OB_PROP_COLOR_AUTO_WHITE_BALANCE_BOOL, OB_PERMISSION_WRITE)) { if (device_->isPropertySupported(OB_PROP_COLOR_AUTO_WHITE_BALANCE_BOOL, OB_PERMISSION_WRITE)) {
@@ -468,6 +469,13 @@ void OBCameraNode::setupDevices() {
RCLCPP_ERROR(logger_, "disparity_range_mode does not support this setting"); RCLCPP_ERROR(logger_, "disparity_range_mode does not support this setting");
} }
} }
if (device_->isPropertySupported(OB_PROP_HW_NOISE_REMOVE_FILTER_ENABLE_BOOL,
OB_PERMISSION_READ_WRITE)) {
device_->setBoolProperty(OB_PROP_HW_NOISE_REMOVE_FILTER_ENABLE_BOOL,
enable_hardware_noise_removal_filter_);
RCLCPP_INFO_STREAM(
logger_, "Setting hardware_noise_removal_filter:" << enable_hardware_noise_removal_filter_);
}
} }
void OBCameraNode::setupDepthPostProcessFilter() { void OBCameraNode::setupDepthPostProcessFilter() {
@@ -1233,6 +1241,8 @@ void OBCameraNode::getParameters() {
setAndGetNodeParameter<bool>(enable_hdr_merge_, "enable_hdr_merge", false); setAndGetNodeParameter<bool>(enable_hdr_merge_, "enable_hdr_merge", false);
setAndGetNodeParameter<bool>(enable_sequence_id_filter_, "enable_sequence_id_filter", false); setAndGetNodeParameter<bool>(enable_sequence_id_filter_, "enable_sequence_id_filter", false);
setAndGetNodeParameter<bool>(enable_threshold_filter_, "enable_threshold_filter", false); setAndGetNodeParameter<bool>(enable_threshold_filter_, "enable_threshold_filter", false);
setAndGetNodeParameter<bool>(enable_hardware_noise_removal_filter_,
"enable_hardware_noise_removal_filter", true);
setAndGetNodeParameter<bool>(enable_noise_removal_filter_, "enable_noise_removal_filter", true); setAndGetNodeParameter<bool>(enable_noise_removal_filter_, "enable_noise_removal_filter", true);
setAndGetNodeParameter<bool>(enable_spatial_filter_, "enable_spatial_filter", false); setAndGetNodeParameter<bool>(enable_spatial_filter_, "enable_spatial_filter", false);
setAndGetNodeParameter<bool>(enable_temporal_filter_, "enable_temporal_filter", false); setAndGetNodeParameter<bool>(enable_temporal_filter_, "enable_temporal_filter", false);