图片转动漫人物接口

import java.util.*;import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import org.json.JSONObject;
import org.springframework.util.Base64Utils;
import org.apache.http.*;import java.io.*;
import java.net.*;public class selfie_anime {public static void main(String[] args) {// 官网获取的 API Key 更新为你注册的String clientId = "API Key";// 官网获取的 Secret Key 更新为你注册的String clientSecret = " Secret Key";String access_token=getAuth(clientId, clientSecret);//调用人像动漫化String request_url="https://aip.baidubce.com/rest/2.0/image-process/v1/selfie_anime";String url=request_url+"?access_token="+access_token;try {// 本地文件路径String fileDir = "本地文件路径";String fileName = "文件名.jpg";String filePath = fileDir + fileName;//文件读取FileInputStream fileInputStream = new FileInputStream(filePath);byte[] imgData = new byte[fileInputStream.available()];fileInputStream.read(imgData);String imgStr = new String(Base64Utils.encode(imgData));String imgParam = URLEncoder.encode(imgStr, "UTF-8");//String params = "image=" + imgParam+"&type=anime_mask"+"&mask_id=5"; --带口罩String params = "image=" + imgParam+"&type=anime"; //不带口罩long startTime = System.currentTimeMillis(); //程序开始记录时间 //百度云上传文件String result = HttpUtil.post(url, access_token, "application/x-www-form-urlencoded", params);long endTime = System.currentTimeMillis(); //程序结束记录时间 long TotalTime = endTime - startTime; //总消耗时间System.out.println("time cost:"+TotalTime+"ms");System.out.println(result);fileInputStream.close();HashMap<String, Object> resMap = JSON.parseObject(result, new TypeReference<HashMap<String, Object>>() {});System.err.println(resMap.get("log_id"));//Base64转图片Base64.Decoder decoder = Base64.getDecoder();byte[] decode = decoder.decode(String.valueOf(resMap.get("image")));for(int i=0; i< decode.length; i++){if(decode[i] < 0){decode[i]+=256;}}Calendar calendar = Calendar.getInstance();String outFileName = calendar.getTimeInMillis()+".png";FileOutputStream out = new FileOutputStream(fileDir + outFileName);out.write(decode);out.flush();out.close();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}//获取access_tokenpublic static String getAuth(String ak, String sk) {// 获取token地址String authHost = "https://aip.baidubce.com/oauth/2.0/token?";String getAccessTokenUrl = authHost// 1. grant_type为固定参数+ "grant_type=client_credentials"// 2. 官网获取的 API Key+ "&client_id=" + ak// 3. 官网获取的 Secret Key+ "&client_secret=" + sk;try {URL realUrl = new URL(getAccessTokenUrl);// 打开和URL之间的连接HttpURLConnection connection = (HttpURLConnection) realUrl.openConnection();connection.setRequestMethod("GET");connection.connect();// 获取所有响应头字段Map<String, List<String>> map = connection.getHeaderFields();// 遍历所有的响应头字段for (String key : map.keySet()) {System.err.println(key + "--->" + map.get(key));}// 定义 BufferedReader输入流来读取URL的响应BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));String result = "";String line;while ((line = in.readLine()) != null) {result += line;}in.close();connection.disconnect();System.err.println("result:" + result);JSONObject jsonObject = new JSONObject(result);String access_token = jsonObject.getString("access_token");return access_token;} catch (Exception e) {System.err.printf("获取token失败!");e.printStackTrace(System.err);}return null;}static class HttpUtil{public static String post( String url,String token,String contentType,String params ){CloseableHttpClient aDefault = HttpClients.createDefault();HttpPost httpPost = new HttpPost(url);RequestConfig config = RequestConfig.custom().setConnectTimeout(60 * 1000).setConnectionRequestTimeout(60 * 1000).setSocketTimeout(60 * 1000).setStaleConnectionCheckEnabled(true).build();httpPost.setConfig(config);httpPost.setHeader("Accept","application/json");httpPost.setHeader("Content-Type",contentType);httpPost.setEntity(new StringEntity(params,"utf-8"));CloseableHttpResponse response = null;try {response = aDefault.execute(httpPost);if(HttpStatus.SC_OK == response.getStatusLine().getStatusCode()) {HttpEntity responseEntity = response.getEntity();String res = EntityUtils.toString(responseEntity, "utf-8");return res;}} catch (IOException e) {e.printStackTrace();}finally {if(response != null){try {response.close();} catch (IOException e) {e.printStackTrace();}}try {aDefault.close();} catch (IOException e) {e.printStackTrace();}}return "";}}}

百度云-图像处理-动漫人物相关推荐

  1. 《Python自动化》学习笔记:百度云智能实现黑白图片上色,人物动漫化(代码干货)

    基本要求 要注册百度的账号,并且创建应用,方法如下: 百度智能云新手入门教程:https://cloud.baidu.com/doc/OCR/s/dk3iqnq51 目的是为了获得API_Key和Se ...

  2. HTML打造动漫人物,百度贴吧打造二次元清明祭 回顾离开的动漫人物

    百度贴吧打造二次元清明祭 回顾离开的动漫人物 日期:2013-04-03 19:01|热度:3488| 标签: 百度帖吧 微漫画 这个清明,贴吧二次元为大家送上一个特别策划:二次元清明祭.旨在悼念二次 ...

  3. 联合百度云发布新一代ABC一体机,浪潮全方位发挥计算力优势赋能AI落地丨Xtecher 观察

    AI 茂盛生长但又普遍难以落地的背景下,浪潮在重磅联手百度云发布新一代 ABC 一体机的同时, AI 计算产品线全面开花.通过联手强力合作伙伴,以及加强自主研发和产品升级,浪潮正积极发挥计算力优势全力 ...

  4. 《cloud+》如果百度云飘走了你该怎么办?

    为什么80%的码农都做不了架构师?>>>    <cloud+>是<[data+++]保护个人隐私的安全套装>系列的一部分,在此之前还有三篇,分别是<c ...

  5. 指数级暴增、复杂场景下,揭秘百度云原生湖仓架构等系列数据产品

    9月28日,百度智能云2021"云智技术论坛"智能大数据专场在上海举办.本次会议以"云智一体,让大数据发挥大价值"为主题,百度副总裁谢广军携百度多位资深技术专家 ...

  6. imagenet/ILSVRC2012数据集百度云及其具体分类

    百度云:链接:https://pan.baidu.com/s/10sZPEvWKCcIpU1woCSyE8g 提取码:4d67 本段时间需要用到此训练集,所以整理了一下,下面分类非自己整理 具体分类: ...

  7. python全栈工程师 pdf_python全栈工程师项目开发实例实战入门教程百度云

    python全栈工程师项目开发实例实战入门教程百度云 课程目录: 开学典礼 pycharm的基本使用 Python基本语法 数值类型数据及运算 字符串的基本操作 字符串的常用方法 列表的基本使用 列表 ...

  8. 红外图像-自然图像对(Color-Thermal)数据集,附加百度云链接

    由于红外数据集在军事.国防等特殊用途,所以红外数据集数据较少,下面主要是对现有的红外数据集做个汇总和介绍,有的网址可能需要咳咳才能访问. 后期下载链接补充百度云盘. 1.OTCBVS Benchmar ...

  9. 百度AI产品与应用学习路线之AI服务应用(百度云智学院学习笔记)

    熟悉百度在AI服务应用场景中的产品及实践 智能创作 智能创作平台介绍 智能创作之自动创作操作指导 智能创作之辅助创作操作指导 百度大脑内容审核平台使用教程 智能定位 百度地图智能定位服务应用 智能小程 ...

最新文章

  1. squid 优化指南
  2. 2012年4月当选微软MVP的CSDN会员名单揭晓!
  3. xshell自动化脚本
  4. 我的第一个Android程序
  5. C++primer :const限定符
  6. 通过源码的方式编译hadoop的安装文件
  7. 虚拟机vmnet8每次都要先禁用再启用_【零成本 amp; 超详细】使用Win10自带的Hyper-V管理工具搭建虚拟机...
  8. Linux查看centos版本 - 命令篇
  9. github get 请求指定页面的代码
  10. LA 4123 (计数 递推) Glenbow Museum
  11. [汇编学习笔记][第十六章直接定址表]
  12. 「Leetcode」142.环形链表II:环找到了,那入口呢?
  13. pvremore删除物理卷
  14. python前端和后端_python是用于前端还是后端开发
  15. ac3165无线网卡驱动linux,intel ac 3165无线网卡驱动下载v20.110.0 官方版
  16. php的COM组件调用相关(包括com_event_sink的用法)
  17. 小程序标准版交易组件开启
  18. 【HUE】问题汇总(持续更新)
  19. 2017年4月24号课堂笔记
  20. 计算机中丢失tcalc,【图】通达信指标公式全部丢失,怎样能找回来_炒股软件,炒股,炒股公式,股票指标,股票软件_股票软件技术交流论坛_理想论坛 - 股票论坛...

热门文章

  1. c语言引用性间接变量,c语言取地址和间接引用
  2. scale-free
  3. 用spark实现单词统计
  4. 【研究生】横扫13项中文NLP任务:香侬科技提出汉语字形表征向量Glyce+田字格CNN...
  5. 手机外接html显示器,华为MateBook怎么连接外接显示器/投影仪?
  6. 订餐系统之按距离[根据经纬度]排序、搜索
  7. 2048和多地址入口_王者荣耀2020周年庆返场皮肤投票入口 周年庆皮肤返场投票地址...
  8. 武汉市服务业领军企业认定条件、流程及申报政策奖励补贴标准
  9. 市面上U盘便宜种类多 如何鉴别便宜U盘好坏呢
  10. 淘宝/天猫API接口,获得淘宝商品详情高级版