• 【sdk】- 对接阿里云抠图


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

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

    pom引用

      <dependency>
                <groupId>com.aliyungroupId>
                <artifactId>imageseg20191230artifactId>
                <version>2.0.2version>
                <exclusions>
                    <exclusion>
                        <groupId>com.squareup.okhttp3groupId>
                        <artifactId>okhttpartifactId>
                    exclusion>
                exclusions>
            dependency>
            <dependency>
                <groupId>com.aliyungroupId>
                <artifactId>tea-openapiartifactId>
                <version>0.3.4version>
            dependency>
            <dependency>
                <groupId>com.aliyungroupId>
                <artifactId>tea-consoleartifactId>
                <version>0.0.1version>
            dependency>
            <dependency>
                <groupId>com.aliyungroupId>
                <artifactId>tea-utilartifactId>
                <version>0.2.22version>
            dependency>
          
            <dependency>
                <groupId>com.squareup.okhttp3groupId>
                <artifactId>okhttpartifactId>
            dependency>
    

    代码

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

    public class AliyunApiService {
        public static com.aliyun.imageseg20191230.Client createClient(String accessKeyId, String accessKeySecret) throws Exception {
            /*
              初始化配置对象com.aliyun.teaopenapi.models.Config
              Config对象存放 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"));
            // 场景二,使用任意可访问的url
            URL 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());
            }
        }
    }
    
  • 相关阅读:
    开发过程中那些包应该放到devDependencies,dependencies
    【蓝桥杯集训100题】scratch售票找零 蓝桥杯scratch比赛专项预测编程题 集训模拟练习题第23题
    创意作品管理软件 Bridge 2024 mac中文版 br2024功能特色
    Windows系统下使用tar命令,压缩文件与解压缩文件并指定路径
    windows常用
    软件测试的基础知识
    软件分享 | 第十二期 yoco文库下载
    python: window环境安装
    海康Visionmaster-环境配置:运行出现 Vm.Core.Solu tion 报错的解决方法
    Revit 中参数化多边形的画法?
  • 原文地址:https://blog.csdn.net/fjj15732621696/article/details/140967255