请教一下视觉智能平台,这个人脸属性识别的接口,如何使用本地图片直接上传?
https://help.aliyun.com/document_detail/151968.html?spm=a2cw1.28085164.help.dexternal.158b143fGfbmyg
请教一下视觉智能平台,这个人脸属性识别的接口,如何使用本地图片直接上传?[视觉智能开放平台]
「点点赞赏,手留余香」
还没有人赞赏,快来当第一个赞赏的人吧!
请教一下视觉智能平台,这个人脸属性识别的接口,如何使用本地图片直接上传?
https://help.aliyun.com/document_detail/151968.html?spm=a2cw1.28085164.help.dexternal.158b143fGfbmyg
你好,视觉智能开放平台如果是本地图片的话,需要使用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()); } }}这里有示例代码的,文件本地上传 最低SDK版本要求:facebody20191230的SDK版本需大于等于3.0.7。你看下版本,此回答整理自钉群“阿里云视觉智能开放平台咨询1群”