视觉智能平台人脸美颜功能有没有从本地提交图片的代码?示例中只有从网络中提交图片的代码
"使用文件URL处理的第一种方式。本地文件以stream的形式传入 https://help.aliyun.com/document_detail/155645.html——该回答整理自钉群“阿里云视觉智能开放平台咨询1群”
人脸美颜目前是支持从本地提交图片或者非上海地域OSS文件进行识别美颜操作的,需要通过SDK调用,文件将以stream形式传入进行后续调用,详情请参见各语言SDK参考。比如说java版的对于文件在本地或不在同一地域 OSS的实例代码如下:
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://help.aliyun.com/document_detail/145025.html
// 这里只是以ocr为例,其他能力请使用相应类目的包下面的Client类
com.aliyun.ocr20191230.Client client = Sample.createClient("YOUR_ACCESS_KEY_ID", "YOUR_ACCESS_KEY_SECRET");
// 场景一,使用本地文件
// InputStream inputStream = new FileInputStream(new File("/tmp/bankCard.png"));
// 场景二,使用任意可访问的url
URL url = new URL("https://viapi-test-bj.oss-cn-beijing.aliyuncs.com/viapi-3.0domepic/ocr/RecognizeBankCard/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());
}
}
}
其他语言对应实例代码可以参考文档地址:https://help.aliyun.com/document_detail/145033.html
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。