2 #include <image_transport/image_transport.h> 
    3 #include <cv_bridge/cv_bridge.h> 
    4 #include <sensor_msgs/image_encodings.h> 
    5 #include <opencv2/imgproc/imgproc.hpp> 
    6 #include <opencv2/highgui/highgui.hpp> 
    7 #include <boost/filesystem.hpp> 
    8 #include <boost/format.hpp> 
   20             ros::NodeHandle private_node(
"~");
 
   25             private_node.param(
"output_path",path,
string(
"no output path defined"));
 
   34             cv_bridge::CvImagePtr cv_ptr;
 
   38                 cv_ptr = cv_bridge::toCvCopy(msg, sensor_msgs::image_encodings::BGR8);
 
   40             catch (cv_bridge::Exception& e)
 
   42                 ROS_ERROR(
"cv_bridge exception: %s", e.what());
 
   46             boost::filesystem::path file_url = output_path / (boost::format(
"%06.d.png") % seq_number).str();
 
   48             cv::imwrite(file_url.string(),cv_ptr->image);
 
   61         image_transport::ImageTransport 
it;
 
   64 int main(
int argc,
char**argv)
 
   66     ros::init(argc, argv, 
"save_frames");
 
int main(int argc, char **argv)
 
void imageHandler(const sensor_msgs::ImageConstPtr &msg)
 
image_transport::ImageTransport it
 
image_transport::Subscriber subscriber
 
SaveFrames(ros::NodeHandle &nh_)
 
boost::filesystem::path output_path