无法使用SDK上传人脸数据到海康摄像机

问题描述 投票:0回答:2

我将使用 Qt(c++) 上的 sdk 在海康相机中使用人脸识别功能。 我确实尝试将人脸数据上传到海康威视库,但它不起作用。

这是我的代码。

    strXml = "<?xml version='1.0' encoding='UTF-8'?><FaceAppendData><name>%2</name><bornTime>%1</bornTime><sex>%3</sex><province>65</province><certificateType>ID</certificateType><certificateNumber>%4</certificateNumber></FaceAppendData>"
    NET_DVR_SEND_PARAM_IN m_struSendParam = {0};
        pSendAppendData = new BYTE[strXml.size()];
        memcpy(pSendAppendData, strXml.toStdString().c_str(), strXml.size());

        m_struSendParam.dwSendAppendDataLen = strXml.size();
        m_struSendParam.pSendAppendData = pSendAppendData;
//set pic data
    QFile file(m_strFileName);
    if (!file.open(QIODevice::ReadOnly)) {
        QMessageBox::warning(this, "File Read Error", "Cant' read this file.");
        return;
    }
    //pSendPicData = new BYTE[file.size()];
    QByteArray byteData = file.readAll();
    m_struSendParam.dwSendDataLen= byteData.size();
    //memcpy(pSendPicData, byteData.data(), file.size());
    file.close();
    m_struSendParam.pSendData = (BYTE*)byteData.data();
    m_struSendParam.byPicType = 1;
    m_struSendParam.byPicURL = 0;
if (NET_DVR_UploadSend(m_lUploadHandle, &m_struSendParam, NULL) < 0){
        QMessageBox::warning(this, "Error", QString("Upload failed.\nError Code: %1").arg(NET_DVR_GetLastError()));
    }while (1) {
        LONG iStatus = getUploadState();
        if (iStatus == 1) {//Uploaded
            stopUploadData();
            accept();
        }
        if (iStatus >= 3) {//Upload failed
            stopUploadData();
            QMessageBox::warning(this, "ERROR", QString("Upload Failed. Status Code: %1").arg(iStatus));
            break;
        }
    }

结果是“上传失败”。

有什么不正确的地方请帮助我。 谢谢你。

c++ qt sdk hikvision
2个回答
0
投票

enter image description here

请在此处查看 isapi 协议


0
投票

你找到解决办法了吗?因为我也对将脸部上传到库感到困惑

© www.soinside.com 2019 - 2024. All rights reserved.