autojs人像变换

简介: autojs人像变换

牙叔教程 简单易懂


产品简介


腾讯云神图·人像变换(Face Transformation)基于腾讯优图领先的人脸识别算法,提供人脸年龄变化、人脸性别转换等能力,用户上传照片即可得到实现男女性别切换、人脸变老/变年轻等效果。适用于社交娱乐、广告营销、互动传播等场景。

人像变换目前包括四个功能


  • 人脸年龄变化
  • 人脸性别转换
  • 人像动漫化
  • 人像渐变

效果展示


原图


6岁

86岁

女装

动漫化

人像渐变


缘起


autojs基本支持nodejs了, 所以用腾讯云的人像变换sdk来测试一下


autojs支持的nodejs版本: 15.5.1


npm版本: 7.3.0


切勿自行升级


环境


手机: Mi 11 Pro


Android版本: 11


Autojs版本: 9.0.9


仓库


一共有2个


服务端: https://gitee.com/yashujs/tencentcloud-ft-nodejs-yashu


客户端: https://gitee.com/yashujs/portrait-transformation-client


使用步骤


服务端和客户端都是autojs实现的


服务端: autojs自带的nodejs, 使用腾讯云的人像变换的nodejs SDK;


客户端:就普通的http请求脚本


1. 服务端


  1. 下载客户端代码到手机
  2. 安装依赖: npm i  --no-bin-links
  3. 你不知道在哪里安装依赖
1. 打开任意一个js文件
2. 左上角有一个文件, 点击它
3. 点击你这个项目文件夹右侧的三个点
4. 点击npm
5. 点击其他npm命令或包管理器
6. 输入命令 npm i  --no-bin-links


  1. 修改秘钥config.js
  2. 不需要启动服务端, 启动由客户端完成


2, 客户端, 讲个大概


代码讲解


1. IP和端口
let port = "34567";
let url = "http://127.0.0.1:" + port + "/";


2. 启动服务端(重点)
startServer();
function startServer() {
  $engines.execScriptFile("/storage/emulated/0/脚本/ft/ft/index.js");
  events.on("exit", function () {
    let r = http.get(url + "exit");
    log(r.body.string());
  });
}


3. 读取图片
let imgPath = "./man1.jpg";
let imgPath2 = "./man2.jpg";
let img = images.read(files.path(imgPath));
let img2 = images.read(files.path(imgPath2));
let imgBase64 = images.toBase64(img);
let img2Base64 = images.toBase64(img2);


4. 界面
$ui.layout(
  <vertical>
    <horizontal>
      <img id="img" src="file://{{imgPath}}"></img>
      <img id="img2" src="file://{{imgPath2}}"></img>
    </horizontal>
    <seekbar id="seekbar" progress="30" w="*" margin="20 10 20 0" />
    <horizontal w="*" gravity="center">
      <text text="1. 修改年龄: " textSize="20sp"></text>
      <text id="age" textSize="20sp">
        30
      </text>
    </horizontal>
    <horizontal w="*" gravity="center" marginTop="10">
      <text text="2. 修改性别: " textSize="20sp"></text>
      <radiogroup id="gender" orientation="horizontal">
        <radio text="男"></radio>
        <radio text="女"></radio>
      </radiogroup>
    </horizontal>
    <button id="cartoon" text="3. 人像动漫化"></button>
    <button id="morph" bg="#bcaaa4" text="4.1 人像渐变任务提交"></button>
    <text id="JobId" textSize="20sp" w="*" gravity="center">
      JobId
    </text>
    <button id="morph2" bg="#8d6e63" text="4.2 人像渐变任务查询(请求频率限制20次/秒)"></button>
    <VideoView id="video" w="wrap_content" layout_gravity="center" bg="#ffffff" />
  </vertical>
);


5. 添加按钮点击事件
$ui.cartoon.click(function () {
  cartoonFace(imgBase64, $ui.img);
  cartoonFace(img2Base64, $ui.img2);
});


6. 按钮对应的函数, 请求格式基本一模一样
function cartoonFace(imgBase64, view) {
  let body = {
    action: "FaceCartoonPic",
    imgBase64: imgBase64,
  };
  http.postJson(
    url,
    body,
    {
      headers: {
        "Content-Type": "application/json",
      },
    },
    function (res, err) {
      let obj = res.body.json();
      http.get(obj.ResultUrl, {}, function (res, err) {
        if (err) {
          log("下载图片异常");
          console.error(err);
          return;
        }
        let tempPath = files.join(files.getSdcardPath(), "脚本", "temp.jpg");
        files.writeBytes(tempPath, res.body.bytes());
        view.attr("src", "file://" + tempPath);
      });
    }
  );
}

名人名言

思路是最重要的, 其他的百度, bing, stackoverflow, 安卓文档, autojs文档, 最后才是群里问问

--- 牙叔教程


声明

部分内容来自网络

本教程仅用于学习, 禁止用于其他用途




相关文章
|
6月前
|
C++ 计算机视觉
OpenCV-人像—酷感冷艳滤镜
OpenCV-人像—酷感冷艳滤镜
|
4月前
|
XML 算法 计算机视觉
使用OpenCV进行人脸检测和戴墨镜特效实战(附Python源码)
使用OpenCV进行人脸检测和戴墨镜特效实战(附Python源码)
99 1
|
8月前
|
计算机视觉 C++ Python
Python相片图片编辑工具-翻转旋转亮度磨皮裁剪添加文字
这篇博客针对<<Python相片图片编辑工具-翻转旋转亮度磨皮裁剪添加文字>>编写代码,代码整洁,规则,易读。 学习与应用推荐首选。
70 0
|
9月前
Photoshop利用置换滤镜制作文字人像
Photoshop利用置换滤镜制作文字人像
49 0
|
11月前
|
人工智能 数据可视化 测试技术
卷!用扩散模型合成连贯视觉故事,输入字幕就能脑补画面,代词ta都分得清
卷!用扩散模型合成连贯视觉故事,输入字幕就能脑补画面,代词ta都分得清
137 0
|
11月前
portraiture2023最新版滤镜人像图片磨皮软件
一款好的图片磨皮软件可以解放修图者的双手,减去繁琐的抠图操作,轻松去除人像脸部的瑕疵。经典而实用的portraiture图片磨皮软件,是人像修图的颇佳选择。
144 0
|
API 计算机视觉 Python
用Python实现美化照片———磨皮
如何用Python实现磨皮
463 0
用Python实现美化照片———磨皮
|
Android开发
autojs-高斯滤镜BlurMaskFilter
autojs-高斯滤镜BlurMaskFilter
195 0
autojs-高斯滤镜BlurMaskFilter
|
编解码 数据可视化 Java
autojs多分辨率找透明图
牙叔教程 简单易懂
407 0