zhangjixing
2019-01-28 1c622cd0d7d95709ab224224af18a22630aede75
QiaoJiaSystem/StructureApp/FaceRpcElement.cpp
@@ -39,7 +39,8 @@
    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)) {
@@ -68,7 +69,7 @@
    t_score = t_score / 100;
    trackingTrigger = new TrackingTrigger(t_score);
    setMask(m_sdkRule.strAreas.toStdString());
//    setMask(m_sdkRule.strAreas.toStdString());
}
FaceRpcElement::~FaceRpcElement() {
@@ -178,6 +179,11 @@
        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 {
@@ -191,13 +197,17 @@
        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);
    }
}