完成框架目录和模块重构;新增核心、单例、工具、加密及框架 SDK;统一任务、相机和 RPC 接口,并增加离线检测、相机标定、备份恢复、版本管理、崩溃守护和心跳监控功能。
128 lines
3.7 KiB
C++
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;
|
|
};
|
|
}
|