00001 #ifndef TRACKING_H 00002 #define TRACKING_H 00003 00004 #include "cv.h" 00005 #include "cxcore.h" 00006 #include "kalmanFilter.h" 00007 #include "BlobResult.h" 00008 #include <vector> 00009 00011 class Tracking 00012 { 00013 public: 00015 Tracking (); 00017 ~Tracking(); 00019 IplImage* paintCrossKalmanSelected(IplImage*); 00021 IplImage* paintCrossKalmanPredicted(IplImage*); 00023 IplImage* paintCrossKalmanPredictedAutoUpdate(IplImage*); 00025 IplImage* paintCrossKalmanPredictedLastUpdate(IplImage*); 00026 00028 void addKalmanPrediction(float x,float y); 00029 void addKalmanPrediction(CBlob); 00031 void updateKalmanPrediction(float x,float y,int i); 00032 void updateKalmanPrediction(CBlob,int i); 00034 void clearKalman(); 00035 00037 std::vector<CvPoint> getKalmanPoints(); 00039 //std::vector<CBlob> getKalmanBlobs(); 00041 std::vector<CvPoint> getKalmanPredicted(); 00042 //std::vector<CvPoint*> getKalmanPredicted(); 00044 std::vector<CvPoint> getLastPointUpdate(); 00045 00046 private: 00048 std::vector<CvPoint> vecKalmanPoints; 00050 //std::vector<CBlob> vecKalmanBlobs; 00052 std::vector<CvPoint> vecLastPointUpdate; 00054 //std::vector<CBlob> vecLastBlobUpdate; 00056 std::vector<CvPoint> vecKalmanPredicted; 00057 //std::vector<CvPoint*> vecKalmanPredicted; 00059 std::vector<KalmanFilter*> vecKalmanObjects; 00061 IplImage* Tracking::getColorImage(IplImage *src_image); 00062 00063 }; 00064 00065 #endif
1.6.2