Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
opencv_apps::ContourMomentsNodelet Class Reference
Inheritance diagram for opencv_apps::ContourMomentsNodelet:
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::ContourMomentsConfig 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

image_transport::CameraSubscriber cam_sub_
 
Config config_
 
bool debug_view_
 
image_transport::Publisher img_pub_
 
image_transport::Subscriber img_sub_
 
boost::shared_ptr< image_transport::ImageTransportit_
 
int low_threshold_
 
ros::Publisher msg_pub_
 
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 100 of file contour_moments_nodelet.cpp.

Member Typedef Documentation

◆ Config

typedef opencv_apps::ContourMomentsConfig opencv_apps::ContourMomentsNodelet::Config
private

Definition at line 109 of file contour_moments_nodelet.cpp.

◆ ReconfigureServer

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

Definition at line 110 of file contour_moments_nodelet.cpp.

Member Function Documentation

◆ doWork()

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

Convert image to gray and blur it

Create window

Detect edges using canny

Find contours

Draw contours

Draw moment on drawing only when img_pub_ have subscribers

Calculate the area with the moments 00 and compare with the result of the OpenCV function

Get the moments

Get the mass centers:

Definition at line 151 of file contour_moments_nodelet.cpp.

◆ frameWithDefault()

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

Definition at line 129 of file contour_moments_nodelet.cpp.

◆ imageCallback()

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

Definition at line 141 of file contour_moments_nodelet.cpp.

◆ imageCallbackWithInfo()

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

Definition at line 136 of file contour_moments_nodelet.cpp.

◆ onInit()

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

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

Reimplemented from opencv_apps::Nodelet.

Reimplemented in contour_moments::ContourMomentsNodelet.

Definition at line 306 of file contour_moments_nodelet.cpp.

◆ reconfigureCallback()

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

Definition at line 123 of file contour_moments_nodelet.cpp.

◆ subscribe()

void opencv_apps::ContourMomentsNodelet::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 289 of file contour_moments_nodelet.cpp.

◆ trackbarCallback()

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

Definition at line 146 of file contour_moments_nodelet.cpp.

◆ unsubscribe()

void opencv_apps::ContourMomentsNodelet::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 298 of file contour_moments_nodelet.cpp.

Member Data Documentation

◆ cam_sub_

image_transport::CameraSubscriber opencv_apps::ContourMomentsNodelet::cam_sub_
private

Definition at line 104 of file contour_moments_nodelet.cpp.

◆ config_

Config opencv_apps::ContourMomentsNodelet::config_
private

Definition at line 111 of file contour_moments_nodelet.cpp.

◆ debug_view_

bool opencv_apps::ContourMomentsNodelet::debug_view_
private

Definition at line 115 of file contour_moments_nodelet.cpp.

◆ img_pub_

image_transport::Publisher opencv_apps::ContourMomentsNodelet::img_pub_
private

Definition at line 102 of file contour_moments_nodelet.cpp.

◆ img_sub_

image_transport::Subscriber opencv_apps::ContourMomentsNodelet::img_sub_
private

Definition at line 103 of file contour_moments_nodelet.cpp.

◆ it_

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

Definition at line 107 of file contour_moments_nodelet.cpp.

◆ low_threshold_

int opencv_apps::ContourMomentsNodelet::low_threshold_
private

Definition at line 118 of file contour_moments_nodelet.cpp.

◆ msg_pub_

ros::Publisher opencv_apps::ContourMomentsNodelet::msg_pub_
private

Definition at line 105 of file contour_moments_nodelet.cpp.

◆ need_config_update_

bool opencv_apps::ContourMomentsNodelet::need_config_update_ = false
staticprivate

Definition at line 121 of file contour_moments_nodelet.cpp.

◆ prev_stamp_

ros::Time opencv_apps::ContourMomentsNodelet::prev_stamp_
private

Definition at line 116 of file contour_moments_nodelet.cpp.

◆ queue_size_

int opencv_apps::ContourMomentsNodelet::queue_size_
private

Definition at line 114 of file contour_moments_nodelet.cpp.

◆ reconfigure_server_

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

Definition at line 112 of file contour_moments_nodelet.cpp.

◆ window_name_

std::string opencv_apps::ContourMomentsNodelet::window_name_
private

Definition at line 120 of file contour_moments_nodelet.cpp.


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


opencv_apps
Author(s): Kei Okada
autogenerated on Fri May 23 2025 02:49:49