From ac7769cc35858a0066bbf0a72826b86a3525332f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=B1=BC=E9=A6=99ROS?= <87068644+fishros@users.noreply.github.com> Date: Mon, 18 Mar 2024 22:45:20 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BA=BA=E8=84=B8=E6=A3=80=E6=B5=8B?= =?UTF-8?q?=E5=8F=82=E6=95=B0=E5=9B=9E=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../demo_python_service/face_detect_node.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/chapt4/chapt4_ws/src/demo_python_service/demo_python_service/face_detect_node.py b/chapt4/chapt4_ws/src/demo_python_service/demo_python_service/face_detect_node.py index 5acfc06..7d62074 100644 --- a/chapt4/chapt4_ws/src/demo_python_service/demo_python_service/face_detect_node.py +++ b/chapt4/chapt4_ws/src/demo_python_service/demo_python_service/face_detect_node.py @@ -6,7 +6,7 @@ from cv_bridge import CvBridge # 用于转换格式 import cv2 import face_recognition import time - +from rcl_interfaces.msg import SetParametersResult class FaceDetectorionNode(Node): def __init__(self): @@ -21,6 +21,19 @@ class FaceDetectorionNode(Node): self.declare_parameter('face_locations_model', "hog") self.model = self.get_parameter("face_locations_model").value self.upsample_times = self.get_parameter("face_locations_upsample_times").value + self.set_parameters([rclpy.Parameter('face_locations_model', rclpy.Parameter.Type.STRING, 'cnn')]) + self.add_on_set_parameters_callback(self.parameter_callback) + + def parameter_callback(self, parameters): + for parameter in parameters: + self.get_logger().info( + f'参数 {parameter.name} 设置为:{parameter.value}') + if parameter.name == 'face_locations_upsample_times': + self.upsample_times = parameter.value + if parameter.name == 'face_locations_model': + self.mode = parameter.value + return SetParametersResult(successful=True) + def detect_face_callback(self, request, response): if request.image.data: