Linux接入百度智能云实现人脸识别

1、要接入百度云,肯定得去注册一个百度智能云的账号,并且在里面创建一个人脸识别的应用

在产品服务-人脸识别-里面有创建应用的地方-根据指引创建人脸库
百度智能云里面还提供了技术文档,也可以对照着自己操作
然后还要下载百度智能云C++的SDK开发库aip-cpp-sdk-0.8.1,并把它放入linux文件里面

2、我的软件为ubuntu18.4 使用的是openCV 3.4.13

使用的是C++语言
Linux 安装 openCV库3.4.13 可以看我前几篇文档 
Linux要接入百度智能云,需要在Linux安装几个工具:
	安装依赖库libcurl(需要支持https) openssl jsoncpp(>1.6.2版本,0.x版本将不被支持)
	1、sudo apt-get install libcurl4-openssl-dev
	2、sudo apt-get libjsoncpp-dev
	3、sudo apt-get libssl-dev
这几个工具是用来配合百度智能云SDK的,所以必须得有
	在main.cpp里面记得加上SDk的头文件和命名空间,如果编译时提示头文件路径有问题,像我一样  #include "jsoncpp/json/json.h"   给头文件加上正确的路径

3、关键代码

#include "face.h"
using namespace aip;

Json::Value result;  //定义容器,下面有用到
string Base64face;

    // 设置APPID/AK/SK   下面这三个就是你创建百度智能云应用时会给你的那三个账号和密钥
    std::string app_id = "你的 App ID";
    std::string api_key = "你的 Api key";
    std::string secret_key = "你的 Secret Key";

    aip::Face client(app_id, api_key, secret_key); //执行这一步接入智能云
    
    	。。。。这里省略一些代码步骤,都是图片处理的代码,大概就是把图片转成.jpg格式,在另一个文章里面有写这些代码
    
    Base64face= base64_encode((char *)Jpgface.data(), Jpgface.size());  //这一步是把.jpg 照片转换成 base64 格式,string Base64face;

	result = client.search(Base64face, "BASE64","A001",aip::null); //这一步是上传照片到智能云,然后把结果放入 result容器,Json::Value result; 
	识别后返回的结果就会放在result容器里面,数据是json格式
	cout << result["result"]["user_list"][0]["user_id"] <<endl;//打印一下结果


4编译的时候

使用这个命令:g++ opencv.cpp  -o opencv `pkg-config --cflags --libs opencv` -std=c++11 -lcurl -lcrypto -ljsoncpp
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

漏洞百出

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值