订阅/camera/image节点后,保存视频到 .avi中。
ros_video_save.cpp
// xx
// 订阅/camera/image后,保存为.avi
#include <ros/ros.h>
#include <image_transport/image_transport.h>
#include <cv_bridge/cv_bridge.h>
#include <sensor_msgs/image_encodings.h>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
static const std::string OPENCV_WINDOW = "Image window";
cv::VideoWriter writer("/home/xx/Videos/write.avi",CV_FOURCC('M','J','P','G'),30.0,cv::Size(640,480));
class ImageConverter
{
ros::NodeHandle nh_;
image_transport::ImageTransport it_;
image_transport::Subscriber image_sub_;
// image_transport::Publisher image_pub_;
public:
ImageConverter()
: it_(nh_)
{
// Subscrive to input video feed and publish output video feed
image_sub_ = it_.subscribe("/camera/image", 1,
&ImageConverter::imageCb, this);
/