18 #ifndef __DISPBLOBBERMODULE_H__
19 #define __DISPBLOBBERMODULE_H__
21 #include <yarp/os/BufferedPort.h>
22 #include <yarp/os/RpcClient.h>
23 #include <yarp/os/RFModule.h>
24 #include <yarp/os/Network.h>
25 #include <yarp/os/Time.h>
26 #include <yarp/os/Stamp.h>
28 #include <yarp/sig/Vector.h>
29 #include <yarp/sig/Image.h>
36 #include "dispBlobber.hpp"
38 class DispBlobberPort :
public yarp::os::BufferedPort<yarp::sig::ImageOf<yarp::sig::PixelBgr> >
42 std::string moduleName;
44 yarp::os::ResourceFinder *moduleRF;
46 std::string imgInPortName;
48 std::string blobsOutPortName;
49 std::string blobsOutPortRightName;
50 std::string points3dOutPortName;
52 std::string roiOutPortName;
53 std::string roiOutPortRightName;
55 std::string cropOutPortName;
56 std::string optOutPortName;
58 yarp::os::BufferedPort<yarp::os::Bottle> blobsOutPort;
59 yarp::os::BufferedPort<yarp::os::Bottle> blobsOutPortRight;
60 yarp::os::BufferedPort<yarp::os::Bottle> points3dOutPort;
62 yarp::os::BufferedPort<yarp::os::Bottle> roiOutPort;
63 yarp::os::BufferedPort<yarp::os::Bottle> roiOutPortRight;
65 yarp::os::BufferedPort< yarp::sig::ImageOf<yarp::sig::PixelBgr> > cropOutPort;
66 yarp::os::BufferedPort<yarp::sig::ImageOf<yarp::sig::PixelMono> > optOutPort;
68 yarp::os::RpcClient sfmRpcPort;
70 std::vector<cv::Mat> imagesMatBuffer;
72 dispBlobber *blobExtractor;
78 DispBlobberPort(
const std::string &moduleName, yarp::os::ResourceFinder &module );
82 void onRead( yarp::sig::ImageOf<yarp::sig::PixelBgr> &img );
85 bool setMargin(
int mrg);
86 bool setThresh(
int low);
92 class DispBlobberModule :
public yarp::os::RFModule
95 std::string moduleName;
97 std::string handlerPortName;
98 yarp::os::RpcServer handlerPort;
100 DispBlobberPort *blobPort;
105 bool configure(yarp::os::ResourceFinder &rf);
106 bool interruptModule();
111 bool respond(
const yarp::os::Bottle &command, yarp::os::Bottle &reply);