00001 // -*- mode: C++ -*- 00002 00003 #ifndef IMAGE_RESIZER_NODELET_H_ 00004 #define IMAGE_RESIZER_NODELET_H_ 00005 00006 #include "resized_image_transport/image_processing_nodelet.h" 00007 #include "resized_image_transport/ImageResizerConfig.h" 00008 #include <sensor_msgs/image_encodings.h> 00009 00010 namespace resized_image_transport 00011 { 00012 class ImageResizer : public resized_image_transport::ImageProcessing 00013 { 00014 public: 00015 protected: 00016 typedef dynamic_reconfigure::Server<ImageResizerConfig> ReconfigureServer; 00017 boost::shared_ptr<ReconfigureServer> reconfigure_server_; 00018 int interpolation_; 00019 00020 protected: 00021 void onInit(); 00022 void initReconfigure(); 00023 void initParams(); 00024 void mask_region_callback(const sensor_msgs::Image::ConstPtr& msg); 00025 void config_cb (ImageResizerConfig &config, uint32_t level); 00026 void process(const sensor_msgs::ImageConstPtr &src_img, const sensor_msgs::CameraInfoConstPtr &src_info, 00027 sensor_msgs::ImagePtr &dst_img, sensor_msgs::CameraInfo &dst_info); 00028 ros::Subscriber sub_; 00029 int raw_width_, raw_height_; 00030 }; 00031 } 00032 #endif