美文网首页
人脸识别:使用Qt请求百度ai人脸识别接口方式

人脸识别:使用Qt请求百度ai人脸识别接口方式

作者: 文丰online | 来源:发表于2018-04-02 13:48 被阅读0次

1、首先获取token (token,30天有效期,到期需要重新申请,也可以每次使用时申请)
curl -i -k 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=PqiVM5lvB337w6CeBkua0B3dRw&client_secret=zidS239ieGM5vfsEk2OYulCkR43fh3nIt'
2、Qt中调用方法:

void CameraFilter::checkImage()
    {
    QHttpMultiPart *multiPart = newQHttpMultiPart(QHttpMultiPart::FormDataType);
    QHttpPart max_face_num;
    max_face_num.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"max_face_num\""));
    max_face_num.setBody("1");

    QHttpPart face_fields;
    face_fields.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"face_fields\""));
    face_fields.setBody("age,gender,qualities");

    QHttpPart image_data;
    image_data.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"image\""));
    image_data.setBody("图像的base64编码数据");

    multiPart->append(max_face_num);
    multiPart->append(face_fields);
    multiPart->append(image_data);

    QUrl url("https://aip.baidubce.com/rest/2.0/face/v1/detect?access_token=24.cbc92b55c4e10c057065857526cd849a.2592000.1525230249.282335-11029510");
    QNetworkRequest request(url);

    networkManager->post(request, multiPart);

}



void CameraFilter::replyFinished(QNetworkReply *reply)  //当回复结束后
{

QTextCodec *codec = QTextCodec::codecForName("utf8");

//使用utf8编码,这样才可以显示中文

QString all = codec->toUnicode(reply->readAll());
qDebug() << all << endl;

reply->deleteLater();   //最后要释放reply对象

}

相关文章

网友评论

      本文标题:人脸识别:使用Qt请求百度ai人脸识别接口方式

      本文链接:https://www.haomeiwen.com/subject/odzthftx.html