#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 pvoidd = nullptr; inputQueMap_[strPort0_]->pop(pvoidd); if (nullptr == pvoidd) { usleep(1000); continue; } std::shared_ptr pVMoveInfo = std::static_pointer_cast(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; }