00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef SQUARES_HH_
00012 #define SQUARES_HH_
00013
00014 #include <iostream>
00015 #include <cv.h>
00016 #include <cxcore.h>
00017 #include <highgui.h>
00018 #include <math.h>
00019 #include <vector>
00020 #include <boost/foreach.hpp>
00021 #include "visionbehavior.hpp"
00022
00026 class Squares : public VisionBehavior<CvSeq> {
00027 private:
00028 CvMemStorage* storage;
00029 CvSeq* result;
00030 int thresh;
00031 public:
00032 Squares();
00033 virtual ~Squares();
00034 virtual void writeOn(IplImage& img) const;
00035 virtual void actOnKeyPressed(char& key);
00036 virtual CvSeq& getResult();
00037 private:
00038 double angle(CvPoint*, CvPoint*, CvPoint*);
00039 virtual void emptyResult();
00040 virtual void compute(const IplImage& img);
00041 };
00042
00043 #endif