Files
eUi/subModule/Hd_25DCameraVJ_module/Hd_25DCameraVJ_module.h
T
RCiRoot 97462c8aab On main: V20260416-2.5.1
增加halconGuard类,用于防止halcon算法的输入输出和程序不一致而引起的报错,并且会检查算法文件是否存在,如不存在则会弹窗提示。
增加handleAiGpuThreadGuard类,用于防止因重复调用同一个模型而引起的报错,并且支持不停机更新模型,支持初始化时检测模型文件是否存在。
增加内存占用显示控件。
用户管理增加root权限,默认密码为dseuiroot,模型热更新时需要此权限。
支持缓存界面上的检测数据。
相机模块新增在回调后的指定时间没有取图时则清空容器的功能。
增加等待结果汇总功能,在启用时同一个SN的图片会等待总结果后再进行存图。
存图线程修改为多线程编码,单线程储存,提高IO效率。并且增加根据内存占用的百分比更新存图逻辑的功能,默认占用超过70%不储存OK原图,超过80%不储存原图,超过90%时不储存所有图片。
2026-04-26 12:25:13 +08:00

59 lines
1.2 KiB
C++

#ifndef Hd_25DCameraVJ_module_H
#define Hd_25DCameraVJ_module_H
#include <QtCore/qglobal.h>
#include <Windows.h>
#include <time.h>
#include <QThread>
#include <QQueue>
#include <QMutex>
#include <subModuleBase.h>
using namespace cv;
using namespace std;
#pragma execution_character_set("utf-8")
static bool m_flag = true;
class MyThread : public QThread
{
Q_OBJECT
public:
explicit MyThread(QObject* parent = nullptr) :m_obj(parent) {}
void run();
void setFlag(bool r) { m_runFlag = r; };
private:
bool m_runFlag = true;
QObject* m_obj;
signals:
};
class Hd_25DCameraVJ_module :public dsModuleBase
{
public:
Hd_25DCameraVJ_module();
virtual ~Hd_25DCameraVJ_module();
bool readData(std::vector<cv::Mat>&, QByteArray&);
bool writeData(std::vector<cv::Mat>&, QByteArray&);
bool initParas(QByteArray&);
bool run();
bool checkStatus() {
return true;
}
std::string sTriggerSource;
private:
bool softwareTriggerStatus = 0;
int cameraIndex = 0;
MyThread* workThread = nullptr;
};
extern "C"
{
Q_DECL_EXPORT Hd_25DCameraVJ_module * create();
Q_DECL_EXPORT void destory(Hd_25DCameraVJ_module * ptr);
}
#endif // Hd_25DCameraVJ_module_H
//Hd_25DCameraVJ_module