23 #include "opencv2/opencv.hpp"
25 #include <yarp/os/Time.h>
26 #include <yarp/os/RFModule.h>
27 #include <yarp/os/RpcServer.h>
28 #include <yarp/os/RpcClient.h>
29 #include <yarp/os/BufferedPort.h>
30 #include <yarp/os/Port.h>
31 #include <yarp/sig/Image.h>
32 #include <yarp/sig/Vector.h>
34 #include "iCub/utils.h"
44 class Manager :
public yarp::os::RFModule
48 yarp::os::Port rpcHuman;
50 yarp::os::Port motionFilter;
51 yarp::os::Port toolPoint;
52 yarp::os::BufferedPort<yarp::sig::ImageOf<yarp::sig::PixelRgb> > imgOutPort;
54 MotionFeatures motionFeatures;
56 lineData *lineDetails;
58 int processHumanCmd(
const yarp::os::Bottle &cmd, yarp::os::Bottle &b);
59 void processBlobs(yarp::os::Bottle &b, cv::Mat &dest, lineData *lineDetails);
60 void processMotionPoints(yarp::os::Bottle &b);
61 yarp::os::Bottle processImage(yarp::os::Bottle &b, cv::Mat &dest, cv::Mat &clean, lineData *lineDetails);
62 void getIntersection(cv::Mat &dest, lineData *lineDetails );
64 friend class MotionFeatures;
67 bool configure(yarp::os::ResourceFinder &rf);
68 bool interruptModule();