37 #include <boost/assign.hpp> 44 DiagnosticNodelet::onInit();
46 srv_ = boost::make_shared <dynamic_reconfigure::Server<Config> > (*pnh_);
47 dynamic_reconfigure::Server<Config>::CallbackType
f =
50 srv_->setCallback (f);
60 #if CV_MAJOR_VERSION >= 3 61 bg_ = cv::createBackgroundSubtractorMOG2();
63 bg_ = cv::BackgroundSubtractorMOG2();
67 #if CV_MAJOR_VERSION >= 3 73 #if CV_MAJOR_VERSION >= 3 74 bg_->setDetectShadows(1);
76 bg_.set(
"detectShadows", 1);
80 #if CV_MAJOR_VERSION >= 3 81 bg_->setDetectShadows(1);
83 bg_.set(
"detectShadows", 0);
102 const sensor_msgs::Image::ConstPtr& image_msg)
108 cv::Mat image = cv_ptr->image;
110 std::vector <std::vector<cv::Point > > contours;
111 #if CV_MAJOR_VERSION >= 3 112 bg_->apply(image, fg);
116 sensor_msgs::Image::Ptr diff_image
virtual void configCallback(Config &config, uint32_t level)
jsk_perception::BackgroundSubstractionConfig Config
void publish(const boost::shared_ptr< M > &message) const
virtual void unsubscribe()
boost::shared_ptr< dynamic_reconfigure::Server< Config > > srv_
cv::BackgroundSubtractorMOG2 bg_
std::vector< std::string > V_string
virtual void substract(const sensor_msgs::Image::ConstPtr &image_msg)
CvImagePtr toCvCopy(const sensor_msgs::ImageConstPtr &source, const std::string &encoding=std::string())
image_transport::Subscriber sub_
boost::shared_ptr< image_transport::ImageTransport > it_
ros::Publisher image_pub_
PLUGINLIB_EXPORT_CLASS(jsk_perception::BackgroundSubstraction, nodelet::Nodelet)
sensor_msgs::ImagePtr toImageMsg() const