pansen
2019-01-28 8bfd4cc90f25f1800eb5e61d50d4fa74854e0f2a
QiaoJiaSystem/StructureApp/PerimeterElement.cpp
@@ -14,6 +14,7 @@
#include <jsoncpp/json/json.h>
#define ALARM_PERCENT (10)  //10%
PerimeterElement::PerimeterElement(const SdkRule &rule) :
    m_sdkRule(rule),
    PipeElement(true),
@@ -21,8 +22,7 @@
    mRealNum(0),
    m_triggerElement(rule.nTriggerDelay*8,0),
    pManagerEsDB(nullptr),
    m_bIsMask(true)
{
    m_bIsMask(true) {
    pManagerEsDB = new EsDBTool(appPref.getStringData("ipAdd"), appPref.getIntData("ipPort"));
}
@@ -64,11 +64,9 @@
            // DBG("picDate="<<picDate);
        }
        if (m_sdkRule.nSdkType == PerimeterSdk)
        {
        if (m_sdkRule.nSdkType == PerimeterSdk) {
            if(m_bIsMask)
            {
            if (m_bIsMask) {
                   std::vector<Point> poly2;
                   std::vector<Point> interPoly;
                   poly2.push_back(Point(rect.x(),rect.y()));
@@ -83,8 +81,7 @@
                   int per2 = (int)(inter / total2 * 100);
                   int per=std::max(per1,per2);
                   if(ALARM_PERCENT <= per)
                   {
                if (ALARM_PERCENT <= per) {
                       //DBG("per 1="<<per1<<" per2="<<per2<<" per="<<per);
                       m_recVec.push_back(obj.rect);
                       num++;
@@ -92,15 +89,12 @@
            }
        }
        else if (mPolygon.containsPoint(center, Qt::OddEvenFill) || !m_bIsMask)
        {
        } else if (mPolygon.containsPoint(center, Qt::OddEvenFill) || !m_bIsMask) {
            m_recVec.push_back(obj.rect);
            num++;
        }
    }
@@ -154,12 +148,10 @@
    m_triggerElement.setState(state);
    m_triggerElement.triggerOnce();
    if (m_triggerElement.getTriggerState() )
    {
    if (m_triggerElement.getTriggerState()) {
        if(num > 0) {
            cv::Mat t_image = image(CutMask()).clone();
            if(t_image.empty())
            {
            if (t_image.empty()) {
                DBG("t_image empty");
                return;
            }
@@ -241,15 +233,11 @@
        QJsonObject obj = jsonValue.toObject();
        int x = obj.value("x").toDouble() * 4;
        int y = obj.value("y").toDouble() * 4;
        if(m_sdkRule.nSdkType == PerimeterSdk)
        {
        if (m_sdkRule.nSdkType == PerimeterSdk) {
             poly1.push_back(Point(x,y));
        }
        else
        {
        } else {
             mPolygon << (QPoint(x, y));
        }
    }
@@ -416,7 +404,7 @@
//   DBG("RECT x="<<rect.x<<"y"<<rect.y<<"w"<<rect.width<<"h"<<rect.height);
    return rect;
}
bool PerimeterElement::isAnd()
{
bool PerimeterElement::isAnd() {
}