| | |
| | | |
| | | //} |
| | | AppPipeController::AppPipeController(std::string folderPath, const SdkRuleMap &ruleMap) : |
| | | m_rpcClient("RtspAnalysServer", "127.0.0.1",appPref.getIntData("RpcServerPort"),"tcp"), |
| | | m_rpcClient("RtspAnalysServer", "127.0.0.1", appPref.getIntData("RpcServerPort"), "tcp"), |
| | | videoCaptureElement("filePath", 25, -1, appPref.getLongData("gpu.index")), |
| | | // videoCaptureElement(40), |
| | | m_index(0), |
| | |
| | | // recordVideoElement(-1, ""), |
| | | bRecordVideoEnable(false), |
| | | |
| | | m_bSetWH(false) |
| | | { |
| | | m_bSetWH(false) { |
| | | |
| | | init(); |
| | | |
| | |
| | | // intKeepRight(); |
| | | //} |
| | | AppPipeController::AppPipeController(std::string camId, const SdkRuleMap &ruleMap, bool RecordVideoEnable) : |
| | | m_rpcClient("RtspAnalysServer", "127.0.0.1",appPref.getIntData("RpcServerPort"),"tcp"), |
| | | m_rpcClient("RtspAnalysServer", "127.0.0.1", appPref.getIntData("RpcServerPort"), "tcp"), |
| | | videoCaptureElement(appPref.getStringData(camId + "rtsp"), 25, 3000, appPref.getLongData("gpu.index")), |
| | | // videoCaptureElement(40), |
| | | m_index(0), |
| | |
| | | rightJudgment(ruleMap[KeepRightSdk]), |
| | | bRecordVideoEnable(RecordVideoEnable), |
| | | m_sdkRuleMap(ruleMap), |
| | | m_bSetWH(false) |
| | | |
| | | { |
| | | m_bSetWH(false) { |
| | | DBG("camId" << camId); |
| | | init(); |
| | | initPerimeter(); |
| | |
| | | "perStaticElement: "<<perStaticElement.getTriggerState()); |
| | | }*/ |
| | | } |
| | | |
| | | void AppPipeController::init() { |
| | | |
| | | unsigned char ip_old[15] = {0}; |
| | |
| | | videoCaptureElement.registerConnector([&] { |
| | | |
| | | std::string imgKey; |
| | | m_hiredisTool.listRpop(m_camId,imgKey); |
| | | if(imgKey.empty()) |
| | | { |
| | | ERR("CamId "<<m_camId<<" No ImgKey"); |
| | | m_hiredisTool.listRpop(m_camId, imgKey); |
| | | if (imgKey.empty()) { |
| | | ERR("CamId " << m_camId << " No ImgKey"); |
| | | return; |
| | | } |
| | | |
| | | cv::Mat imageTemp; |
| | | m_hiredisTool.getKeyImage(imgKey,imageTemp); |
| | | if(!m_bSetWH) |
| | | { |
| | | INFO("SetWidth:"<<imageTemp.cols<<" Height:"<<imageTemp.rows); |
| | | appPref.setIntData(m_camId+"width",imageTemp.cols); |
| | | appPref.setIntData(m_camId+"height",imageTemp.rows); |
| | | m_bSetWH=true; |
| | | m_hiredisTool.getKeyImage(imgKey, imageTemp); |
| | | if (!m_bSetWH) { |
| | | INFO("SetWidth:" << imageTemp.cols << " Height:" << imageTemp.rows); |
| | | appPref.setIntData(m_camId + "width", imageTemp.cols); |
| | | appPref.setIntData(m_camId + "height", imageTemp.rows); |
| | | m_bSetWH = true; |
| | | } |
| | | |
| | | m_hiredisTool.delKey(imgKey); |
| | | if(imageTemp.empty()) |
| | | { |
| | | ERR("No Image Data In: "<<m_camId<<" ImgKey:"<<imgKey); |
| | | if (imageTemp.empty()) { |
| | | ERR("No Image Data In: " << m_camId << " ImgKey:" << imgKey); |
| | | return; |
| | | } |
| | | std::string strNewTime = AppUtil::getTimeUSecString(); |
| | | std::string strNewTime = AppUtil::getTimeUSecString(); |
| | | |
| | | ImageName_s_t imgSt = ImageName_s_t::fromString(imgKey); |
| | | |
| | |
| | | if (!faceRpcElement.isBusy()) { |
| | | //#todo |
| | | faceRpcElement.setProperty("time", strNewTime); |
| | | faceRpcElement.setProperty("imgKey",imgKey); |
| | | INFO("Write To FaceRPC ES time:"<<strNewTime<< " ImgKey: "<<imgKey); |
| | | faceRpcElement.setProperty("imgKey", imgKey); |
| | | INFO("Write To FaceRPC ES time:" << strNewTime << " ImgKey: " << imgKey); |
| | | faceRpcElement.setImage(imageTemp); |
| | | faceRpcElement.submit(); |
| | | } |
| | |
| | | if (!yoloRpcElement.isBusy()) { |
| | | //#todo |
| | | yoloRpcElement.setProperty("time", strNewTime); |
| | | yoloRpcElement.setProperty("imgKey",imgKey); |
| | | INFO("Write To YoloES time:"<<strNewTime<< " ImgKey: "<<imgKey); |
| | | yoloRpcElement.setProperty("imgKey", imgKey); |
| | | INFO("Write To YoloES time:" << strNewTime << " ImgKey: " << imgKey); |
| | | yoloRpcElement.setImage(imageTemp); |
| | | yoloRpcElement.submit(); |
| | | } |
| | |
| | | |
| | | imageDrawElement.registerConnector([&] { |
| | | if (appPref.getIntData("show.image") == 1) { |
| | | ImageShowElement::showImage(to_string(this->m_index), *imageDrawElement.getImage()); |
| | | ImageShowElement::showImage(to_string(this->m_index), *imageDrawElement.getImage()); |
| | | } |
| | | }); |
| | | |
| | |
| | | registerElement(faceRpcElement); |
| | | registerElement(faceExtractElement); |
| | | } |
| | | if(appPref.getIntData("show.image") == 1) |
| | | { |
| | | if (appPref.getIntData("show.image") == 1) { |
| | | imageDrawElement.registerConnector([&] { |
| | | |
| | | ImageShowElement::showImage(to_string(this->m_index), *imageDrawElement.getImage()); |
| | |
| | | registerElement(imageDrawElement); |
| | | } |
| | | |
| | | // registerElement(newRecordVideoElement); |
| | | // registerElement(newRecordVideoElement); |
| | | //videoCaptureElement.setOutPutInterval(3); |
| | | faceExtractElement.setProperty("index", to_string(m_index)); |
| | | registerElement(yoloRpcElement); |
| | |
| | | leftJudgment.init(rule.strAreas, rule.strLine); |
| | | rightJudgment.init(rule.strExAreas, rule.strExLine); |
| | | yoloRpcElement.registerConnector([&] { |
| | | if(!leftJudgment.isBusy()) |
| | | { |
| | | leftJudgment.setYoloObjects(yoloRpcElement.getLastScoreRects()); |
| | | leftJudgment.setImage(yoloRpcElement.getImage()); |
| | | leftJudgment.submit(); |
| | | if (!leftJudgment.isBusy()) { |
| | | leftJudgment.setYoloObjects(yoloRpcElement.getLastScoreRects()); |
| | | leftJudgment.setImage(yoloRpcElement.getImage()); |
| | | leftJudgment.submit(); |
| | | } |
| | | if(!rightJudgment.isBusy()) |
| | | { |
| | | if (!rightJudgment.isBusy()) { |
| | | rightJudgment.setYoloObjects(yoloRpcElement.getLastScoreRects()); |
| | | |
| | | rightJudgment.setImage(yoloRpcElement.getImage()); |