WorkThread.h 718 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #pragma once
  2. #include <QQueue>
  3. #include <QThread>
  4. #include "cvxcamera.h"
  5. #include "opencv2/opencv.hpp"
  6. //采集线程
  7. class GrabThread :public QThread
  8. {
  9. Q_OBJECT
  10. public:
  11. GrabThread();
  12. ~GrabThread();
  13. virtual void run();
  14. public slots:
  15. inline void stop() { m_stopFlag = true; }
  16. signals:
  17. void sig_finished(void);
  18. private:
  19. bool m_stopFlag;
  20. };
  21. //算法运行线程
  22. class WorkThread :public QThread
  23. {
  24. Q_OBJECT
  25. public:
  26. WorkThread();
  27. ~WorkThread();
  28. virtual void run();
  29. signals:
  30. void sig_finished(void);
  31. void sig_runAlg(void);
  32. public slots:
  33. void changeAlgState(bool r = true) ;
  34. private:
  35. bool m_stopFlag; //是否工作标志位
  36. bool m_stateReady; //是否可以进行算法检测
  37. };