VTrain_BothSides/engine/SaveMoveInfoEngine/SaveMoveInfoEngine.cpp

70 lines
2.0 KiB
C++

#include "SaveMoveInfoEngine.h"
using namespace ai_matrix;
SaveMoveInfoEngine::SaveMoveInfoEngine() {}
SaveMoveInfoEngine::~SaveMoveInfoEngine() {}
APP_ERROR SaveMoveInfoEngine::Init()
{
strPort0_ = engineName_ + "_" + std::to_string(engineId_) + "_0";
this->baseConfig_ = Config::getins()->getBaseConfig();
LogInfo << "SaveMoveInfoEngine Init ok";
return APP_ERR_OK;
}
APP_ERROR SaveMoveInfoEngine::DeInit()
{
LogInfo << "SaveMoveInfoEngine DeInit ok";
return APP_ERR_OK;
}
APP_ERROR SaveMoveInfoEngine::Process()
{
int iRet = APP_ERR_OK;
while (!isStop_)
{
std::shared_ptr<void> pvoidd = nullptr;
inputQueMap_[strPort0_]->pop(pvoidd);
if (nullptr == pvoidd)
{
usleep(1000);
continue;
}
std::shared_ptr<VMoveInfo> pVMoveInfo = std::static_pointer_cast<VMoveInfo>(pvoidd);
//图片绝对路径
if (pVMoveInfo->strFilePath.back() != '/')
{
pVMoveInfo->strFilePath += "/";
}
std::string strFilePath = pVMoveInfo->strFilePath + pVMoveInfo->strFileName;
if (!FileUtil::getins()->createDirPath(pVMoveInfo->strFilePath))
{
LogError << " 创建文件存储目录失败:" << strFilePath;
continue;
}
Json::Value jvFrameInfo;
jvFrameInfo["frameId"] = pVMoveInfo->iFrameId;
jvFrameInfo["trainDate"] = pVMoveInfo->strTrainDate;
jvFrameInfo["trainTime"] = pVMoveInfo->strTrainTime;
jvFrameInfo["trainName"] = pVMoveInfo->strTrainName;
jvFrameInfo["timeStamp"] = TimeUtil::getins()->Stamp2Time(pVMoveInfo->i64TimeStamp, true);
jvFrameInfo["trainStage"] = pVMoveInfo->iTrainStage;
jvFrameInfo["isEnd"] = pVMoveInfo->bIsEnd;
if (!FileUtil::getins()->writeJsonInfo(jvFrameInfo, strFilePath))
{
LogError << "来车检测识别结果存储失败:" << strFilePath;
}
}
return APP_ERR_OK;
}