Step 3: Explanation of the code

Following is the explanation of the complete code:

#include <image_transport/image_transport.h> 

We are using the image_transport package in this code for publishing and subscribing to image in ROS.

#include <cv_bridge/cv_bridge.h> 
#include <sensor_msgs/image_encodings.h> 

This header includes the CvBridge class and image encoding related functions in
the code.

#include <opencv2/imgproc/imgproc.hpp> 
#include <opencv2/highgui/highgui.hpp> 

These are main OpenCV image processing module and GUI modules which provide image processing and GUI APIs in our code.

  image_transport::ImageTransport it_; 
public: 
  Edge_Detector() 
    : it_(nh_) 
  { 
    // Subscribe to input video feed and publish output video feed 
    image_sub_ = it_.subscribe("/usb_cam/image_raw", 1,  
      &ImageConverter::imageCb, this); 
 
    image_pub_ = it_.advertise("/edge_detector/processed_image", 1); 

We will look in more detail at the line image_transport::ImageTransport it_ . This line creates an instance of ImageTransport which is used to publish and subscribe the ROS image messages. More information about the ImageTransport API is given next.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.144.25.74