autojs人像变换

2023-11-17

牙叔教程 简单易懂

产品简介

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

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

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

效果展示

原图
在这里插入图片描述

6岁
在这里插入图片描述

86岁
86岁.png

女装
在这里插入图片描述

动漫化
在这里插入图片描述

人像渐变
在这里插入图片描述

缘起

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);
      });
    }
  );
}

下载9.0.9的autojs

公众号回复 909

活动

官方渠道免费领取爱奇艺7天vip会员,真实有效!!!

参考

人脸年龄变化-官方文档

名人名言

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

声明

部分内容来自网络
本教程仅用于学习, 禁止用于其他用途

bilibili

牙叔教程

微信公众号 牙叔教程

在这里插入图片描述

QQ群

747748653
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

autojs人像变换 的相关文章

随机推荐

  • 遥感+python 目录

    遥感 python 1 遥感影像预处理 环境搭建 辐射定标 大气校正 RPC校正 重投影 2 遥感影像样本读取 CSV 格式样本读取 XLS 格式样本读取 TIFF 格式样本读取 SHAPE 格式样本读取 3 遥感影像分类器构建 KNN分类
  • Linux——进程信号的发送

    目录 一 信号发送的概念 首先来讲几个发送术语 它有三种情况 注意 二 信号在内核中的表示示意图 三 信号捕捉 所以总结一下 此时 会出现这样一个疑问 操作系统是如何得知现在被执行的进程是用户态还是内核态 问题2 CPU在执行某个进程时是如
  • Node.js 应用:Koa2 使用 JWT 进行鉴权

    前言 在前后端分离的开发中 通过 Restful API 进行数据交互时 如果没有对 API 进行保护 那么别人就可以很容易地获取并调用这些 API 进行操作 那么服务器端要如何进行鉴权呢 Json Web Token 简称为 JWT 它定
  • React全部api解读

    很多同学用react开发的时候 真正用到的React的api少之又少 基本停留在Component React memo等层面 实际react源码中 暴露出来的方法并不少 只是我们平时很少用 但是React暴露出这么多api并非没有用 想要
  • pip(Python包管理工具)安装第三方库教程

    目录 1 python环境检查 2 pip库的常用命令 2 1 更新包 2 1 1 更新pip工具 2 1 2 更新三方库 2 2 安装包 2 2 1 在线安装 2 2 1 1 直接安装 2 2 1 2 镜像安装 2 2 2 离线安装 2
  • 机器学习概述和数据预处理

    概述 机器学习定义 机器学习是一门能够让编程计算机从数据中学习的计算机科学 一个计算机程序在完成任务T之后 获得经验E 其表现效果为P 如果任务T的性能表现 也就是用来衡量的P 随着E增加而增加 那么这样计算机程序就被称为机器学习系统 自我
  • Vue 2项目如何升级到Vue 3?

    应不应该从 Vue 2 升级到 Vue 3 应不应该升级 这个问题不能一概而论 首先 如果你要开启一个新项目 那直接使用 Vue 3 是最佳选择 后面课程里 我也会带你使用 Vue 3 的新特性和新语法开发一个项目 以前我独立使用 Vue
  • Linux磁盘管理命令

    Linux磁盘管理命令 Linux磁盘管理命令 1 pwd命令 2 cd命令 3 df命令 4 mkdir命令 5 mount及umount命令 6 ls命令 7 history命令 Linux磁盘管理命令 1 pwd命令 作用 显示当前工
  • ubuntu18.04安装Azure Kinect传感器摄像头教程

    官方教程 Azure Kinect DK文档 配置存储库 可以通过安装适用于 Linux 分发版和版本的 Linux 包自动配置存储库 此包将安装存储库配置以及工具 如 apt yum zypper 使用的 GPG 公钥来验证已签名的包和
  • 基于STM32CubeMX创建的STM32H743+DP83848+LWIP网络通信程序调试_20221127算是胎教级教程了

    目录 目的 编写一个可以稳定连接到局域网的STM32网络通信程序 硬件和软件 具体步骤 1 利用STM32CubeMX建立Keil工程文件 2 在keil中修改代码和配置工程 3 代码烧录 功能验证 目的 编写一个可以稳定连接到局域网的ST
  • 关于xpath的安装

    1 xpath简介 使用xpath需要安装模块 pip install lxml 导入模块 from lxml import etree xpath是用来载xml中查找指定的元素 它是一种路径表达式 详细内容可在文档中查找 https de
  • linux中软链接的使用方法

    在 Linux 中的连结有两种 一种是类似 Windows 的快捷方式功能的档案 可以让你快速的链接到目标档案 或目彔 另一种则是透过文件系统的 inode 连结来产生新的文档名 而不是产生新档案 这种称为实体链接 hard link Ha
  • C++ std::Thread多线程和mutex锁通俗易懂

    记录学习过程 如有新的发现 随时补充 如有错误或补充 请各位大佬指正 一 前言 多线程有多种方式 std Thread boost Thread pthread Windows库等 本文只关注std Thread 可以跨平台运行 二 std
  • 已解决-NVIDIA安装程序失败-win10

    这个错误界面没截图 去别的地方盗过来一个 我的电脑显示cuda版本是11 0的 所以一直努力装11 0版本的 新电脑刚开始装的前几次还没问题 卸的次数多了报应就来了 一直报错 整的都快崩溃了 现在解决了 我装的是10 0版本的 把方法贴出来
  • 使用Docker伪分布式安装hadoop

    1 安装Docker Desktop 官网地址 2 下载linux内核更新包 安装好Docker重启之后 会自动提示安装它 官网地址 3 重启计算机后打开docker desktop 4 win r 打开 cmd窗口 5 拉取镜像 dock
  • 在linux服务器上进行VTM的cmake并进行编解码

    前不多言 直接进入主题 一 上传VTM源码至linux服务器端 源码压缩包可以去这个网站进行下载 二 上传后使用linux操作命令解压 unzip xxx zip 三 解压后进行cmake操作 输入命令行进行操作 第一步 进入至解压后的vt
  • git操作总结

    git操作总结 一 配置Git 1 配置用户信息 安装git后 第一件事是配置用户名和邮件地址 记录是谁对文件进行了修改 global命令运行一次 永久生效 git config global user name git config gl
  • pandas DataFrame.to_sql() 用法

    to sql 的语法如下 https pandas pydata org pandas docs stable reference api pandas DataFrame to sql html DataFrame to sql name
  • QT-子线程或自定义类操作访问主界面UI控件的几种方法

    前言 QT创建窗体工程 一般在MainWindow或Dialog类里可以直接通过ui指针访问控件 但是添加新的类后又如何访问呢 可以通过以下几种方式 1 将ui指针公开后直接访问 1 例如有个自己定义的类CustomClass 在自定义类里
  • autojs人像变换

    牙叔教程 简单易懂 产品简介 腾讯云神图 人像变换 Face Transformation 基于腾讯优图领先的人脸识别算法 提供人脸年龄变化 人脸性别转换等能力 用户上传照片即可得到实现男女性别切换 人脸变老 变年轻等效果 适用于社交娱乐