00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef _QMOTION_H_
00022 #define _QMOTION_H_
00023
00024 #include <QTimer>
00025 #include <QColor>
00026 #include <QImage>
00027 #include <QFtp>
00028
00029 #include "ui_qmotion.h"
00030 #include "recordersetupdlg.h"
00031 #include "ftpsetupdlg.h"
00032 #include "capturethread.h"
00033 #include "motiondetector.h"
00034
00035 #include <cv.h>
00036 #include <highgui.h>
00037
00038 class QMotion : public QMainWindow, private Ui::QMainWindowBase
00039 {
00040 Q_OBJECT
00041
00042 public:
00043 QMotion(QWidget *parent = 0);
00044 ~QMotion();
00045
00046 public slots:
00047 void fps_update();
00048 void FTPstateChanged(int);
00049 void update_image(const IplImage&);
00050 void update_motion(const IplImage&);
00051 void motion_treatment();
00052
00053 private slots:
00054 void about();
00055 void dir_settings();
00056 void ftp_settings();
00057 void on_pushButton_color_clicked();
00058 void on_global_marker_stateChanged(int);
00059 void on_component_markers_stateChanged(int);
00060
00061 signals:
00062 void motion();
00063
00064 protected:
00065 void resizeEvent( QResizeEvent * event );
00066
00067 private:
00068 void update_mhi(IplImage* img, IplImage* dst, int diff_threshold);
00069 void add_timestamp(QImage & img);
00070 QTimer timer_fps_;
00071 QColor color_;
00072 QFtp* ftp_;
00073 int ftp_state_;
00074 int counter_;
00075 int counter_last_;
00076 CaptureThread captureThread_;
00077 MotionDetector motionDetector_;
00078 QSize video_size_;
00079 QImage qImage_;
00080 };
00081
00082 #endif
00083