Files
ds-628/BaseModules/Hd_AI_empty_module/base.h
T

70 lines
1.9 KiB
C++
Raw Normal View History

2024-10-11 10:07:08 +08:00
#ifndef __BASECLASS_H__
#define __BASECLASS_H__
#include <iostream>
#include <QObject>
#include <QByteArray>
#include <opencv2/opencv.hpp>
#include <opencv2/core.hpp>
#include <opencv2/imgproc.hpp>
#include<QJsonDocument>
#include<QJsonObject>
#include<QJsonArray>
class Base :public QObject
{
Q_OBJECT
public:
bool init_flag; //是否初始化,false,true
bool status = true; //相机状态(判断相机是否断开连接)
std::string paras; //传输数据
std::vector<cv::Mat> m_mat; //传输图片
std::string moduleName; //模块名称
public:
Base(){}
virtual ~Base(){}
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; }
//signals:
//QByteArrayList,根据实际项目进行解析;因不确定每个参数的长度,固用队列的方式。每个QByteArray表示一个值,使用时先转换为QString
//参数,例:返回结果图;相机关键字(SN或userID)+保存路径+缺陷信息列表(缺陷名称,缺陷位置int(x,y,w,h),画框颜色Scalar(a,b,c),缺陷面积double)
//void sendResultData(cv::Mat resMat, QJsonObject resQbj);
};
/*
//QJsonObject 转QByteArray
{
QJsonDocument document;
QJsonObject obj;
obj.insert(password, "pwd");
obj.insert(userName, "usr");
document.setObject(obj);
QByteArray abyte = document.toJson(QJsonDocument::Compact);
}
//QByteArray转QJsonObject
{
QByteArray ba = reply->readAll();
QJsonDocument doc = QJsonDocument::fromJson(ba);
QJsonObject obj = doc.object();
}
*/
/*
//从类中读数据到实例对象
virtual bool readData(std::vector<cv::Mat>&,QByteArray&){return true;}
*/
#endif