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...
 
- 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::Rect &rect, cv::Mat &ret, double padding=0.0)
 
void extractImage (const cv::Mat &img, const opencv_apps::Face &face, 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 295 of file face_recognition_nodelet.cpp.

Member Typedef Documentation

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

Definition at line 301 of file face_recognition_nodelet.cpp.

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

Definition at line 297 of file face_recognition_nodelet.cpp.

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

Definition at line 298 of file face_recognition_nodelet.cpp.

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

Definition at line 299 of file face_recognition_nodelet.cpp.

Member Function Documentation

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

Definition at line 502 of file face_recognition_nodelet.cpp.

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

Definition at line 327 of file face_recognition_nodelet.cpp.

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

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

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

Definition at line 412 of file face_recognition_nodelet.cpp.

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

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

Definition at line 404 of file face_recognition_nodelet.cpp.

void opencv_apps::FaceRecognitionNodelet::retrain ( )
inlineprivate

Definition at line 363 of file face_recognition_nodelet.cpp.

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

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

Definition at line 371 of file face_recognition_nodelet.cpp.

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

Definition at line 463 of file face_recognition_nodelet.cpp.

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

Member Data Documentation

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

Definition at line 307 of file face_recognition_nodelet.cpp.

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

Definition at line 304 of file face_recognition_nodelet.cpp.

Config opencv_apps::FaceRecognitionNodelet::config_
private

Definition at line 303 of file face_recognition_nodelet.cpp.

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

Definition at line 319 of file face_recognition_nodelet.cpp.

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

Definition at line 310 of file face_recognition_nodelet.cpp.

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

Definition at line 324 of file face_recognition_nodelet.cpp.

double opencv_apps::FaceRecognitionNodelet::face_padding_
private

Definition at line 317 of file face_recognition_nodelet.cpp.

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

Definition at line 311 of file face_recognition_nodelet.cpp.

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

Definition at line 309 of file face_recognition_nodelet.cpp.

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

Definition at line 308 of file face_recognition_nodelet.cpp.

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

Definition at line 305 of file face_recognition_nodelet.cpp.

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

Definition at line 322 of file face_recognition_nodelet.cpp.

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

Definition at line 325 of file face_recognition_nodelet.cpp.

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

Definition at line 320 of file face_recognition_nodelet.cpp.

int opencv_apps::FaceRecognitionNodelet::queue_size_
private

Definition at line 318 of file face_recognition_nodelet.cpp.

bool opencv_apps::FaceRecognitionNodelet::save_train_data_
private

Definition at line 314 of file face_recognition_nodelet.cpp.

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

Definition at line 323 of file face_recognition_nodelet.cpp.

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

Definition at line 306 of file face_recognition_nodelet.cpp.

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

Definition at line 312 of file face_recognition_nodelet.cpp.

bool opencv_apps::FaceRecognitionNodelet::use_async_
private

Definition at line 315 of file face_recognition_nodelet.cpp.

bool opencv_apps::FaceRecognitionNodelet::use_saved_data_
private

Definition at line 316 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 Sat Aug 22 2020 03:35:09