| | |
| | | mRealNum(0), |
| | | m_triggerElement(rule.nTriggerDelay*8,0), |
| | | pManagerEsDB(nullptr), |
| | | m_bIsMask(true) |
| | | m_bIsMask(true), |
| | | pointArray(nullptr) |
| | | { |
| | | |
| | | pManagerEsDB = new EsDBTool(appPref.getStringData("ipAdd"), appPref.getIntData("ipPort")); |
| | |
| | | if (pManagerEsDB) { |
| | | delete pManagerEsDB; |
| | | pManagerEsDB = nullptr; |
| | | } |
| | | if(pointArray) |
| | | { |
| | | // delete[] pointArray[0]; |
| | | delete[] pointArray; |
| | | } |
| | | } |
| | | |
| | |
| | | if (m_triggerElement.getTriggerState() ) |
| | | { |
| | | if(num > 0) { |
| | | cv::Mat t_image = image(CutMask()).clone(); |
| | | if(t_image.empty()) |
| | | |
| | | |
| | | |
| | | if(pointArray!=nullptr) |
| | | { |
| | | DBG("t_image empty"); |
| | | return; |
| | | const cv::Point2i* ppt[1] = { pointArray }; |
| | | |
| | | int npt[]={npts}; |
| | | |
| | | cv::polylines(image, ppt,npt, 1, true,cv::Scalar(255,255,0)); |
| | | } |
| | | std::string imgUrl = uploadImgToFdfs(t_image); |
| | | |
| | | for(auto rect:m_recVec) |
| | | { |
| | | cv::rectangle(image, rect, cv::Scalar(0, 0, 255), 2); |
| | | } |
| | | // cv::Mat t_image = image(CutMask()).clone(); |
| | | // if(t_image.empty()) |
| | | // { |
| | | // DBG("t_image empty"); |
| | | // return; |
| | | // } |
| | | std::string imgUrl = uploadImgToFdfs(image); |
| | | saveInfoToEs(imgUrl, picDate); |
| | | } |
| | | DBG("num=" << num << " lastnum=" << mRealNum); |
| | |
| | | } |
| | | int size = arrayAreas.size(); |
| | | npts = size; |
| | | // pointArray=new cv::Point2i*[1]; |
| | | // pointArray[0]=new cv::Point2i[size]; |
| | | |
| | | pointArray=new cv::Point2i[npts]; |
| | | |
| | | |
| | | for (int i = 0; i < size; ++i) { |
| | | |
| | | QJsonValue jsonValue = arrayAreas[i]; |
| | | QJsonObject obj = jsonValue.toObject(); |
| | | int x = obj.value("x").toDouble() * 4; |
| | | int y = obj.value("y").toDouble() * 4; |
| | | |
| | | pointArray[i]={x,y}; |
| | | |
| | | |
| | | if(m_sdkRule.nSdkType == PerimeterSdk) |
| | | { |
| | | poly1.push_back(Point(x,y)); |
| | |
| | | // DBG("to_string(m_sdkRule.nSdkType)="<<to_string(m_sdkRule.nSdkType)); |
| | | // t_json["Gender"] = obj.score; |
| | | |
| | | t_json["picName"] = "wait todo";// 抓拍照片名称 |
| | | t_json["content"] = "wait todo";// 内容描述 |
| | | t_json["picName"] = "";// 抓拍照片名称 |
| | | t_json["content"] = "";// 内容描述 |
| | | t_json["personPicUrl"] = "";// 人员 地库图片 |
| | | t_json["ChannlId"] = getProperty("ch_id"); // 通道id |
| | | t_json["likeDate"] = AppUtil::getTimeSecString(); // 比对时间 |
| | | t_json["picAddress"] = m_sdkRule.strAddr.toStdString();// 抓拍地址 |
| | | DBG("picAddress="<<m_sdkRule.strAddr.toStdString()); |
| | | t_json["picMaxUrl"] = "wait todo"; // 大图路径 |
| | | t_json["picMaxUrl"] = ""; // 大图路径 |
| | | |
| | | |
| | | // t_json["Age"] ="wait todo"; |
| | | t_json["picDate"] = time; // 抓拍时间,必须有 |
| | | DBG("picDate="<<time); |
| | | t_json["picLocalUrl"] = "wait todo"; // 本地路径 |
| | | t_json["picLocalUrl"] = ""; // 本地路径 |
| | | t_json["isDelete"] = "1";//默认1 ,0无效 1有效 |
| | | |
| | | t_json["likePer"] = "0"; // 相似值 |
| | | t_json["likePer"] = 1.0; // 相似值 |
| | | |
| | | t_json["BaseName"] = "wait todo";// 地库名称 |
| | | t_json["BaseName"] = "";// 地库名称 |
| | | |
| | | t_json["videoNum"] = m_sdkRule.strCamId.toStdString();//Video设备编号 |
| | | t_json["picSmUrl"] = imgUrl; // 抓拍图片 |
| | | t_json["indeviceid"] = appPref.getStringData("fxDevID");;// 设备id |
| | | t_json["idcard"] = "wait todo"; |
| | | t_json["personId"] = "wait todo"; |
| | | t_json["idcard"] = ""; |
| | | t_json["personId"] = ""; |
| | | t_json["indevicename"] = appPref.getStringData("fxDevNAME");// 设备名称 |
| | | t_json["FaceFeature"] = "base64"; |
| | | t_json["personIsHub"] = m_triggerElement.getTriggerState() ? "1" : "4"; //1: 报警 2: 可疑 3: 安全 4: 未知 |
| | |
| | | // DBG("RECT x="<<rect.x<<"y"<<rect.y<<"w"<<rect.width<<"h"<<rect.height); |
| | | return rect; |
| | | } |
| | | bool PerimeterElement::isAnd() |
| | | { |
| | | |
| | | } |