Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
opencv_apps::EdgeDetectionNodelet Class Reference
Inheritance diagram for opencv_apps::EdgeDetectionNodelet:
Inheritance graph
[legend]

Public Member Functions

virtual void onInit ()
 Initialize nodehandles nh_ and pnh_. Subclass should call this method in its onInit method. More...
 
- Public Member Functions inherited from opencv_apps::Nodelet
 Nodelet ()
 
- Public Member Functions inherited from nodelet::Nodelet
void init (const std::string &name, const M_string &remapping_args, const V_string &my_argv, ros::CallbackQueueInterface *st_queue=NULL, ros::CallbackQueueInterface *mt_queue=NULL)
 
 Nodelet ()
 
virtual ~Nodelet ()
 

Private Types

typedef opencv_apps::EdgeDetectionConfig Config
 
typedef dynamic_reconfigure::Server< ConfigReconfigureServer
 

Private Member Functions

void doWork (const sensor_msgs::ImageConstPtr &msg, const std::string &input_frame_from_msg)
 
const std::string & frameWithDefault (const std::string &frame, const std::string &image_frame)
 
void imageCallback (const sensor_msgs::ImageConstPtr &msg)
 
void imageCallbackWithInfo (const sensor_msgs::ImageConstPtr &msg, const sensor_msgs::CameraInfoConstPtr &cam_info)
 
void reconfigureCallback (Config &new_config, uint32_t level)
 
void subscribe ()
 This method is called when publisher is subscribed by other nodes. Set up subscribers in this method. More...
 
void unsubscribe ()
 This method is called when publisher is unsubscribed by other nodes. Shut down subscribers in this method. More...
 

Static Private Member Functions

static void trackbarCallback (int, void *)
 

Private Attributes

int apertureSize_
 
bool apply_blur_post_
 
bool apply_blur_pre_
 
image_transport::CameraSubscriber cam_sub_
 
int canny_threshold1_
 
int canny_threshold2_
 
Config config_
 
bool debug_view_
 
image_transport::Publisher img_pub_
 
image_transport::Subscriber img_sub_
 
boost::shared_ptr< image_transport::ImageTransportit_
 
bool L2gradient_
 
ros::Publisher msg_pub_
 
double postBlurSigma_
 
int postBlurSize_
 
ros::Time prev_stamp_
 
int queue_size_
 
boost::shared_ptr< ReconfigureServerreconfigure_server_
 
std::string window_name_
 

Static Private Attributes

static bool need_config_update_ = false
 

Additional Inherited Members

- Protected Member Functions inherited from opencv_apps::Nodelet
template<class T >
ros::Publisher advertise (ros::NodeHandle &nh, std::string topic, int queue_size)
 Advertise a topic and watch the publisher. Publishers which are created by this method. It automatically reads latch boolean parameter from nh and publish topic with appropriate latch parameter. More...
 
image_transport::CameraPublisher advertiseCamera (ros::NodeHandle &nh, const std::string &topic, int queue_size)
 Advertise an image topic camera info topic and watch the publisher. Publishers which are created by this method. It automatically reads latch boolean parameter from nh and it and publish topic with appropriate latch parameter. More...
 
image_transport::Publisher advertiseImage (ros::NodeHandle &nh, const std::string &topic, int queue_size)
 Advertise an image topic and watch the publisher. Publishers which are created by this method. It automatically reads latch boolean parameter from nh and it and publish topic with appropriate latch parameter. More...
 
virtual void cameraConnectionBaseCallback ()
 callback function which is called when new subscriber come for camera image publisher or camera info publisher. This function is called from cameraConnectionCallback or cameraInfoConnectionCallback. More...
 
virtual void cameraConnectionCallback (const image_transport::SingleSubscriberPublisher &pub)
 callback function which is called when new subscriber come for camera image publisher More...
 
virtual void cameraInfoConnectionCallback (const ros::SingleSubscriberPublisher &pub)
 callback function which is called when new subscriber come for camera info publisher More...
 
virtual void connectionCallback (const ros::SingleSubscriberPublisher &pub)
 callback function which is called when new subscriber come More...
 
virtual void imageConnectionCallback (const image_transport::SingleSubscriberPublisher &pub)
 callback function which is called when new subscriber come for image publisher More...
 
