autojs开发美团自动抢单脚本+百度PaddleOCR识别,附字库源码分享!

您所在的位置:网站首页 美团抢单插件怎么用的 autojs开发美团自动抢单脚本+百度PaddleOCR识别,附字库源码分享!

autojs开发美团自动抢单脚本+百度PaddleOCR识别,附字库源码分享!

2024-03-17 02:57| 来源: 网络整理| 查看: 265

我们是用百度PaddleOCR插件实现美团上订单的数字价格识别,然后借用autojs对识别到的价格数字进行判断,符合数字条件比如,PaddleOCR识别到的订单价格为5,那么我们在AUTOJS上的价格为3就会触发抢单,其实这个操作非常方便,比人工快好几倍,几乎是毫秒及反应,我这边本地做了具体的测试,效果可以,然后这边把源码直接分享过来了,感兴趣的可以下载尝试奥。

字库源码:

//比较文字

var 数1="/storage/emulated/0/脚本1.png"var 数2="/storage/emulated/0/脚本/2.png"var 数3="/storage/emulated/0/脚本/3.png"var 数4="/storage/emulated/0/脚本/4.png"var 数5="/storage/emulated/0/脚本/5.png"var 数6="/storage/emulated/0/脚本/6.png"var 数7="/storage/emulated/0/脚本/7.png"var 数8="/storage/emulated/0/脚本/8.png"var 数9="/storage/emulated/0/脚本/9.png"var 数点="/storage/emulated/0/脚本/点.png"

arr = [];内容=""总数字 = new Array(数1,数2,数3,数4,数5,数6,数7,数8,数9,数点);//toastLog("数组"+总数字.length);//toastLog("数组"+总数字[0]);

function 对比(图片1){for (let b = 0; b < 总数字.length; b++) {

//images.save(img, "/sdcard/" +a + ".png"); var 本地图=images.read(图片1)

//toastLog(总数字[0])var 字库图=images.read(总数字[b])

//images.save(字库图, "/sdcard/字库"+b+".png")

var 反馈=images.getSimilarity(本地图, 字库图, { "type": "PNSR"})

if(反馈==0){

arr.push(总数字[b]);

}

// toastLog(总数字.length);} }//比较文字

//以上为分割图片

图片 = images.read("/storage/emulated/0/脚本/价格.png");识别()图片.recycle()

function 识别() { let w = 图片.getWidth() let h = 图片.getHeight() let color = images.pixel(图片, 0, 0); let xsh = images.interval(图片, color, 60) //images.save(xsh,"/sdcard/精灵.jpg"); let bitmap = xsh.getBitmap(); let ysz = util.java.array("int", w * h); bitmap.getPixels(ysz, 0, w, 0, 0, w, h); let bjs = ysz[0] //背景色 let jl = [] //记录 let jz = [] //记字 for (let x = 0; x < w; x++) { i = 0 for (let y = 0; y < h; y++) { let ys = ysz[y * w + x] if (ys != bjs) { log(ys) jz.push({ x: x, y: y }) i++ } } if (i == 0 && jz.length > 0) { jl.push(jz) jz = [] } } let jzb = [] //记坐标 for (let i = 0; i < jl.length; i++) { let sz = jl[i] let x = sz[0].x, y = sz[0].y, w = sz[0].x, h = sz[0].y for (var z = 1; z < sz.length; z++) { if (sz[z].x < x) { x = sz[z].x } if (sz[z].x > w) { w = sz[z].x } if (sz[z].y < y) { y = sz[z].y } if (sz[z].y > h) { h = sz[z].y } } jzb.push({ x: x, y: y, w: w, h: h }) } for (let i = 0; i < jzb.length; i++) { img = images.clip(图片, jzb[i].x, jzb[i].y, jzb[i].w-jzb[i].x, jzb[i].h-jzb[i].y) images.save(img, "/sdcard/" +i + ".png");对比("/sdcard/" +i + ".png") img.recycle()

} xsh.recycle()

//这里为识别文字 for (let i = 0; i < arr.length; i++) {

内容=内容+arr[i]

}

//这里为识别文字

//这里为读取价格

//这里为读取价格

}

//内容=内容.replace('点','.');

