增加halconGuard类,用于防止halcon算法的输入输出和程序不一致而引起的报错,并且会检查算法文件是否存在,如不存在则会弹窗提示。 增加handleAiGpuThreadGuard类,用于防止因重复调用同一个模型而引起的报错,并且支持不停机更新模型,支持初始化时检测模型文件是否存在。 增加内存占用显示控件。 用户管理增加root权限,默认密码为dseuiroot,模型热更新时需要此权限。 支持缓存界面上的检测数据。 相机模块新增在回调后的指定时间没有取图时则清空容器的功能。 增加等待结果汇总功能,在启用时同一个SN的图片会等待总结果后再进行存图。 存图线程修改为多线程编码,单线程储存,提高IO效率。并且增加根据内存占用的百分比更新存图逻辑的功能,默认占用超过70%不储存OK原图,超过80%不储存原图,超过90%时不储存所有图片。
60 lines
2.2 KiB
C++
60 lines
2.2 KiB
C++
#pragma once
|
|
#include <iostream>
|
|
#include <opencv2/opencv.hpp>
|
|
#include <opencv2/core.hpp>
|
|
#include <opencv2/imgproc.hpp>
|
|
#include <QByteArray>
|
|
#include <QObject>
|
|
#include <QMutex>
|
|
|
|
class dsModuleBase : public QObject
|
|
{
|
|
public:
|
|
bool init_flag; //是否初始化,false,true
|
|
bool status = true; //相机状态(判断相机是否断开连接)
|
|
std::string paras; //传输数据
|
|
cv::Mat m_mat; //传输图片
|
|
std::string moduleName; //模块名称
|
|
public:
|
|
dsModuleBase() {}
|
|
virtual ~dsModuleBase() {}
|
|
virtual bool readData(std::vector<cv::Mat>&,QByteArray&){return true;}
|
|
virtual bool writeData(std::vector<cv::Mat>&,QByteArray&){return true;}
|
|
virtual bool initParas(QByteArray&){return true;}
|
|
virtual bool run() {return true;}
|
|
virtual bool checkStatus() { return true; };
|
|
};
|
|
|
|
class rpcModuleBase : public QObject
|
|
{
|
|
public:
|
|
bool init_flag; //是否初始化,false,true
|
|
bool status = true; //相机状态(判断相机是否断开连接)
|
|
std::string paras; //传输数据
|
|
cv::Mat m_mat; //传输图片
|
|
std::string moduleName; //模块名称
|
|
public:
|
|
rpcModuleBase() {}
|
|
virtual ~rpcModuleBase() {}
|
|
virtual bool readData(std::vector<cv::Mat>&, QByteArray&) { return true; }
|
|
virtual bool writeData(std::vector<cv::Mat>&, QByteArray&) { return true; }
|
|
virtual bool initParas(QByteArray&) { return true; }
|
|
virtual bool run() { return true; }
|
|
};
|
|
|
|
class cameraModuleBase : public QObject
|
|
{
|
|
public:
|
|
bool init_flag; //是否初始化,false,true
|
|
bool status = true; //相机状态(判断相机是否断开连接)
|
|
std::string paras; //传输数据
|
|
cv::Mat m_mat; //传输图片
|
|
std::string moduleName; //模块名称
|
|
public:
|
|
cameraModuleBase() {}
|
|
virtual ~cameraModuleBase() {}
|
|
virtual bool captrue(std::vector<cv::Mat>&, QByteArray&) { return true; }
|
|
virtual bool writeData(std::vector<cv::Mat>&, QByteArray&) { return true; }
|
|
virtual bool initParas(QByteArray&) { return true; }
|
|
};
|