autojs修改图片指定颜色

简介: 牙叔教程 简单易懂

牙叔教程 简单易懂


效果展示


这是一张AI生成的无版权的人物头像, 我们用它来测试效果



修改头发颜色



修改嘴唇颜色



代码


在图片上找颜色的时候, 一般都是近似颜色, 颜色有多个值,


因此, 颜色一定是一个数组

let outFilePath = "/sdcard/" + imgName;
console.time("修改颜色");
// let colorList = ["#1d262f", "#020609", "#463120", "#483832", "#644830"]; // 头发和眼睛
let colorList = ["#BB595d", "#d57871", "#ea8d88", "#a65c53", "#965044"]; // 嘴巴
let roiColor = "#ff0000";
let img = modifySpecifiedColor(inFilePath, outFilePath, colorList, roiColor);
console.timeEnd("修改颜色");
console.time("保存图片");
images.save(img, outFilePath);
console.timeEnd("保存图片");
img.recycle();
app.viewFile(outFilePath);


耗时

// Mat [ 1024*1024*CV_8UC3, isCont=true, isSubmat=false, nativeObj=0xb400007df923c8c0, dataAddr=0xb400007e163d50c0 ]
// rows: 1024 cols: 1024 channels: 3
// 读取图片: 27ms
// 修改颜色: 46ms
// 保存图片: 492ms


做脚本使用的测试图片



修改3个紫色的圆形为任意颜色, 紫色深浅不一:

耗时

Mat [ 600*600*CV_8UC3, isCont=true, isSubmat=false, nativeObj=0xb400007e258447c0, dataAddr=0xb400007df9084900 ] 
rows: 600 cols: 600 channels: 3 
读取图片: 6ms 
修改颜色: 14ms 
保存图片: 19ms 
rows: 600 cols: 600 channels: 3 
读取图片: 7ms 
修改颜色: 15ms 
保存图片: 23ms 
rows: 600 cols: 600 channels: 3 
读取图片: 7ms 
修改颜色: 15ms 
保存图片: 18ms 
rows: 600 cols: 600 channels: 3 
读取图片: 6ms 
修改颜色: 14ms 
保存图片: 22ms


备注


千万不要试图在autojs里遍历像素修改颜色, 遍历像素耗时

遍历像素
rows: 600 cols: 600 channels: 3
修改颜色: 3739ms
保存图片: 2ms
3739/14=224.2142857142857


整整差了224倍;


请对下面这种写法say no!!!


遍历像素

for (let i = 0; i < rows; i++) {
  for (let j = 0; j < cols; j++) {
    let data = img.get(i, j);
    for (let k = 0; k < ch; k++) {
      if ((data[0] === 255 || data[1] === 255) && data[2] === 0) {
        data[0] = 0;
        data[1] = 0;
        data[2] = 255;
      }
    }
    img.put(i, j, data);
  }
}


环境


手机: Mi 11 Pro


Android版本: 12


Autojs版本: 9.1.2


名人名言


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


声明


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

相关文章
|
5月前
|
前端开发
Typora使用技巧1 —— 更改字体、大小、颜色、背景色,设置图片默认左对齐,修改图片保存路径
Typora使用技巧1 —— 更改字体、大小、颜色、背景色,设置图片默认左对齐,修改图片保存路径
648 3
|
7月前
404彩色文字页源码下载
404彩色文字页源码下载
30 2
404彩色文字页源码下载
|
移动开发 前端开发 HTML5
前端 HTML5 Svg 画板(支持视频、图片上涂鸦,支持缩放、修改、颜色、复选...)
前端 HTML5 Svg 画板(支持视频、图片上涂鸦,支持缩放、修改、颜色、复选...)
253 0
|
编解码 iOS开发
图片,视频上传&视频内容旋转
图片,视频上传&视频内容旋转
Pycharm的相关配置:改字体样式和大小、更改图片背景、更改控制台输出的字体颜色
Pycharm的相关配置:改字体样式和大小、更改图片背景、更改控制台输出的字体颜色
Pycharm的相关配置:改字体样式和大小、更改图片背景、更改控制台输出的字体颜色
|
iOS开发
iOS开发-改变图片的颜色
iOS开发-改变图片的颜色
434 0
|
开发者
图片与文字的修改| 学习笔记
快速学习图片与文字的修改。
图片与文字的修改| 学习笔记
|
编解码 Android开发 计算机视觉
autojs查找轮廓相似的图片
autojs查找轮廓相似的图片
428 0
autojs之彩色按钮
作者: 牙叔 使用场景: 展示彩虹色的按钮
894 0
autojs之彩色按钮
|
iOS开发
iOS开发-同一段文字显示不同颜色
iOS开发-同一段文字显示不同颜色
106 0