当前位置: 首页 > news >正文

【sdk】- 对接阿里云抠图

文档地址:https://help.aliyun.com/zh/viapi/use-cases/general-image-segmentation?spm=a2c4g.11186623.0.0.3814173cenldIs

java对接阿里云的通用分割,将代码原封不动复制进来,执行结果失败,咨询阿里云的人员之后,由于jar包冲突导致,需要引入一些特定的包版本来实现
在这里插入图片描述

pom引用

  <dependency><groupId>com.aliyun</groupId><artifactId>imageseg20191230</artifactId><version>2.0.2</version><exclusions><exclusion><groupId>com.squareup.okhttp3</groupId><artifactId>okhttp</artifactId></exclusion></exclusions></dependency><dependency><groupId>com.aliyun</groupId><artifactId>tea-openapi</artifactId><version>0.3.4</version></dependency><dependency><groupId>com.aliyun</groupId><artifactId>tea-console</artifactId><version>0.0.1</version></dependency><dependency><groupId>com.aliyun</groupId><artifactId>tea-util</artifactId><version>0.2.22</version></dependency><!--在我的服务中必须手动再次引人,不然报错--><dependency><groupId>com.squareup.okhttp3</groupId><artifactId>okhttp</artifactId></dependency>

代码

只需要改pom,对于获取环境变量中的ak信息,完全没必要。

public class AliyunApiService {public static com.aliyun.imageseg20191230.Client createClient(String accessKeyId, String accessKeySecret) throws Exception {/*初始化配置对象com.aliyun.teaopenapi.models.ConfigConfig对象存放 AccessKeyId、AccessKeySecret、endpoint等配置*/com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config().setAccessKeyId(accessKeyId).setAccessKeySecret(accessKeySecret);// 访问的域名config.endpoint = "imageseg.cn-shanghai.aliyuncs.com";return new com.aliyun.imageseg20191230.Client(config);}public static void main(String[] args_) throws Exception {// 创建AccessKey ID和AccessKey Secret,请参考https://help.aliyun.com/document_detail/175144.html// 如果您使用的是RAM用户的AccessKey,还需要为子账号授予权限AliyunVIAPIFullAccess,请参考https://help.aliyun.com/document_detail/145025.html// 从环境变量读取配置的AccessKey ID和AccessKey Secret。运行代码示例前必须先配置环境变量。String accessKeyId = "";String accessKeySecret = "";com.aliyun.imageseg20191230.Client client = AliyunApiService.createClient(accessKeyId, accessKeySecret);// 场景一,使用本地文件
//         InputStream inputStream = new FileInputStream(new File("/Users/qweasdzxc/Downloads/WechatIMG201.jpeg"));// 场景二,使用任意可访问的urlURL url = new URL("https://viapi-test-bj.oss-cn-beijing.aliyuncs.com/viapi-3.0domepic/imageseg/SegmentCommonImage/SegmentCommonImage1.jpg");InputStream inputStream = url.openConnection().getInputStream();com.aliyun.imageseg20191230.models.SegmentCommonImageAdvanceRequest segmentCommonImageAdvanceRequest = new com.aliyun.imageseg20191230.models.SegmentCommonImageAdvanceRequest().setImageURLObject(inputStream);com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions();try {SegmentCommonImageResponse segmentCommonImageResponse = client.segmentCommonImageAdvance(segmentCommonImageAdvanceRequest, runtime);// 获取整体结果System.out.println(com.aliyun.teautil.Common.toJSONString(TeaModel.buildMap(segmentCommonImageResponse)));// 获取单个字段System.out.println(segmentCommonImageResponse.getBody().data.imageURL);} catch (TeaException teaException) {// 获取整体报错信息System.out.println(com.aliyun.teautil.Common.toJSONString(teaException));// 获取单个字段System.out.println(teaException.getCode());}}
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • C++ //练习 16.42 对下面每个调用,确定T和val的类型:
  • linux 6.10.0 CXL/memdev.c 详解
  • 【json解析】控制台打印json字符串格式正确,但json.loads()解析失败问题解决
  • Java中等题-不同二叉搜索树(力扣)
  • sqli-labs-master
  • C++快速理解之封装
  • 使用开源 LLM 充当 LangChain 智能体
  • 【C++】5.类和对象(3)
  • 算法训练(leetcode)第四十六天 | 110. 字符串接龙、105. 有向图的完全可达性、106. 岛屿的周长
  • Oracle数据库巡检 - RAC巡检
  • Java常见面试题-11-MongoDb
  • 非线性表之堆的实际应用和二叉树的遍历
  • 三数之和与四数之和 | LeetCode-15 | LeetCode-18 | 双指针 | 降维 | 哈希集合 | Java | 详细注释
  • Hive3:数据的加载与导出
  • 算法板子:欧拉函数——求一个数的欧拉函数、线性时间内求1~n所有数的欧拉函数
  • Android优雅地处理按钮重复点击
  • angular2开源库收集
  • AWS实战 - 利用IAM对S3做访问控制
  • Go 语言编译器的 //go: 详解
  • HTML中设置input等文本框为不可操作
  • JavaScript DOM 10 - 滚动
  • PhantomJS 安装
  • Python爬虫--- 1.3 BS4库的解析器
  • Redux 中间件分析
  • spring cloud gateway 源码解析(4)跨域问题处理
  • SpringBoot 实战 (三) | 配置文件详解
  • UEditor初始化失败(实例已存在,但视图未渲染出来,单页化)
  • Vue UI框架库开发介绍
  • vue和cordova项目整合打包,并实现vue调用android的相机的demo
  • 分布式熔断降级平台aegis
  • 构建工具 - 收藏集 - 掘金
  • 如何合理的规划jvm性能调优
  • 为什么要用IPython/Jupyter?
  • 一个项目push到多个远程Git仓库
  • 因为阿里,他们成了“杭漂”
  • python最赚钱的4个方向,你最心动的是哪个?
  • ​第20课 在Android Native开发中加入新的C++类
  • # 安徽锐锋科技IDMS系统简介
  • #android不同版本废弃api,新api。
  • #pragma pack(1)
  • (10)ATF MMU转换表
  • (附源码)小程序儿童艺术培训机构教育管理小程序 毕业设计 201740
  • (个人笔记质量不佳)SQL 左连接、右连接、内连接的区别
  • (七)c52学习之旅-中断
  • (生成器)yield与(迭代器)generator
  • (四)进入MySQL 【事务】
  • (五十)第 7 章 图(有向图的十字链表存储)
  • (转)Linq学习笔记
  • ./configure,make,make install的作用
  • .NET 给NuGet包添加Readme
  • .NET 设计模式初探
  • .Net(C#)自定义WinForm控件之小结篇
  • .NET/C# 使用反射调用含 ref 或 out 参数的方法
  • .net2005怎么读string形的xml,不是xml文件。
  • .Net6支持的操作系统版本(.net8已来,你还在用.netframework4.5吗)