00001 00002 00003 #ifndef _CAMERA_THREAD_H_ 00004 #define _CAMERA_THREAD_H_ 00005 00006 #include <blort/ThreadObject/Thread.h> 00007 #include <blort/TomGine/tgTimer.h> 00008 #include <opencv2/core/core.hpp> 00009 #include <opencv2/highgui/highgui.hpp> 00010 #include <opencv2/legacy/compat.hpp> 00011 00012 namespace Tracking{ 00013 00014 class CameraThread : public CThread 00015 { 00016 private: 00017 bool m_new_image; 00018 int m_camID; 00019 int m_width; 00020 int m_height; 00021 00022 TomGine::tgTimer m_timer; 00023 00024 CvCapture* m_capture; 00025 IplImage* m_image; 00026 00027 CEventClass m_evData; 00028 00029 public: 00030 CameraThread(int camID, int width, int height); 00031 ~CameraThread(); 00032 00033 virtual BOOL OnTask(); 00034 00035 void GetImage(IplImage* image); 00036 00037 }; 00038 00039 } // namespace Tracking 00040 00041 #endif /* _CAMERA_THREAD_H_ */ 00042