#ifndef Hd_CameraModule_HIK_hard_PCIE_H #define Hd_CameraModule_HIK_hard_PCIE_H #include #include #include #include #include #include #include #include #include #include using namespace cv; #pragma execution_character_set("utf-8") static MV_GENTL_IF_INFO_LIST QByteArrayToMV_GENTL_IF_INFO_LIST(const QByteArray& byteArray) { MV_GENTL_IF_INFO_LIST deviceInfoList; if (byteArray.size() == sizeof(MV_GENTL_IF_INFO_LIST)) { memcpy(&deviceInfoList, byteArray.constData(), sizeof(MV_GENTL_IF_INFO_LIST)); } else { qDebug() << "Invalid size of QByteArray for MV_GENTL_IF_INFO_LIST!"; } return deviceInfoList; } bool IsColor(MvGvspPixelType enType) { switch (enType) { case PixelType_Gvsp_RGB8_Packed: case PixelType_Gvsp_YUV422_Packed: case PixelType_Gvsp_YUV422_YUYV_Packed: case PixelType_Gvsp_BayerGR8: case PixelType_Gvsp_BayerRG8: case PixelType_Gvsp_BayerGB8: case PixelType_Gvsp_BayerBG8: case PixelType_Gvsp_BayerGB10: case PixelType_Gvsp_BayerGB10_Packed: case PixelType_Gvsp_BayerBG10: case PixelType_Gvsp_BayerBG10_Packed: case PixelType_Gvsp_BayerRG10: case PixelType_Gvsp_BayerRG10_Packed: case PixelType_Gvsp_BayerGR10: case PixelType_Gvsp_BayerGR10_Packed: case PixelType_Gvsp_BayerGB12: case PixelType_Gvsp_BayerGB12_Packed: case PixelType_Gvsp_BayerBG12: case PixelType_Gvsp_BayerBG12_Packed: case PixelType_Gvsp_BayerRG12: case PixelType_Gvsp_BayerRG12_Packed: case PixelType_Gvsp_BayerGR12: case PixelType_Gvsp_BayerGR12_Packed: return true; default: return false; } } class Hd_CameraModule_HIK_hard_PCIE :public dsModuleBase { public: Hd_CameraModule_HIK_hard_PCIE(); virtual ~Hd_CameraModule_HIK_hard_PCIE(); //从类中读数据到实例对象 bool readData(std::vector& mat, QByteArray& data); //实例对象把数据写入到类 bool writeData(std::vector& mat, QByteArray& data); bool initParas(QByteArray& initData); bool run(); bool checkStatus(); private: std::vector imgShouldGetVec; int imgShouldGetIndex = 0; //MyThread *m_thread = nullptr; //QMutex* m_mutex; }; extern "C" { Q_DECL_EXPORT Hd_CameraModule_HIK_hard_PCIE * create(); Q_DECL_EXPORT void destory(Hd_CameraModule_HIK_hard_PCIE * ptr); } #endif // Hd_CameraModule_HIK_hard_H //Hd_CameraModule_HIK_hard_PCIE