java 16进制 代码 api_【Java-API】食材识别示例代码
发布日期:2021-09-13 10:04:15 浏览次数:2 分类:技术文章

本文共 3750 字,大约阅读时间需要 12 分钟。

https://gitee.com/xshuai/ai/不是完整的web项目大家没必要下载运行。复制|下载相关代码即可

准备工作 已经创建了图像识别应用并且拿到apikey sercetkey得到AccessToken

代码中所用到的Java对象类所在目录https://gitee.com/xshuai/ai/tree/master/AIDemo/src/main/java/com/xs/pojo/image

代码中所用到的工具类https://gitee.com/xshuai/ai/tree/master/AIDemo/src/main/java/com/xs/util/baidu只需要Base64Util FileUtil HttpUtil三个哦

!!!注意:前提已经申请了该接口的内测权限哦

***************************不认识的蔬菜 水果 再也不用担心了哦***************************

接口请求参数:

必填参数:

image 图像数据,base64编码,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式

非必填参数(最多返回20个结果集):

top_num返回结果top n,默认5。

食材识别-JavaAPI示例代码

package com.xs.image;

import java.net.URLEncoder;

import com.alibaba.fastjson.JSON;

import com.xs.common.image.ImageAPI;

import com.xs.pojo.image.Ingredient;

import com.xs.util.baidu.Base64Util;

import com.xs.util.baidu.FileUtil;

import com.xs.util.baidu.HttpUtil;

/**

* 食材识别

* @author 小帅丶

*/

public class IngredientDemo {

public static void main(String[] args) throws Exception {

//返回字符串

//getDishBean("图片本地路径", "用户自己的token");

//返回java对象

Ingredient ingredient =getDishBean("G:/onion.jpg", "用户自己的token");

System.out.println(ingredient.getResult().get(0).getName());

}

/**

* 食材识别Demo

* @param imagePath

* @param accessToken

* @return 字符串

* @throws Exception

*/

public static String getDishResult(String imagePath,String accessToken) throws Exception{

byte[] imgData = FileUtil.readFileByBytes(imagePath);

String imgStr = Base64Util.encode(imgData);

String param = "image=" + URLEncoder.encode(imgStr,"UTF-8") + "&top_num=5";

// 注意这里仅为了简化编码每一次请求都去获取access_token,线上环境access_token有过期时间, 客户端可自行缓存,过期后重新获取。

String result = HttpUtil.post(ImageAPI.INGREDIENT_API, accessToken, param);

System.out.println(result);

return result;

}

/**

* 食材识别Demo

* @param imagePath

* @param accessToken

* @return Ingredient对象

* @throws Exception

*/

public static Ingredient getDishBean(String imagePath,String accessToken) throws Exception{

byte[] imgData = FileUtil.readFileByBytes(imagePath);

String imgStr = Base64Util.encode(imgData);

String param = "image=" + URLEncoder.encode(imgStr,"UTF-8") + "&top_num=5";

// 注意这里仅为了简化编码每一次请求都去获取access_token,线上环境access_token有过期时间, 客户端可自行缓存,过期后重新获取。

String result = HttpUtil.post(ImageAPI.INGREDIENT_API, accessToken, param);

Ingredient ingredient = JSON.parseObject(result,Ingredient.class);

System.out.println(result);

return ingredient;

}

}

1f610b1ff4c28b13bef1d72944e773f1.png示例图片:洋葱

返回的JSON字符串:

可以看到第一个结果是洋葱。还是很准确的哦。目前一个接口最多返回的个数是20

{

"log_id": 2774212668858437623,

"result_num": 20,

"result": [

{

"score": 0.91441977024078,

"name": "洋葱"

},

{

"score": 0.060188464820385,

"name": "大蒜"

},

{

"score": 0.024243704974651,

"name": "蒜"

},

{

"score": 0.00049944641068578,

"name": "大蒜子"

},

{

"score": 0.00014013581676409,

"name": "非果蔬食材"

},

{

"score": 0.000081263802712783,

"name": "香瓜"

},

{

"score": 0.000061208076658659,

"name": "山竹"

},

{

"score": 0.000057139866839861,

"name": "甜瓜"

},

{

"score": 0.000052144310757285,

"name": "金南瓜"

},

{

"score": 0.000035533703339752,

"name": "南瓜"

},

{

"score": 0.000023968033929123,

"name": "椰子"

},

{

"score": 0.000023934548153193,

"name": "柿子"

},

{

"score": 0.000015837053069845,

"name": "香瓜茄"

},

{

"score": 0.00001183443418995,

"name": "包心芥菜"

},

{

"score": 0.0000106100078483,

"name": "黄金蜜柚"

},

{

"score": 0.000010167963409913,

"name": "柚子"

},

{

"score": 0.0000074910885814461,

"name": "黄河蜜"

},

{

"score": 0.0000067228374973638,

"name": "榛子"

},

{

"score": 0.000006047389433661,

"name": "板栗"

},

{

"score": 0.0000054099632507132,

"name": "伊丽莎白瓜"

}

]

}

返回字段说明:

log_id否uint64唯一的log id,用于问题定位

result否result()食材识别结果数组

+name否string食材名称,示例:洋葱

+score否double置信度,示例:0.5321

如何获取AccessToken:http://ai.baidu.com/forum/topic/show/496505

官网文档中心:http://ai.baidu.com/docs#/ImageClassify-API/top

微信小程序即将上线食材识别哦

小程序码地址:https://ai.bdstatic.com/file/4392D0B82F6141A180288A9D90501418

fe759709a9707d45849890c9b475898a.png

转载地址:https://blog.csdn.net/weixin_39817176/article/details/114534027 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:java 域名 多个ip_基于DNS的负载均衡--一个域名绑定多个IP
下一篇:css禁止滑动页面_弹出层完美禁止页面滚动

发表评论

最新留言

表示我来过!
[***.240.166.169]2024年03月27日 01时26分47秒