70 lines
2.0 KiB
C++
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;
|
||
|
|
}
|