派生自 development/c++

pansen
2019-03-07 d3b7bbe7102cd089680a828f5d8f6402c8cf6342
QiaoJiaSystem/StructureApp/JudgmentRetrogradeTool.cpp
@@ -13,8 +13,10 @@
    m_triggerElement(0, 0),
    m_sdkRule(rule),
    pManagerEsDB(nullptr),
    m_bSetWH(false),
    pointArray(nullptr),
    npts(0)
    npts(0),
    m_rpcClient("RtspAnalysServer", "127.0.0.1",appPref.getIntData("RpcServerPort"),"tcp")
{
    pManagerEsDB = new EsDBTool(appPref.getStringData("ipAdd"), appPref.getIntData("ipPort"));
}
@@ -31,8 +33,13 @@
    }
}
bool JudgmentRetrogradeTool::init(QString area, QString line)
{
    m_area=area;
    m_line=line;
}
bool JudgmentRetrogradeTool::init(QString area, QString line) {
bool JudgmentRetrogradeTool::setMask(QString area, QString line) {
    //#todo string ->json
    QJsonArray arrayAreas = getJsonArrayFromQString(area);
@@ -41,14 +48,17 @@
    }
    int size=arrayAreas.size();
    QVector<QPoint> vec;
    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) {
    pointArray=new cv::Point2i[size];
    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};
        int x = obj.value("x").toDouble() *sizeW;
        int y = obj.value("y").toDouble() *sizeH;
        vec.push_back(QPoint(x, y));
        DBG("width="<<sizeW);
        DBG("height="<<sizeH);
    }
@@ -172,7 +182,6 @@
            cv::arrowedLine(image,m_UpBaseLine.start_Point,m_UpBaseLine.end_Point,cv::Scalar(0,0,255));
            cv::rectangle(image, scoredRect.rect,  cv::Scalar(0, 0, 255), 2);
            std::string imgUrl = uploadImgToFdfs(image);
            saveInfoToEs(imgUrl, scoredRect);
            state=true;
@@ -295,6 +304,24 @@
    t_json["videoIp"] = getProperty("local_ip");//当前服务器IP地址
    t_json["ack_alarm"] = m_triggerElement.getTriggerState() ? "0" : "";  //  que ren shi fou bao jing
    t_json["cluster_id"] = appPref.getStringData("clusterID");; // ji qun id
    std::string imgKey = obj.properties["imgKey"];
    t_json["imgKey"]=imgKey;
    INFO("SaveImageKey ToES:  "<<obj.properties["imgKey"]);
    try {
        auto server = m_rpcClient.getServer();
        if (!server)
        {
            ERR("server is null");
            //return false;
        }
        INFO("Record Video "<<imgKey);
        server->recordVideo(imgKey);
    }
    catch (std::exception &e)
    {
        ERR("Record Video Err: "<<imgKey <<"   Message: "<<e.what());
        //return false;
    }
    bool retface = false;
    if (pManagerEsDB)
@@ -345,4 +372,9 @@
void JudgmentRetrogradeTool::setImage(const cv::Mat &value) {
    value.copyTo(image);
    if(!m_bSetWH)
    {
        setMask(m_area,m_line);
        m_bSetWH=true;
    }
}