java实现百度识图后台 您所在的位置:网站首页 百度始图 java实现百度识图后台

java实现百度识图后台

2024-07-14 05:32| 来源: 网络整理| 查看: 265

1.百度识图 相信大家或许没对接过,但是肯定用过识图的功能,上个官网网址 https://ai.baidu.com/ai-doc/IMAGERECOGNITION/Nk3bcxfzd

说明一下 他这个例子包含两种方式 第一种

在这里插入图片描述 第二种 网址 https://ai.baidu.com/ai-doc/IMAGERECOGNITION/7k3bcxdn8 在这里插入图片描述 实现的时候看了一下两种的区别 (1)写法不同 第一种不需要写什么url,用下载的jar里面的方法直接使用 第二种比较麻烦,调用url要自己写,还要获取token什么的 (2)传参方式 第一种相对于第二种需要多传一个APP_ID 我自己用的第一种,比较简单,也好理解吧

2.对接百度识图sdk 第一步 下载jar包 maven地址 https://search.maven.org/search?q=aip 版本自己选择

com.baidu.aip java-sdk ${version} //版本通过maven查询出来,填写

第二步

开始整代码,github官方地址 https://github.com/Baidu-AIP/java-sdk

我自己的demo

public class Sample { //设置APPID/AK/SK public static final String APP_ID = ""; public static final String API_KEY = ""; public static final String SECRET_KEY = ""; public static void main(String[] args) { // 初始化一个AipImageClassify AipImageClassify client = new AipImageClassify(APP_ID, API_KEY, SECRET_KEY); // 可选:设置网络连接参数 client.setConnectionTimeoutInMillis(2000); client.setSocketTimeoutInMillis(60000); // 可选:设置代理服务器地址, http和socket二选一,或者均不设置 // client.setHttpProxy("proxy_host", proxy_port); // 设置http代理 // client.setSocketProxy("proxy_host", proxy_port); // 设置socket代理 // 调用接口 HashMap options = new HashMap(); options.put("baike_num", "5"); //返回百科信息的结果 options.put("custom_lib", "false"); // 参数为本地路径 String image = "E:\\360MoveData\\Users\\wy\\Desktop\\369.png"; JSONObject res = client.logoSearch(image, options); System.out.println(res.getJSONArray("result").toString()); } }

把对应的 APP_ID API_KEY SECRET_KEY 写上值,本地路径修改后,调用就成功了,返回结果

{ "result": [ { "probability": 0.90460052006487, "name": "阿迪达斯三叶草", "location": { "top": 378, "left": 99, "width": 556, "height": 226 }, "type": 1 }, { "probability": 0.74779063683969, "name": "阿迪达斯", "location": { "top": 78, "left": 102, "width": 558, "height": 559 }, "type": 0 }, { "probability": 0.1956473734387, "name": "阿迪达斯", "location": { "top": 78, "left": 102, "width": 558, "height": 559 }, "type": 1 } ], "log_id": 6768713851368170883, "result_num": 3 }

识图分类以及返回结果值说明,请自行查看官方api,不在这解释了

3.总结 (1)JSONObject 获取里面key的值,直接getxxx,里面写返回值的key就好 在这里插入图片描述

(2)我启动appication的时候发生报错,LoggerFactory is not a Logback LoggerContext but Logback,具体解决方法在我另一篇文章里面 https://blog.csdn.net/m0_37712637/article/details/106524994

(3)官方api里面写的大概都是填写本地路径,真实项目大概率图片不是本地的。解决方法,前端传这个照片文件过来,然后后端直接把文件转为二进制图像数据

byte[] file = mf.getBytes();

然后在调用百度识图里面对应的方法即可

OK,百度识图,实现



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有