virtual void onInitPostProcess ()
 Post processing of initialization of nodelet. You need to call this method in order to use always_subscribe feature. More...
 
virtual void warnNeverSubscribedCallback (const ros::WallTimerEvent &event)
 callback function which is called when walltimer duration run out. More...
 
- Protected Member Functions inherited from nodelet::Nodelet
ros::CallbackQueueInterfacegetMTCallbackQueue () const
 
ros::NodeHandlegetMTNodeHandle () const
 
ros::NodeHandlegetMTPrivateNodeHandle () const
 
const V_stringgetMyArgv () const
 
const std::string & getName () const
 
ros::NodeHandlegetNodeHandle () const
 
ros::NodeHandlegetPrivateNodeHandle () const
 
const M_stringgetRemappingArgs () const
 
ros::CallbackQueueInterfacegetSTCallbackQueue () const
 
std::string getSuffixedName (const std::string &suffix) const
 
- Protected Attributes inherited from opencv_apps::Nodelet
bool always_subscribe_
 A flag to disable watching mechanism and always subscribe input topics. It can be specified via ~always_subscribe parameter. More...
 
std::vector< image_transport::CameraPublishercamera_publishers_
 List of watching camera publishers. More...
 
boost::mutex connection_mutex_
 mutex to call subscribe() and unsubscribe() in critical section. More...
 
ConnectionStatus connection_status_
 Status of connection. More...
 
bool ever_subscribed_
 A flag to check if the node has been ever subscribed or not. More...
 
std::vector< image_transport::Publisherimage_publishers_
 List of watching image publishers. More...
 
boost::shared_ptr< ros::NodeHandlenh_
 Shared pointer to nodehandle. More...
 
boost::shared_ptr< ros::NodeHandlepnh_
 Shared pointer to private nodehandle. More...
 
std::vector< ros::Publisherpublishers_
 List of watching publishers. More...
 
bool subscribed_
 A flag to check if any publisher is already subscribed or not. More...
 
ros::WallTimer timer_
 WallTimer instance for warning about no connection. More...
 
bool verbose_connection_
 true if ~verbose_connection or verbose_connection parameter is true. More...
 

Detailed Description

Definition at line 67 of file edge_detection_nodelet.cpp.

Member Typedef Documentation

typedef opencv_apps::EdgeDetectionConfig opencv_apps::EdgeDetectionNodelet::Config
private

Definition at line 76 of file edge_detection_nodelet.cpp.

typedef dynamic_reconfigure::Server<Config> opencv_apps::EdgeDetectionNodelet::ReconfigureServer
private

Definition at line 77 of file edge_detection_nodelet.cpp.

Member Function Documentation

void opencv_apps::EdgeDetectionNodelet::doWork ( const sensor_msgs::ImageConstPtr &  msg,
const std::string &  input_frame_from_msg 
)
inlineprivate

Convert it to gray

Create window

Generate grad_x and grad_y

Gradient X

Gradient Y

Total Gradient (approximate)

Apply Laplace function

Reduce noise with a kernel 3x3

Canny detector

Create a Trackbar for user to enter threshold

Definition at line 133 of file edge_detection_nodelet.cpp.

const std::string& opencv_apps::EdgeDetectionNodelet::frameWithDefault ( const std::string &  frame,
const std::string &  image_frame 
)
inlineprivate

Definition at line 111 of file edge_detection_nodelet.cpp.

void opencv_apps::EdgeDetectionNodelet::imageCallback ( const sensor_msgs::ImageConstPtr &  msg)
inlineprivate

Definition at line 123 of file edge_detection_nodelet.cpp.

void opencv_apps::EdgeDetectionNodelet::imageCallbackWithInfo ( const sensor_msgs::ImageConstPtr &  msg,
const sensor_msgs::CameraInfoConstPtr &  cam_info 
)
inlineprivate

Definition at line 118 of file edge_detection_nodelet.cpp.

virtual void opencv_apps::EdgeDetectionNodelet::onInit ( )
inlinevirtual

Initialize nodehandles nh_ and pnh_. Subclass should call this method in its onInit method.

Reimplemented from opencv_apps::Nodelet.

Reimplemented in edge_detection::EdgeDetectionNodelet.

