#pragma once #include #include #include #include "JpegBuffer.h" #include #include "PublicFunc.h" #include "BlockingQueue.h" class ImageMatQueue { public: ImageMatQueue(void); virtual ~ImageMatQueue(void); void pushMat(JpegBuffer& data); std::string popMat(int num); bool empty(); bool valid(); void clear(); void run(); int getMatSum(); bool isScanning(); void SetScanFlag(bool scannning) { bScanning = bScanning; } void SetFilePath(std::string csFilePath) { csPath = csFilePath; } std::string GetFilePath() { return csPath; } public: int pixType; void setmultioutputR(bool canoutput=false); void SetDevModel(int dev=-1); std::string csPath; private: void proc(); BlockingQueue m_images; //!< 已处理图像队列 BlockingQueue m_pImages; std::thread m_threadProc; volatile bool bRun; bool can_multi_outputR; int DevModel; volatile bool bScanning; volatile int imageremain; };