请教一下视觉智能平台,这个人脸属性识别的接口,如何使用本地图片直接上传?[视觉智能开放平台]

请教一下视觉智能平台,这个人脸属性识别的接口,如何使用本地图片直接上传? https://help.aliyun.com/document_detail/151968.html?spm=a2cw1.28085164.help.dexternal.158b143fGfbmyg

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
3 条回复 A 作者 M 管理员
  1. 你好,视觉智能开放平台如果是本地图片的话,需要使用xxxAdvanceRequest将文件以stream形式通过ImageURLObject参数传入进行后续调用,比如实例的java代码

    package com.aliyun.sample;// 1、这里只是以ocr下的RecognizeBankCard能力为例,其他能力请引入相应类目的包和相关类。包名可参考本文档上方的SDK包名称,能力名可参考对应API文档中的Action参数。例如您想使用通用分割,其文档为https://help.aliyun.com/document_detail/151960.html,可以知道该能力属于分割抠图类目,能力名称为SegmentCommonImage,那么您需要将代码中ocr20191230改为imageseg20191230,将RecognizeBankCard改为SegmentCommonImage。import com.aliyun.ocr20191230.models.RecognizeBankCardResponse;import com.aliyun.tea.*;import java.io.File;import java.io.FileInputStream;import java.io.InputStream;import java.net.URL;import java.net.URLConnection;public class Sample {    /**    * 使用AK&SK初始化账号Client    * @param accessKeyId    * @param accessKeySecret    * @return Client    * @throws Exception    */    // 这里只是以ocr为例,其他能力请使用相应类目的包下面的Client类    public static com.aliyun.ocr20191230.Client createClient(String accessKeyId, String accessKeySecret) throws Exception {        com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()            // 您的 AccessKey ID            .setAccessKeyId(accessKeyId)            // 您的 AccessKey Secret            .setAccessKeySecret(accessKeySecret);        // 2、访问的域名。注意:这个地方需要求改为相应类目的域名,参考:https://help.aliyun.com/document_detail/143103.html        config.endpoint = "ocr.cn-shanghai.aliyuncs.com";        // 3、这里只是以ocr为例,其他能力请使用相应类目的包下面的Client类        return new com.aliyun.ocr20191230.Client(config);    }    public static void main(String[] args) throws Exception {        // 4、"YOUR_ACCESS_KEY_ID", "YOUR_ACCESS_KEY_SECRET" 的生成请参考https://help.aliyun.com/document_detail/175144.html        // 如果您是用的子账号AccessKey,还需要为子账号授予权限AliyunVIAPIFullAccess,请参考https://www.www.tongchenyun.com/wp-content/uploads/aliyun/2023/1128/error.html"));        // 场景二,使用任意可访问的url        URL url = new URL("https://www.www.tongchenyun.com/wp-content/uploads/aliyun/2023/1128/yhk1.jpg");        InputStream inputStream = url.openConnection().getInputStream();        // 5、这里只是以ocr下的RecognizeBankCard为例,其他能力请使用相应类目的包和类,具体入参设置需要参考具体能力的文档        com.aliyun.ocr20191230.models.RecognizeBankCardAdvanceRequest recognizeBankCardAdvanceRequest = new com.aliyun.ocr20191230.models.RecognizeBankCardAdvanceRequest()            .setImageURLObject(inputStream);        com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions();        try {            // 6、这里只是以ocr下的RecognizeBankCard为例,其他能力请使用相应类目的包和类,注意,recognizeBankCardAdvance方法名也需要改成对应能力的方法名。方法名是根据能力名称按照一定规范形成的,如能力名称为SegmentCommonImage,对应方法名应该为segmentCommonImageAdvance。            RecognizeBankCardResponse resp = client.recognizeBankCardAdvance(recognizeBankCardAdvanceRequest, runtime);            // 获取整体结果。部分能力会输出url链接,通过toJSONString转换后可能有编码问题,但是通过单个字段获取是没问题的。            System.out.println(com.aliyun.teautil.Common.toJSONString(TeaModel.buildMap(resp)));            // 获取单个字段,这里只是一个例子,具体能力下的字段需要看具体能力的文档            System.out.println(resp.getBody().getData().getCardNumber());        } catch (com.aliyun.tea.TeaException teaException) {            // 获取整体报错信息            System.out.println(com.aliyun.teautil.Common.toJSONString(teaException));            // 获取单个字段            System.out.println(teaException.getCode());        }    }}                    

  2. 这里有示例代码的,文件本地上传 最低SDK版本要求:facebody20191230的SDK版本需大于等于3.0.7。你看下版本,此回答整理自钉群“阿里云视觉智能开放平台咨询1群”