Definition at line 293 of file edge_detection_nodelet.cpp.

void opencv_apps::EdgeDetectionNodelet::reconfigureCallback ( Config new_config,
uint32_t  level 
)
inlineprivate

Definition at line 97 of file edge_detection_nodelet.cpp.

void opencv_apps::EdgeDetectionNodelet::subscribe ( )
inlineprivatevirtual

This method is called when publisher is subscribed by other nodes. Set up subscribers in this method.

Implements opencv_apps::Nodelet.

Definition at line 276 of file edge_detection_nodelet.cpp.

static void opencv_apps::EdgeDetectionNodelet::trackbarCallback ( int  ,
void *   
)
inlinestaticprivate

Definition at line 128 of file edge_detection_nodelet.cpp.

void opencv_apps::EdgeDetectionNodelet::unsubscribe ( )
inlineprivatevirtual

This method is called when publisher is unsubscribed by other nodes. Shut down subscribers in this method.

Implements opencv_apps::Nodelet.

Definition at line 285 of file edge_detection_nodelet.cpp.

Member Data Documentation

int opencv_apps::EdgeDetectionNodelet::apertureSize_
private

Definition at line 87 of file edge_detection_nodelet.cpp.

bool opencv_apps::EdgeDetectionNodelet::apply_blur_post_
private

Definition at line 90 of file edge_detection_nodelet.cpp.

bool opencv_apps::EdgeDetectionNodelet::apply_blur_pre_
private

Definition at line 89 of file edge_detection_nodelet.cpp.

image_transport::CameraSubscriber opencv_apps::EdgeDetectionNodelet::cam_sub_
private

Definition at line 71 of file edge_detection_nodelet.cpp.

int opencv_apps::EdgeDetectionNodelet::canny_threshold1_
private

Definition at line 85 of file edge_detection_nodelet.cpp.

int opencv_apps::EdgeDetectionNodelet::canny_threshold2_
private

Definition at line 86 of file edge_detection_nodelet.cpp.

Config opencv_apps::EdgeDetectionNodelet::config_
private

Definition at line 78 of file edge_detection_nodelet.cpp.

bool opencv_apps::EdgeDetectionNodelet::debug_view_
private

Definition at line 82 of file edge_detection_nodelet.cpp.

image_transport::Publisher opencv_apps::EdgeDetectionNodelet::img_pub_
private

Definition at line 69 of file edge_detection_nodelet.cpp.

image_transport::Subscriber opencv_apps::EdgeDetectionNodelet::img_sub_
private

Definition at line 70 of file edge_detection_nodelet.cpp.

boost::shared_ptr<image_transport::ImageTransport> opencv_apps::EdgeDetectionNodelet::it_
private

Definition at line 74 of file edge_detection_nodelet.cpp.

bool opencv_apps::EdgeDetectionNodelet::L2gradient_
private

Definition at line 88 of file edge_detection_nodelet.cpp.

ros::Publisher opencv_apps::EdgeDetectionNodelet::msg_pub_
private

Definition at line 72 of file edge_detection_nodelet.cpp.

bool opencv_apps::EdgeDetectionNodelet::need_config_update_ = false
staticprivate

Definition at line 95 of file edge_detection_nodelet.cpp.

double opencv_apps::EdgeDetectionNodelet::postBlurSigma_
private

Definition at line 92 of file edge_detection_nodelet.cpp.

int opencv_apps::EdgeDetectionNodelet::postBlurSize_
private

Definition at line 91 of file edge_detection_nodelet.cpp.

ros::Time opencv_apps::EdgeDetectionNodelet::prev_stamp_
private

Definition at line 83 of file edge_detection_nodelet.cpp.

int opencv_apps::EdgeDetectionNodelet::queue_size_
private

Definition at line 81 of file edge_detection_nodelet.cpp.

boost::shared_ptr<ReconfigureServer> opencv_apps::EdgeDetectionNodelet::reconfigure_server_
private

Definition at line 79 of file edge_detection_nodelet.cpp.

std::string opencv_apps::EdgeDetectionNodelet::window_name_
private

Definition at line 94 of file edge_detection_nodelet.cpp.


The documentation for this class was generated from the following file:


opencv_apps
Author(s): Kei Okada
autogenerated on Sat Aug 22 2020 03:35:09