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