var str =内容var 内容 = str.replace(/storage/g, '');var 内容 = 内容.replace(/emulated/g, '');var 内容 = 内容.replace(//0/g, '');var 内容 = 内容.replace(///g, '');var 内容 = 内容.replace(/.jpg/g, '');

var 内容 = 内容.replace(/脚本/g, '');//var result = str.replace(///g, '');//console.log('result:' + 内容);

// 输出 result:AbcAbcAbc

toastLog(内容)

//以上为分割图片

价格判断+自动滑动源码:

"ui";

ui.layout(

);

ui.激活.click(() => {

var 机器码=device.getAndroidId()var 最终机器码=机器码+"1995"+"www.xkrj5.com"//importClass(java.security.MessageDigest);function md5(string) { return java.math.BigInteger(1,java.security.MessageDigest.getInstance("MD5") .digest(java.lang.String(string).getBytes())).toString(16);}

var md5=md5(最终机器码)

setClip(md5);//复制当前的授权码//toastLog(md5);var 编辑框=ui.jhm.getText();

if(编辑框==md5){toastLog("恭喜您!授权成功");

var 返回= files.create("/sdcard/1995/"); // toastLog(返回)

}else{toastLog("授权失败,请填写正确的授权码")}

});

ui.串号.click(() => {

var 串号=device.getAndroidId()

toastLog("当前机器码: "+串号+" 已复制到剪贴板,请发送给作者");setClip(串号);

});

ui.近距离.click(() => {

//全局点击刷新坐标x坐标=225y坐标=1296初始化=1//全局点击刷新坐

//全局悬浮窗位置宽=520高=450悬x=600悬y=1800

//全局悬浮窗位置//ocr = $plugins.load("com.hraps.ocr")

var 返回= files.create("/sdcard/1995/"); if(返回==false){

console.setSize(宽,高);console.setPosition(悬x, 悬y);

console.log('感谢骑手选择星辰抢单辅助v1.2免root稳定版!只抢高价单');

console.show()

app.launchApp("VMOS Pro");

threads.start(进入初始化)

暂停=1

arr=[1];threads.start(距离)

}

});

ui.启动.click(() => {

//全局点击刷新坐标x坐标=342y坐标=1976初始化=1//全局点击刷新坐

//全局悬浮窗位置宽=520高=450悬x=600悬y=1800

//全局悬浮窗位置//ocr = $plugins.load("com.hraps.ocr")

var 返回= files.create("/sdcard/1995/"); if(返回==false){

console.setSize(宽,高);console.setPosition(悬x, 悬y);

console.log('感谢骑手选择星辰抢单辅助v1.2免root稳定版!只抢高价单');

console.show()

app.launchApp("VMOS Pro");

threads.start(进入初始化)

暂停=1

arr=[1];threads.start(action)

}else{

toastLog("很抱歉!当前手机设备没有授权")}

});

//初始化function 进入初始化(){

//悬浮窗停止脚本

var window = floaty.window( );

window.exitOnClose();window.setPosition(悬x, 悬y);

window.action.click(() => {

//threads.start(zta)//toastLog("已暂停,如需重新检测订单,请重启检测程序,一定记得开启无障碍服务奥!");//engines.stopAll();

if (window.action.getText() == '点我暂停检测') { // engines.execScriptFile(action); window.action.setText('继续运行');console.log("已进行暂停脚本运行");

暂停=9999999999999 } else {

if (window.action.getText() == '继续运行') { // engines.execScriptFile(action);暂停=0threads.start(action)

console.log("已重启订单检测服务"); window.action.setText('点我暂停检测'); }

}

});

setInterval(() => {}, 1000);

//悬浮窗停止脚本

requestScreenCapture();

}

//初始化

//价格识别本地

function 价格识别(){

图片 = images.read("/storage/emulated/0/脚本/wx.png");识别()图片.recycle()

function 识别() { let w = 图片.getWidth() let h = 图片.getHeight() let color = images.pixel(图片, 0, 0); let xsh = images.interval(图片, color, 60) //images.save(xsh,"/sdcard/精灵.jpg"); let bitmap = xsh.getBitmap(); let ysz = util.java.array("int", w * h); bitmap.getPixels(ysz, 0, w, 0, 0, w, h); let bjs = ysz[0] //背景色 let jl = [] //记录 let jz = [] //记字 for (let x = 0; x < w; x++) { i = 0 for (let y = 0; y < h; y++) { let ys = ysz[y * w + x] if (ys != bjs) { log(ys) jz.push({ x: x, y: y }) i++ } } if (i == 0 && jz.length > 0) { jl.push(jz) jz = [] } } let jzb = [] //记坐标 for (let i = 0; i < jl.length; i++) { let sz = jl[i] let x = sz[0].x, y = sz[0].y, w = sz[0].x, h = sz[0].y for (var z = 1; z < sz.length; z++) { if (sz[z].x < x) { x = sz[z].x } if (sz[z].x > w) { w = sz[z].x } if (sz[z].y < y) { y = sz[z].y } if (sz[z].y > h) { h = sz[z].y } } jzb.push({ x: x, y: y, w: w, h: h }) } for (let i = 0; i < jzb.length; i++) { let img = images.clip(图片, jzb[i].x, jzb[i].y, jzb[i].w-jzb[i].x, jzb[i].h-jzb[i].y) images.save(img, "/sdcard/脚本/分割/价格" + i + ".jpg"); img.recycle() } // xsh.recycle() //判断抢单var arr = files.listDir("/sdcard/脚本/分割");

var 数量=arr.lengthtoast(数量); if(数量>=5){toast("大于");

//进入抢单

//进入抢单}else{

toast("小于");

//价格不符合

//价格不符合}}}

//价格识别本地

//识别价格

//价格识别

//检测距离

function 距离(){

while(true){

sleep(暂停);

var src = images.read("/storage/emulated/0/脚本/xq.png");var xq = findImage(captureScreen(), src) //如果找到滑动图标就循环检测距离

//检测到了if(xq!=null){ console.log("zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz")var src = images.read("/storage/emulated/0/脚本/huadong.png");var hd = findImage(captureScreen(), src, { region: [0,xq.y,device.width,500], threshold: 0.8});

if(hd!=null){

var suiji=Math.ceil(Math.random()*80);//生swipe(hd.x,hd.y,1000,hd.y,parseInt(滑动速度)+parseInt(suiji))sleep(2000);}if(hd==null){click(357,1881)}//检测到了

}else{console.log("m")click(357,1881)

}

}}//检测距离

//剪辑价格

function action(){

//导入插件//ocr = $plugins.load("com.hraps.ocr")

sleep(5000);

本地 =ui.单1.isChecked() 百度= ui.单2.isChecked()

var 接单延迟=ui.huadongyanchi.getText();

var 激活码=ui.jhm.getText();

var 最低价格=ui.jiage.getText();

var 延迟时间=ui.shijian.getText();var 滑动速度=ui.huadonqd.getText();

toastLog("准备初始化数据,启动软件");

sleep(500);

//全局检测义while(true){

sleep(暂停);

}}



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3