Train_Identify_arm/nvidia_ascend_engine/common_engine/DataDealEngine/DataDealEngine.h

65 lines
1.7 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* 数据处理引擎
**/
#ifndef DATADEALENGINE_H
#define DATADEALENGINE_H
#include "AppCommon.h"
#include "EngineBase.h"
#include "EngineFactory.h"
#include "MyYaml.h"
#include "myutils.h"
#include "json/json.h"
class DataDealEngine : public ai_matrix::EngineBase
{
public:
DataDealEngine();
~DataDealEngine();
APP_ERROR Init() override;
APP_ERROR DeInit() override;
APP_ERROR Process() override;
private:
//参数初始化(列车结束时需调用)
void InitParam();
//图片数据解码
bool GetJpegdOut(std::shared_ptr<DecodedData> pDecodedData, RawData &rawData);
//构造处理数据并push
void MakeProcessData();
//读取图片和文本
bool ReadFileInfo(Json::Value &jvFrameInfo, RawData &rawData, std::string &strFileName, std::string &strImgName);
//push数据
void PushData(const std::string &strPort, const std::shared_ptr<ProcessData> &pProcessData);
private:
std::string strPort0_;
std::string strPort1_;
std::string strPort2_;
std::string strResultPath_;
int iIntervalTime_;
int iPushDirection_;
int iDirection_;
bool bNotPushFlag_;
ai_matrix::DataSourceConfig dataSourceConfig_;
std::map<int, ai_matrix::DataSourceConfig> mapUseDataSouceCfg_;
std::map<int, std::vector<std::string>> mapSourcePushPort_;
MoveData moveData_;
std::queue<MoveData> queuwMoveData_;
std::string strDataDir_;
uint32_t iOrigDataNO_; //原过车数据个数
uint32_t iDataNO_; //停车后重新行驶的数据个数
std::string strTrainDate_; //停车后重新行驶的日期 (格式YYYY-MM-DD)
std::string strTrainName_; //停车后重新行驶的时间 (格式HH-MM-SS)
};
ENGINE_REGIST(DataDealEngine)
#endif