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

基本流程理解

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

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字符串,就是我们想要的值了。

其他操作类似

    以上就是本篇文章【java调用百度sdk_【java】调用百度开发平台ai接口,完成人脸识别(人脸搜索、人脸对比、人脸检测等)功能--------超详细,适合小白-Go语言中文社区...】的全部内容了,欢迎阅览 ! 文章地址:http://ww.kub2b.com/news/19299.html
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 企库往资讯移动站 http://ww.kub2b.com/mobile/ , 查看更多   
最新文章
苹果电脑关不了机怎么办苹果手机无法关机怎么办「苹果电脑关不了机怎么办」
苹果电脑因其卓越的性能和设计赢得了众多用户的青睐,但在使用过程中,有时会遇到电脑无法关机的问题。这既可能是软件层面的原因
短剧出海赚疯了,有人月入8000多万
月入8000多万霸道总裁、平民逆袭、豪门恩怨等类型的爽文短剧不仅让国人疯狂上头,还火到了海外,收割了大批忠实的老外粉丝。在这
这不是电视剧!爸爸亲手将孩子从29楼扔下,坠落前还在喊“爸爸我爱你”
“砰!”一声巨响,29楼高空坠落的身影,划破了整个小区的宁静。楼下的人群炸开了锅,有人尖叫,有人报警,有人呆立原地。而那个
公园跳舞 音量不超55分贝手机分贝测试仪「公园跳舞 音量不超55分贝」
  本报讯(记者 王斌)景山公园和北海公园等市属公园昨天率先试点无噪音日,定在每个月的首个星期一,公园所有活动的音箱音量
幻兽帕鲁2024最全配种配方攻略:火绒手机版「幻兽帕鲁2024最全配种配方攻略:」
《幻兽帕鲁》一些帕鲁宠物可以相互之间来进行配种,以此来获得更高级别的帕鲁,词条也会更加珍稀。下面为大家整理了游戏中配种的
两年亏损52亿!建发巨资入主红星美凯龙,缘何沦为“双输困局”?
曾经头顶“中国最大家居卖场”光环的(601828.SH、01528.HK),如今却在国资入主近两年后陷入更深的泥潭。2023年,厦门国资建发
手工活150一天在家做是真的吗?(组装雨伞骨架手工活150元一天)可以挣钱的手机游戏「手工活150一天在家做是真的吗?(组装雨伞骨架手工活150元一天)」
有些小伙伴会遇到手工活150一天在家做(组装雨伞骨架手工活150元一天在家是真的吗?)的问题,没有关系,通过这篇文章希望能帮大家
华为手机怎么强制重启?全面教程助您轻松操作华为手机强制重启「华为手机怎么强制重启?全面教程助您轻松操作」
华为手机怎么强制重启?全面教程助您轻松操作在使用华为手机的过程中,可能会遇到一些问题,如手机卡顿、应用程序闪退等。遇到这
手机如何一键root三星Galaxy S9 获取root权限教程(无需解锁)安卓手机怎么root「手机如何一键root三星Galaxy S9 获取root权限教程(无需解锁)」
想玩修改游戏,想运行XP框架,想用游戏脚本刷BOSS,苦于手机不能root,找不到root的方法,怕手机root后不能保修。手机通过ROOT
余承东太猛了:华为降价2000元,买不到华为Mate60没关系华为手机降价「余承东太猛了:华为降价2000元,买不到华为Mate60没关系」
华为Mate60系列是史上最热门的手机,虽然没有举办发布会,但是国内外几乎家喻户晓,之所以有那么大的力量,主要是因为它是突破美