face_recognizer_node.h
Go to the documentation of this file.
00001 
00061 #ifndef __FACE_RECOGNIZER_NODE_H__
00062 #define __FACE_RECOGNIZER_NODE_H__
00063 
00064 #ifdef __LINUX__
00065 #include "cob_people_detection/face_recognizer.h"
00066 #else
00067 #endif
00068 
00069 // ROS includes
00070 #include <ros/ros.h>
00071 #include <ros/package.h>                // use as: directory_ = ros::package::getPath("cob_people_detection") + "/common/files/windows/";
00072 // ROS message includes
00073 #include <sensor_msgs/Image.h>
00074 #include <geometry_msgs/Point.h>
00075 #include <cob_perception_msgs/DetectionArray.h>
00076 #include <cob_perception_msgs/ColorDepthImageArray.h>
00077 
00078 // Actions
00079 #include <actionlib/server/simple_action_server.h>
00080 #include <cob_people_detection/loadModelAction.h>
00081 
00082 //boost includes
00083 
00084 #include<boost/filesystem.hpp>
00085 
00086 namespace ipa_PeopleDetector
00087 {
00088 
00089 typedef actionlib::SimpleActionServer<cob_people_detection::loadModelAction> LoadModelServer;
00090 
00091 class FaceRecognizerNode
00092 {
00093 public:
00094 
00097         FaceRecognizerNode(ros::NodeHandle nh);
00098         ~FaceRecognizerNode(void); 
00099 
00100 
00101 protected:
00102 
00104         void facePositionsCallback(const cob_perception_msgs::ColorDepthImageArray::ConstPtr& face_positions);
00105         //void facePositionsCallback(const cob_perception_msgs::ColorDepthImageCropArray::ConstPtr& face_positions);
00106 
00114         bool determine3DFaceCoordinates(cv::Mat& depth_image, int center2Dx, int center2Dy, geometry_msgs::Point& center3D, int search_radius);
00115 
00117         void loadModelServerCallback(const cob_people_detection::loadModelGoalConstPtr& goal);
00118 
00119         ros::NodeHandle node_handle_;
00120 
00121         ros::Subscriber face_position_subscriber_; 
00122 
00123         ros::Publisher face_recognition_publisher_; 
00124 
00125         LoadModelServer* load_model_server_; 
00126 
00127         FaceRecognizer face_recognizer_; 
00128 
00129 
00130         // parameters
00131         std::string data_directory_; 
00132         std::string classifier_directory_; 
00133         bool enable_face_recognition_; 
00134         bool display_timing_;
00135 
00136 };
00137 
00138 } // end namespace
00139 
00140 #endif // __FACE_RECOGNIZER_NODE_H__


cob_people_detection
Author(s): Richard Bormann , Thomas Zwölfer
autogenerated on Fri Aug 28 2015 10:24:13