| | |
| | | sharedMemory(nullptr), |
| | | trackingTrigger(nullptr), |
| | | m_sdkRule(rule), |
| | | m_bIsMask(true) |
| | | m_bIsMask(true), |
| | | m_bSetWH(false) |
| | | { |
| | | sharedMemory = new QSharedMemory(QString(shareMemoryName.c_str())); |
| | | if (!sharedMemory->create(4608 * 2592 * 4)) { |
| | |
| | | t_score = t_score / 100; |
| | | |
| | | trackingTrigger = new TrackingTrigger(t_score); |
| | | setMask(m_sdkRule.strAreas.toStdString()); |
| | | // setMask(m_sdkRule.strAreas.toStdString()); |
| | | } |
| | | |
| | | FaceRpcElement::~FaceRpcElement() { |
| | |
| | | trackingTrigger->getLastRect().properties["smile"] = to_string(property.smile_level); |
| | | trackingTrigger->getLastRect().properties["race"] = to_string(property.race); |
| | | trackingTrigger->getLastRect().properties["time"] = getProperty("time"); |
| | | |
| | | trackingTrigger->getLastRect().properties["detectscore"] = scoredRect.score; |
| | | trackingTrigger->getLastRect().properties["imgKey"] = getProperty("imgKey"); |
| | | INFO("FaceRpcElement SaveToES: "<<getProperty("imgKey")); |
| | | triggerFaces.push_back(face); |
| | | triggerMats.push_back(image( |
| | | CvUtil::zoomRectEqual(scoredRect.rect, 1.5, 1.5) & cv::Rect(0, 0, image.cols, image.rows)).clone()); |
| | |
| | | image = cv::Mat(value.rows, value.cols, CV_8UC3, sharedMemory->data()); |
| | | } |
| | | value.copyTo(image); |
| | | if(!m_bSetWH) |
| | | { |
| | | setMask(m_sdkRule.strAreas.toStdString()); |
| | | m_bSetWH=true; |
| | | } |
| | | } |
| | | |
| | | bool FaceRpcElement::getTriggerState() const { |
| | |
| | | m_bIsMask=false; |
| | | return;//do not detect |
| | | } |
| | | float sizeW=(float)appPref.getIntData(m_sdkRule.strCamId.toStdString()+"width")/480; |
| | | float sizeH=(float)appPref.getIntData(m_sdkRule.strCamId.toStdString()+"height")/270; |
| | | for(int i = 0;i < arrayAreas.size();++i) |
| | | { |
| | | QJsonValue jsonValue = arrayAreas[i]; |
| | | QJsonObject obj = jsonValue.toObject(); |
| | | int x = obj.value("x").toDouble()*4; |
| | | int y = obj.value("y").toDouble()*4; |
| | | int x = obj.value("x").toDouble() *sizeW ; |
| | | int y = obj.value("y").toDouble() *sizeH; |
| | | mPolygon<<(QPoint(x,y)); |
| | | DBG("width="<<sizeW); |
| | | DBG("height="<<sizeH); |
| | | |
| | | } |
| | | } |