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

Public Member Functions

virtual void onInit ()
 Initialize nodehandles nh_ and pnh_. Subclass should call this method in its onInit method. More...
 
 ~FaceRecognitionNodelet ()
 
- 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 message_filters::sync_policies::ApproximateTime< sensor_msgs::Image, opencv_apps::FaceArrayStamped > ApproximateSyncPolicy
 
typedef opencv_apps::FaceRecognitionConfig Config
 
typedef dynamic_reconfigure::Server< ConfigServer
 
typedef message_filters::sync_policies::ExactTime< sensor_msgs::Image, opencv_apps::FaceArrayStamped > SyncPolicy
 

Private Member Functions

void configCallback (Config &config, uint32_t level)
 
void drawFace (cv::Mat &img, const opencv_apps::Face &face)
 
void extractImage (const cv::Mat &img, const opencv_apps::Face &face, cv::Mat &ret, double padding=0.0)
 
void extractImage (const cv::Mat &img, const opencv_apps::Rect &rect, cv::Mat &ret, double padding=0.0)
 
void faceImageCallback (const sensor_msgs::Image::ConstPtr &image, const opencv_apps::FaceArrayStamped::ConstPtr &faces)
 
void predict (const cv::Mat &img, int &label, double &confidence)
 
void retrain ()
 
void subscribe ()
 This method is called when publisher is subscribed by other nodes. Set up subscribers in this method. More...
 
void train (std::vector< cv::Mat > &images, std::vector< std::string > &labels)
 
bool trainCallback (opencv_apps::FaceRecognitionTrain::Request &req, opencv_apps::FaceRecognitionTrain::Response &res)
 
void unsubscribe ()
 This method is called when publisher is unsubscribed by other nodes. Shut down subscribers in this method. More...
 

Private Attributes

boost::shared_ptr< message_filters::Synchronizer< ApproximateSyncPolicy > > async_
 
boost::shared_ptr< Servercfg_srv_
 
Config config_
 
std::string data_dir_
 
ros::Publisher debug_img_pub_
 
cv::Size face_model_size_
 
double face_padding_
 
ros::Publisher face_pub_
 
message_filters::Subscriber< opencv_apps::FaceArrayStamped > face_sub_
 
image_transport::SubscriberFilter img_sub_
 
boost::shared_ptr< image_transport::ImageTransportit_
 
boost::shared_ptr< LabelMapperlabel_mapper_
 
cv::Ptr< face::FaceRecognizer > model_
 
boost::mutex mutex_
 
int queue_size_
 
bool save_train_data_
 
boost::shared_ptr< Storagestorage_
 
boost::shared_ptr< message_filters::Synchronizer< SyncPolicy > > sync_
 
ros::ServiceServer train_srv_
 
bool use_async_
 
bool use_saved_data_
 

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 316 of file face_recognition_nodelet.cpp.

Member Typedef Documentation

◆ ApproximateSyncPolicy

typedef message_filters::sync_policies::ApproximateTime<sensor_msgs::Image, opencv_apps::FaceArrayStamped> opencv_apps::FaceRecognitionNodelet::ApproximateSyncPolicy
private

Definition at line 322 of file face_recognition_nodelet.cpp.

◆ Config

typedef opencv_apps::FaceRecognitionConfig opencv_apps::FaceRecognitionNodelet::Config
private

Definition at line 318 of file face_recognition_nodelet.cpp.

◆ Server

typedef dynamic_reconfigure::Server<Config> opencv_apps::FaceRecognitionNodelet::Server
private

Definition at line 319 of file face_recognition_nodelet.cpp.

◆ SyncPolicy

typedef message_filters::sync_policies::ExactTime<sensor_msgs::Image, opencv_apps::FaceArrayStamped> opencv_apps::FaceRecognitionNodelet::SyncPolicy
private

Definition at line 320 of file face_recognition_nodelet.cpp.

Constructor & Destructor Documentation

◆ ~FaceRecognitionNodelet()

opencv_apps::FaceRecognitionNodelet::~FaceRecognitionNodelet ( )
inline

Definition at line 674 of file face_recognition_nodelet.cpp.

Member Function Documentation

◆ configCallback()

void opencv_apps::FaceRecognitionNodelet::configCallback ( Config config,
uint32_t  level 
)
inlineprivate

Definition at line 522 of file face_recognition_nodelet.cpp.

◆ drawFace()

void opencv_apps::FaceRecognitionNodelet::drawFace ( cv::Mat &  img,
const opencv_apps::Face &  face 
)
inlineprivate

Definition at line 348 of file face_recognition_nodelet.cpp.

◆ extractImage() [1/2]

void opencv_apps::FaceRecognitionNodelet::extractImage ( const cv::Mat &  img,
const opencv_apps::Face &  face,
cv::Mat &  ret,
double  padding = 0.0 
)
inlineprivate

Definition at line 379 of file face_recognition_nodelet.cpp.

◆ extractImage() [2/2]

void opencv_apps::FaceRecognitionNodelet::extractImage ( const cv::Mat &  img,
const opencv_apps::Rect &  rect,
cv::Mat &  ret,
double  padding = 0.0 
)
inlineprivate

Definition at line 370 of file face_recognition_nodelet.cpp.

◆ faceImageCallback()

void opencv_apps::FaceRecognitionNodelet::faceImageCallback ( const sensor_msgs::Image::ConstPtr &  image,
const opencv_apps::FaceArrayStamped::ConstPtr &  faces 
)
inlineprivate

