Files
RCiRoot e3f7733316 V20260829-2.6.1
完成框架目录和模块重构;新增核心、单例、工具、加密及框架 SDK;统一任务、相机和 RPC 接口,并增加离线检测、相机标定、备份恢复、版本管理、崩溃守护和心跳监控功能。
2026-09-20 16:01:09 +08:00

128 lines
3.7 KiB
C++

#pragma once
#include <QString>
#include <QVariant>
#include <type.h>
#include <opencv2/core.hpp>
#include <map>
#include <string>
#include <utility>
#include <vector>
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<cv::Mat> getOriImgVec() const = 0;
// 添加原图。
virtual void insertOriImg(const std::vector<cv::Mat>& 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<QString, QVariant>& values) = 0;
// 根据 AI、Halcon 结果和消息设置检测结论。
virtual void setNg(bool aiDetOK, bool halconOK,
const std::vector<std::string>& 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<std::pair<std::string, cv::Mat>>& 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<std::string> 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;
};
}