赞
踩
阿里云图像识别API,识别物品图片给出它属于的垃圾分类。看官方文档不太详细,这里给出一种实测可行方案,没考虑程序健壮性,还是建议优先参考官方文档:
官方教程文档:
https://help.aliyun.com/document_detail/158328.htm?spm=a2c4g.11186623.2.12.11bc5688Bee7Dq#doc-api-imagerecog-ClassifyingRubbish
阿里云视觉智能开放平台:
https://vision.aliyun.com/imagerecog
一、准备工作:
1.配置maven依赖:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.47</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>imagerecog20190930</artifactId>
<version>1.0.1</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>tea-openapi</artifactId>
<version>0.0.7</version>
</dependency>
2.去视觉智能开放平台申请accessKey和accessKeySecret
二、JAVA实现示例
1.将本地图片上传获取图片url:
String file = "XX:\\aliClassifyRubish\\example.jpg"; //本地图片地址
InputStream inputStream = ViapiFileUtilAdvance.buildInputStream(file);
ViapiFileUtilAdvance fileUtils = ViapiFileUtilAdvance.getInstance(accessKey, accessKeySecret, regionId);
String ossTempFileUrl = fileUtils.upload(inputStream);
2.创建代理
java.util.List<String> args = java.util.Arrays.asList(args_);
com.aliyun.imagerecog20190930.Client client = Classify.createClient(accessKey, accessKeySecret);//Classify为此类名
ClassifyingRubbishRequest classifyingRubbishRequest = new ClassifyingRubbishRequest().setImageURL(ossTempFileUrl);
其中
public static com.aliyun.imagerecog20190930.Client createClient(String accessKeyId, String accessKeySecret) throws Exception {
Config config = new Config()
// 您的AccessKey ID
.setAccessKeyId(accessKeyId)
// 您的AccessKey Secret
.setAccessKeySecret(accessKeySecret);
// 访问的域名
config.endpoint = "imagerecog.cn-shanghai.aliyuncs.com";
return new com.aliyun.imagerecog20190930.Client(config);
}
3.调用接口获取返回值
List list=client.classifyingRubbish(classifyingRubbishRequest).getBody().getData().getElements();
JSONArray jsonArray=(JSONArray) JSONArray.toJSON(list);
Map map=(Map) jsonArray.get(0);
String rubbish = (String) map.get("rubbish");
String category = (String) map.get("category");
float score = (float) map.get("categoryScore");
完整代码如下:
import com.alibaba.fastjson.JSONArray; import com.aliyun.imagerecog20190930.models.*; import com.aliyun.teaopenapi.models.*; import java.io.InputStream; import java.util.List; import java.util.Map; public class Classify { /** * 使用AK&SK初始化账号Client * @param accessKeyId * @param accessKeySecret * @return Client * @throws Exception */ public static com.aliyun.imagerecog20190930.Client createClient(String accessKeyId, String accessKeySecret) throws Exception { Config config = new Config() // 您的AccessKey ID .setAccessKeyId(accessKeyId) // 您的AccessKey Secret .setAccessKeySecret(accessKeySecret); // 访问的域名 config.endpoint = "imagerecog.cn-shanghai.aliyuncs.com"; return new com.aliyun.imagerecog20190930.Client(config); } public static void main(String[] args_) throws Exception { String accessKey = "XXXXXXX"; //您的AccessKeyID String accessKeySecret = "XXXXXXXXXXXX"; //您的AccessKeySecret String regionId = "cn-shanghai"; String file = "XX:\\aliClassifyRubish\\example.jpg"; //或者本地上传 //String file = "https://img.alicdn.com/tfs/TB1S0DjC4v1gK0jSZFFXXb0sXXa-692-440.jpg"; InputStream inputStream = ViapiFileUtilAdvance.buildInputStream(file); ViapiFileUtilAdvance fileUtils = ViapiFileUtilAdvance.getInstance(accessKey, accessKeySecret, regionId); String ossTempFileUrl = fileUtils.upload(inputStream); System.out.println(ossTempFileUrl); java.util.List<String> args = java.util.Arrays.asList(args_); com.aliyun.imagerecog20190930.Client client = Classify.createClient(accessKey, accessKeySecret); ClassifyingRubbishRequest classifyingRubbishRequest = new ClassifyingRubbishRequest().setImageURL(ossTempFileUrl); // 获取结果 List list=client.classifyingRubbish(classifyingRubbishRequest).getBody().getData().getElements(); JSONArray jsonArray=(JSONArray) JSONArray.toJSON(list); Map map=(Map) jsonArray.get(0); String rubbish = (String) map.get("rubbish"); String category = (String) map.get("category"); float score = (float) map.get("categoryScore"); System.out.println("rubbish:"+rubbish); System.out.println("category:"+category); System.out.println("score:"+ score); } }
运行结果:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。