推广 热搜: page  使用  音视频  搜索引擎  选择  个数  企业  百度  可以  父亲 

java调用百度sdk_【java】调用百度开发平台ai接口,完成人脸识别(人脸搜索、人脸对比、人脸检测等)功能--------超详细,适合小白-Go语言中文社区...

   日期:2025-01-02     作者:o93v3    caijiyuan   评论:0    移动:http://ww.kub2b.com/mobile/news/19299.html
核心提示:基本流程理解:我们要使用百度提供的接口去实现某些功能,大致流程如下:1.注册百度开放平台帐号;浏览

基本流程理解

我们要使用百度提供的接口去实现某些功能,大致流程如下

1.注册百度开放平台帐号

浏览器打开http://ai.baidu.com/,进入百度ai的页面,点击右上角的控制台按钮进行登录或者注册

在右边选择你需要的服务

这里我们以人脸识别这一块为例子,点击进去之后可以在页面看到创建应用的按钮

创建好应用之后,我们在应用管理页面可以看到我们刚刚创建好的应用

3.下载sdk

我们在百度AI的官网上如图操作

下载完成之后,我们对下载的压缩文件进行解压,是三个jar包,我们导入我们的项目

现在可以开始写我们的代码了,代码大致步骤如下

1.请求指定的url(get方式请求,url后面接上参数,下面详细说)

2.第一步的访问,会返回给我们一个json字符串,其中的access_token很重要

3.另一个url链接,再加上第二步获取到的access_token值进行访问(post方式,参数放在请求体中)

4.根据第三步url访问,也会返回给我们一个json字符串,这个字符串里面就是我们想要的东西下面详细说明

:这里我们可以参考百度ai的开发文档,然后里面有详细的介绍,还有写好的代码,我们可以直接复制

还是在 百度ai的首页-开发资源导航按钮-文档中心

1.

根据我们的需要,这里选择“人脸识别”

我们可以看到人脸识别下面由很多功能模块(人脸检测、人脸对比、人脸搜索等),我们这里例子就做人脸对比,所以选择人脸对比栏,我们在右边正文区下翻,翻到代码区域这里,这里由不同的语言写的demo,我们查看java的

// 官网获取的 API Key 更新为你注册的

String clientId = “百度云应用的AK”;

// 官网获取的 Secret Key 更新为你注册的

String clientSecret = “百度云应用的SK”;

return getAuth(clientId, clientSecret);

我们可以直接把这个代码复制到我们的项目中就行了(可以新建一个.java文件,把代码放到文件中),修改一下包名,这里填上我们之前在开放平台创建的应用的两个码(API Key 和 Secret Key )

做到这一步,我们可以测试一下了,我们在类中添加一个main方法,然后调用上面复制的这个方法,并且打印出返回值,看看能否成功。

上面这几个步骤,实际上是访问的url

https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=这里填写你应用的API Key&client_secret=这里填写你应用的Secret Key

访问了这个url之后,会返回给我们一个json字符串,其中的access_token的值我们可以提取出来,后面会用到吗,这里详细说明一下,这个access_token值有效期是30天,所以我们要及时更换,或者每一次调用access_token值都重新执行上面的步骤(获取access_token),这样每次都是重新生成,就不需要30天更换一次了。这里特别注意:我们在提取返回的json字符串的时候,一定不要提取错了,其中第一个键值对和access_token格式很像,我们要提取的键名是access_token,我在这里就入过坑的。

当我们完成上面的步骤之后,能够成功返回json字符串,也能成功提取到access_token值就可以看下面的继续做了。

我们回到开放平台的文档中心,然后继续往下翻,我们翻到请求代码示例这里

人脸对比的功能是我们上传两张照片,然后可以返回给我们相似度等等数据。

我们再建一个java类,或者直接在刚才的类中再加这个方法,把这个代码复制进去。

这里的流程是

1.上传本地的图片两张,然后再把图片的文件流转换为base64(这是必须的),然后把转换好的base64编码放入到请求体中(post请求方式),这里都给我们写好了,所以不会写的小伙伴也可以用,如果不会文件上传或者base64编码也没关系,在这个代码中上面注释里写了,四个地址,我们每个都访问一下,就会下载四个工具类(FileUtil,base64Util,HttpUtil,GsonUtils)

FileUtil.java:是用来上传文件的

base64Util:用来转换base64编码的

HttpUtil:发送http请求的

GsonUtils:json字符串封装和解封的

这里是两个图片对比,所以需要两次,FileUtil.readFileByBytes(这里填写你图片的路径“”);

这一步是把我们的请求数据用map封装起来(然后转换为json字符串),后面放入请求体中;image键表示你刚刚转换号的base64码,image_type表示请求的照片格式,这里就填写base64,当然也有其他的格式,然后其他的键值对在开放平台的文档中都有详细介绍,这里就不详细说了。

我们看到下面

String result = HttpUtil.post(url, accessToken, “application/json”, param);

这个代码

这个是调用我们刚刚下载的四个工具类中的HttpUtil.java里面的方法进行url访问

第一个参数url:表示我们请求的地址,在这个类上面已经写好了

第二个参数accessToken:这里就是我们最开始获取到的access_token值

第三个参数"application/json”:表示请求方式,我们前面把map封装好了之后通过GsonUtils封装成了json字符串

第四个参数param:这个就是我们封装好的json字符串。

我们在主方法中调用这个方法,会返给给我们一个json字符串,就是我们想要的值了。

其他操作类似

本文地址:http://ww.kub2b.com/news/19299.html     企库往 http://ww.kub2b.com/ ,  查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。

 
 
更多>同类最新文章
0相关评论

文章列表
相关文章
最新动态
推荐图文
最新文章
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号