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文档, 最后才是群里问问
--- 牙叔教程


声明


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

相关文章
文本,vitepress如何插入图片,做背景图片的设计,Typora如何设置存放图片的位置
文本,vitepress如何插入图片,做背景图片的设计,Typora如何设置存放图片的位置
|
5月前
404彩色文字页源码下载
404彩色文字页源码下载
27 2
404彩色文字页源码下载
|
5月前
|
前端开发 小程序
uniapp 将标题背景更换背景图片 完美解决(附加源码+实现效果图)
uniapp 将标题背景更换背景图片 完美解决(附加源码+实现效果图)
778 0
CKEditor5 支持 WPS 贴贴文字图片,默认贴贴进入空白空格
CKEditor5 支持 WPS 贴贴文字图片,默认贴贴进入空白空格
338 0
|
5月前
|
计算机视觉
Markdown编辑器常用颜色背景指南(附颜色与代码展示,cv即可用)
Markdown编辑器常用颜色背景指南(附颜色与代码展示,cv即可用)
|
移动开发 前端开发 HTML5
前端 HTML5 Svg 画板(支持视频、图片上涂鸦,支持缩放、修改、颜色、复选...)
前端 HTML5 Svg 画板(支持视频、图片上涂鸦,支持缩放、修改、颜色、复选...)
231 0
Pycharm的相关配置:改字体样式和大小、更改图片背景、更改控制台输出的字体颜色
Pycharm的相关配置:改字体样式和大小、更改图片背景、更改控制台输出的字体颜色
Pycharm的相关配置:改字体样式和大小、更改图片背景、更改控制台输出的字体颜色
|
iOS开发
iOS开发-改变图片的颜色
iOS开发-改变图片的颜色
416 0
|
开发者
图片与文字的修改| 学习笔记
快速学习图片与文字的修改。
108 0
图片与文字的修改| 学习笔记
|
iOS开发
iOS开发-同一段文字显示不同颜色
iOS开发-同一段文字显示不同颜色
99 0