#pragma once #include #include #include #include #include #include #include #include namespace eui_frameworkSdk { // 检测数据及其结果的访问接口。 class IDetData { public: // 释放检测数据。 virtual ~IDetData() = default; // 获取产品序列号。 virtual const std::string& SNcode() const = 0; // 设置产品序列号。 virtual void setSNcode(std::string SNcode) = 0; // 获取构造时确定的相机逻辑名称。 virtual const std::string& cameraKeyName() const = 0; // 获取当前相机像素精度。 virtual cameraPixelPrecision getCameraPixelPrecision() const = 0; // 获取检测数据唯一标识。 virtual QString uuid() const = 0; // 获取最少所需原图数量。 virtual int imgAmountMin() const = 0; // 设置最少所需原图数量。 virtual void setImgAmountMin(int amount) = 0; // 获取已采集原图数量。 virtual int getOriImgSize() const = 0; // 获取指定索引的原图。 virtual cv::Mat getOriImg(int index) const = 0; // 获取全部原图。 virtual std::vector getOriImgVec() const = 0; // 添加原图。 virtual void insertOriImg(const std::vector& images) = 0; // 添加结果图。 virtual void insertResultImg(const cv::Mat& image) = 0; // 添加结果图展示信息。 virtual void insertResultImgShowPack(const QString& name, const QString& type) = 0; // 添加单条 SQL 数据。 virtual void insertSqlData(const QString& key, const QVariant& value) = 0; // 批量添加 SQL 数据。 virtual void insertSqlData(const std::map& values) = 0; // 根据 AI、Halcon 结果和消息设置检测结论。 virtual void setNg(bool aiDetOK, bool halconOK, const std::vector& messages) = 0; // 获取 AI 检测结论。 virtual bool aiDetOK() const = 0; // 获取 Halcon 检测结论。 virtual bool halconOK() const = 0; // 设置 AI 检测结论。 virtual void setAiDetOK(bool value) = 0; // 设置 Halcon 检测结论。 virtual void setHalconOK(bool value) = 0; // 保存分割模型使用的原图。 virtual void insertSegOriginImg(const cv::Mat& image) = 0; // 保存分类模型使用的原图。 virtual void insertClsOriginImg(const std::vector>& images) = 0; // 获取结果保存对象名称。 virtual QString saveObjectName() const = 0; // 设置结果保存对象名称。 virtual void setSaveObjectName(const QString& name) = 0; // 获取自定义图片保存路径模板。 virtual QString getCustomPath() const = 0; // 设置自定义图片保存路径模板。 virtual void setCustomPath(const QString& path) = 0; // 获取自定义图片文件名模板。 virtual QString getCustomFileName() const = 0; // 设置自定义图片文件名模板。 virtual void setCustomFileName(const QString& fileName) = 0; // 设置原图保存格式。 virtual void setOriFormat(std::vector formats) = 0; // 记录检测执行轨迹。 virtual void recordExecutionTrace(const char* file, const char* function, int line, const QString& description = QString()) = 0; // 删除指定索引的原图。 virtual bool deleteOriImg(const int& index) = 0; // 删除指定索引的结果图。 virtual bool deleteResultImg(int index) = 0; // 删除指定索引的分割模型原图。 virtual bool deleteSegOriginImg(int index) = 0; // 删除指定索引的分类模型原图。 virtual bool deleteClsOriginImg(int index) = 0; }; }