Definition at line 433 of file face_recognition_nodelet.cpp.

◆ onInit()

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

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

Reimplemented from opencv_apps::Nodelet.

Reimplemented in face_recognition::FaceRecognitionNodelet.

Definition at line 680 of file face_recognition_nodelet.cpp.

◆ predict()

void opencv_apps::FaceRecognitionNodelet::predict ( const cv::Mat &  img,
int &  label,
double &  confidence 
)
inlineprivate

Definition at line 425 of file face_recognition_nodelet.cpp.

◆ retrain()

void opencv_apps::FaceRecognitionNodelet::retrain ( )
inlineprivate

Definition at line 384 of file face_recognition_nodelet.cpp.

◆ subscribe()

void opencv_apps::FaceRecognitionNodelet::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 645 of file face_recognition_nodelet.cpp.

◆ train()

void opencv_apps::FaceRecognitionNodelet::train ( std::vector< cv::Mat > &  images,
std::vector< std::string > &  labels 
)
inlineprivate

Definition at line 392 of file face_recognition_nodelet.cpp.

◆ trainCallback()

bool opencv_apps::FaceRecognitionNodelet::trainCallback ( opencv_apps::FaceRecognitionTrain::Request &  req,
opencv_apps::FaceRecognitionTrain::Response &  res 
)
inlineprivate

Definition at line 483 of file face_recognition_nodelet.cpp.

◆ unsubscribe()

void opencv_apps::FaceRecognitionNodelet::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 666 of file face_recognition_nodelet.cpp.

Member Data Documentation

◆ async_

boost::shared_ptr<message_filters::Synchronizer<ApproximateSyncPolicy> > opencv_apps::FaceRecognitionNodelet::async_
private

Definition at line 328 of file face_recognition_nodelet.cpp.

◆ cfg_srv_

boost::shared_ptr<Server> opencv_apps::FaceRecognitionNodelet::cfg_srv_
private

Definition at line 325 of file face_recognition_nodelet.cpp.

◆ config_

Config opencv_apps::FaceRecognitionNodelet::config_
private

Definition at line 324 of file face_recognition_nodelet.cpp.

◆ data_dir_

std::string opencv_apps::FaceRecognitionNodelet::data_dir_
private

Definition at line 340 of file face_recognition_nodelet.cpp.

◆ debug_img_pub_

ros::Publisher opencv_apps::FaceRecognitionNodelet::debug_img_pub_
private

Definition at line 331 of file face_recognition_nodelet.cpp.

◆ face_model_size_

cv::Size opencv_apps::FaceRecognitionNodelet::face_model_size_
private

Definition at line 345 of file face_recognition_nodelet.cpp.

◆ face_padding_

double opencv_apps::FaceRecognitionNodelet::face_padding_
private

Definition at line 338 of file face_recognition_nodelet.cpp.

◆ face_pub_

ros::Publisher opencv_apps::FaceRecognitionNodelet::face_pub_
private

Definition at line 332 of file face_recognition_nodelet.cpp.

◆ face_sub_

message_filters::Subscriber<opencv_apps::FaceArrayStamped> opencv_apps::FaceRecognitionNodelet::face_sub_
private

Definition at line 330 of file face_recognition_nodelet.cpp.

◆ img_sub_

image_transport::SubscriberFilter opencv_apps::FaceRecognitionNodelet::img_sub_
private

Definition at line 329 of file face_recognition_nodelet.cpp.

◆ it_

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

Definition at line 326 of file face_recognition_nodelet.cpp.

◆ label_mapper_

boost::shared_ptr<LabelMapper> opencv_apps::FaceRecognitionNodelet::label_mapper_
private

Definition at line 343 of file face_recognition_nodelet.cpp.

◆ model_

cv::Ptr<face::FaceRecognizer> opencv_apps::FaceRecognitionNodelet::model_
private

Definition at line 346 of file face_recognition_nodelet.cpp.

◆ mutex_

boost::mutex opencv_apps::FaceRecognitionNodelet::mutex_
private

Definition at line 341 of file face_recognition_nodelet.cpp.

◆ queue_size_

int opencv_apps::FaceRecognitionNodelet::queue_size_
private

Definition at line 339 of file face_recognition_nodelet.cpp.

◆ save_train_data_

bool opencv_apps::FaceRecognitionNodelet::save_train_data_
private

Definition at line 335 of file face_recognition_nodelet.cpp.

◆ storage_

boost::shared_ptr<Storage> opencv_apps::FaceRecognitionNodelet::storage_
private

Definition at line 344 of file face_recognition_nodelet.cpp.

◆ sync_

boost::shared_ptr<message_filters::Synchronizer<SyncPolicy> > opencv_apps::FaceRecognitionNodelet::sync_
private

Definition at line 327 of file face_recognition_nodelet.cpp.

◆ train_srv_

ros::ServiceServer opencv_apps::FaceRecognitionNodelet::train_srv_
private

Definition at line 333 of file face_recognition_nodelet.cpp.

◆ use_async_

bool opencv_apps::FaceRecognitionNodelet::use_async_
private

Definition at line 336 of file face_recognition_nodelet.cpp.

◆ use_saved_data_

bool opencv_apps::FaceRecognitionNodelet::use_saved_data_
private

Definition at line 337 of file face_recognition_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