AI人脸识别+图像识别【文末源码分享】

AI的发展在最近几年如火如荼,工资待遇也是水涨船高,应用的前景也是非常广阔,去年火起来的人脸识别,今年全国遍地开花。看了下百度的AI,还免费了,效果也是越来越好,活体检测这个算法更是做的吊炸天(只需要传一张图片就能判断图片中的人是翻拍的照片非活体),牛逼的一塌糊涂,我反正是跪了。百度AI在未来的国内AI市场中,不是第一就是第二,而且会持续保持至少十年。1:可识别身份证正面信息+背面信息2...
摘要由CSDN通过智能技术生成

AI的发展在最近几年如火如荼,工资待遇也是水涨船高,应用的前景也是非常广阔,去年火起来的人脸识别,今年全国遍地开花。看了下百度的AI,还免费了,效果也是越来越好,活体检测这个算法更是做的吊炸天(只需要传一张图片就能判断图片中的人是翻拍的照片非活体),牛逼的一塌糊涂,我反正是跪了。百度AI在未来的国内AI市场中,不是第一就是第二,而且会持续保持至少十年。

1:可识别身份证正面信息+背面信息
2:可识别银行卡信息
3:可识别驾驶证+行驶证信息
4:可进行人脸识别,人脸比对,活体检测
5:可设置请求地址+用户密钥+应用密钥
6:直接传入图片即可,信号返回,毫秒级极速响应
7:通用Qt4-Qt5,windows linux 嵌入式linux 

QByteArray FaceBaiDu::getImageData(const QImage &img)
{
    QImage image = img;
    QByteArray imageData;
    QBuffer buffer(&imageData);
    image.save(&buffer, "jpg");
    return imageData.toBase64();
}

QString FaceBaiDu::getImageData2(const QImage &img)
{
    return QString(getImageData(img));
}

QHttpPart FaceBaiDu::dataToHttpPart(const QByteArray &body, const QString &name)
{
    QHttpPart httpPart;
    httpPart.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant(QString("form-data;name=\"%1\"").arg(name)));
    httpPart.setBody(body);
    return httpPart;
}

void FaceBaiDu::sendData(const QString &url, const QList<QHttpPart> &httpParts)
{
    //初始化消息体
    QHttpMultiPart *httpMultiPart = new QHttpMultiPart(QHttpMultiPart::FormDataType);

    //逐个添加消息内容
    foreach (QHttpPart httpPart, httpParts) {
        httpMultiPart->append(httpPart);
    }

    //初始化请求对象
    QNetworkRequest request;
    request.setUrl(QUrl(url));

#ifdef ssl
    //设置openssl签名配置,否则在ARM上会报错
    QSslConfiguration conf = request.sslConfiguration();
    conf.setPeerVerifyMode(QSslSocket::VerifyNone);
#if (QT_VERSION > QT_VERSION_CHECK(5,0,0))
    conf.setProtocol(QSsl::TlsV1_0);
#else
    conf.setProtocol(QSsl::TlsV1);
#endif
    request.setSslConfiguration(conf);
#endif

    //发送请求
    QNetworkReply *reply = manager->post(request, httpMultiPart);
    httpMultiPart->setParent(reply);
}

void FaceBaiDu::finished(QNetworkReply *reply)
{
    QString error = reply->errorString();
    if (!error.isEmpty() && error != "Unknown error") {
        emit receiveError(error);
    }

    if (reply->bytesAvailable() > 0 && reply->error() == QNetworkReply::NoError) {
        QString data = reply->readAll();
        reply->deleteLater();

        //发送接收数据信号
        emit receiveData(data);

        //初始化脚本引擎
        QScriptEngine engine;
        //构建解析对象
        QScriptValue script = engine.evaluate("value=" + data);

        //获取鉴权标识符
        QString token = script.property("access_token").toString();
        if (!token.isEmpty()) {
            tokenFace = token;
            tokenOcr = token;
        }

        //通用返回结果字段
    
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值