00001 #ifndef __BLOBOPERATOR_H__ 00002 #define __BLOBOPERATOR_H__ 00003 00004 #include <string> 00005 #include <cmvision.h> 00006 #include <map> 00007 #ifdef LOCALBUILD 00008 #include "/project/robotics/build/role/src/robot/modules/visionModule/visionModule.H" 00009 #else 00010 //Needed to be changed but retained for cvs 00011 #include "../visionModule.H" 00012 #endif 00013 #include <BlobFinder.H> 00014 #include <ImageSource.H> 00015 #include <RoleConfiguration.H> 00016 #include <Logger.H> 00017 #include <RangeFinder.H> 00018 #include <PTUnit.H> 00019 00020 //#include "cv.h" 00021 //#include "highgui.h" 00022 00023 #include <FaceDetector.H> 00024 00025 using namespace RobotObjects; 00026 00027 namespace RobotVision { 00028 00029 class FaceOperator : public VisionOperator { 00030 public: 00031 FaceOperator(std::string pName); 00032 ~FaceOperator(); 00033 00034 void initOperator(); 00035 void runOperator(RobotObjects::RoleImage image, RobotObjects::RoleImage stereo){} 00036 void runOperator(RobotObjects::RoleImage someImage); 00037 void quitOperator(); 00038 protected: 00039 00040 void GetPTUData(double *pPan, double *pTilt); 00041 void GetLaserData(double *data); 00042 void GetClosedLaserData(double *pOut); 00043 void DrawLaserDataDots(IplImage *pImg, double *pData, unsigned char r, unsigned char g, unsigned char b); 00044 CvHaarClassifierCascade* mCascade; 00045 CvMemStorage* mStorage; 00046 00047 RangeFinder mRangeFinder; 00048 PTUnit mPtu; 00049 FaceDetector mFaceDetector; 00050 00051 double mMinHeight, mMaxHeight; 00052 double mMinSize, mMaxSize; 00053 int mFrames; 00054 Time mBegin, mEnd; 00055 int count; 00056 }; 00057 00058 }; 00059 00060 #endif