注册 登录
发贴工具
查看: 19|回复: 0
打印 上一主题 下一主题

[24小时收录超级好的网站] loadDex 加载插件和TomatoOCR实例演示

[复制链接]

2316

主题

2364

帖子

1万

积分

积分
14102
跳转到指定楼层
楼主

说明:可以使用安卓studio 开发出apk,jar,或者dex使用此方法加载模块,



loadDex 加载插件和TomatoOCR实例演示 群发软件发帖工具

loadDex 加载插件和TomatoOCR实例演示 群发软件发帖工具
注意:插件直接放到插件文件夹中然后上传到手机
英文方法: loadDex(plugin),加载插件到系统

参数:
plugin:插件名称例如导入的插件为 p1.dex,则参数名就填写 loadPlugin(‘p1.dex’)

案例:

//导入dex模块
rhino.loadDex('p1.dex')

//导入apk模块
rhino.loadDex('demo.apk')

importClass 导入插件中的类

方法说明:通过这个方法可以导入插件里编写好的类
英文方法:importClass(class);
中文方法:导入类(类地址,类别名);
参数:
class:类地址 例如 com.autoapp.pluginsdemo.demo

案例:

//导入插件文件
rhino.loadDex('demo.apk')
//如果需要引用多个apk 需要加上类导入
rhino.loadClass("com.autoapp.pluginsdemo.demo")
//引用类
importClass(com.autoapp.pluginsdemo.demo);
var demo1=new demo();
printl(demo1.hello());

使用方法:
1.下载
链接: https://www.123pan.com/s/NiUnjv-V8sg3.html
提取码: qhbz

2.使用以下代码识别OCR

//加载插件

try{
     rhino.loadDex('TomatoOCR.apk')
     sleep.second(1);
     //导入类
     rhino.loadClass("com.tomato.ocr.aw.OCRApi")
     importClass(com.tomato.ocr.aw.OCRApi);
}catch(e){
     rhino.clearDex();
     rhino.loadDex('TomatoOCR.apk')
     sleep.second(1);
     importClass(com.tomato.ocr.aw.OCRApi)
}




//初始化
var ocr= new OCRApi();
ocr.setContext(context);

//截图和识别
var img=screen.screenShot(screen.getScreenWidth()/2,screen.getScreenHeight()/2,100)
printl(img)
var res=ocr.ocrBase64(img.toBase64(),-1);
printl(res)

以下是网友提供的封装案例

复制var TM = {};


/*================================== ocr类 ==================================*/
//加载插件
//rhino.loadDex('TomatoOCR.apk',"armeabi-v7a")
rhino.loadDex('TomatoOCR.apk')
//导入类
try {
  //多插件调用必须导入类
  rhino.loadClass('com.tomato.ocr.aw.OCRApi');
  importClass(com.tomato.ocr.aw.OCRApi)
} catch (error) {
  FZ.printll(error)
}


var ocr = new OCRApi();

let rec_type = "ch-3.0";
//注:ch、ch-2.0、ch-3.0版可切换使用,对部分场景可适当调整
//-- "ch":普通中英文识别,1.0版模型
//-- "ch-2.0":普通中英文识别,2.0版模型
//-- "ch-3.0":普通中英文识别,3.0版模型
//-- "cht":繁体,"japan":日语,"korean":韩语
ocr.setContext(context, rec_type);

// 试用版license从群中获取或者网盘中获取
let license = "自己找作者获取"
let flag = ocr.setLicense(license);
//printl(flag)
// flag= -1: 无效license
// flag= 0 : 过期license
// flag= 1 或 到期日期 : 试用license或正式license

ocr.setDetBoxType("rect")  // 调整检测模型检测文本参数- 默认"rect": 由于手机上截图文本均为矩形文本,从该版本之后均改为rect,"quad":可准确检测倾斜文本
ocr.setDetUnclipRatio(1.9)  // 调整检测模型检测文本参数 - 默认1.9: 值范围1.6-2.5之间
ocr.setRecScoreThreshold(0.3)  // 识别得分过滤 - 默认0.1,值范围0.1-0.9之间
ocr.setReturnType("json")
// 返回类型 - 默认"json": 包含得分、坐标和文字;
//"text":纯文字;
//"num":纯数字;
//自定义输入想要返回的文本:".¥1234567890",仅只返回这些内容

var type = 3;
// type 可传可不传
// type=0 : 只检测
// type=1 : 方向分类 + 识别
// type=2 : 只识别
// type=3 : 检测 + 识别

// 只检测文字位置:type=0
// 全屏识别: type=3或者不传type
// 截取单行文字识别:type=1或者type=2
/*================================== ocr类 ==================================*/

/*================================== ocr封装 ==================================*/
// tmstr=""    识别的文字
// tmsize=[]    识别百分比区域
// tmclick=true/false   是否点击
// tmcoor1, tmcoor2   偏移坐标范围
// tmslee     点击后休息时间
TM.tmocr识别 = function (tmstr, tmsize, tmclick, tmcoor1, tmcoor2, tmslee) {
  //四舍五入取整,百分比坐标转真实坐标
  var tma = Math.round(tmsize[0] * wdh)
  var tmb = Math.round(tmsize[1] * hgt)
  //var tmc = Math.round(tmsize[2] * wdh)
  //var tmd = Math.round(tmsize[3] * hgt)
  //printl(tmsize[0])
  //printl(tma)
  var img0 = screen.screenShotFull()
  sleep.millisecond(10)
  //百分比裁剪
  var img = img0.cutImagePercent(tmsize[0], tmsize[1], tmsize[2], tmsize[3])
  sleep.millisecond(10)
  //var img = screen.screenShot(screen.getScreenWidth() / 2, screen.getScreenHeight() / 2, 100)
  var result3 = ocr.ocrBase64(img.toBase64(), type);
  //printl(result3)
  try {
    if (result3 != "") {
      var result3 = JSON.parse(result3)
      var point = this.findStrCenter(result3, tmstr)//识别
      //printl(point[0], point[1])
      if (point[0] >= 0) {
        FZ.printll(tmstr)
        var tme = point[0] + tma
        var tmf = point[1] + tmb
        printl(tme, tmf)
        if (tmclick == true) {
          hid.click(tme + rand.randNumber(tmcoor1, tmcoor2), tmf + rand.randNumber(tmcoor1, tmcoor2))
          sleep.millisecond(tmslee)
        }

        img0.recycle()
        img.recycle()
        return true
      } else {

        img0.recycle()
        img.recycle()
        return false
      }
    }
  } catch (err) {
    printl(err)
  }
}

//区域找字返回坐标
TM.tmocr识别坐标 = function (tmstr, tmsize) {
  //四舍五入取整,百分比坐标转真实坐标
  var tma = Math.round(tmsize[0] * wdh)
  var tmb = Math.round(tmsize[1] * hgt)

  var img0 = screen.screenShotFull()
    sleep.millisecond(10)
    //百分比裁剪
    var img = img0.cutImagePercent(tmsize[0], tmsize[1], tmsize[2], tmsize[3])
    sleep.millisecond(10)
    //var img = screen.screenShot(screen.getScreenWidth() / 2, screen.getScreenHeight() / 2, 100)
    var result3 = ocr.ocrBase64(img.toBase64(), type);
    //printl(result3)
    try {
        if (result3 != "") {
            var result3 = JSON.parse(result3)
            var point = this.findStrCenter(result3, tmstr)//识别
            //printl(point[0], point[1])
            if (point[0] >= 0) {
                FZ.printll(tmstr)
                var tme = point[0] + tma
                var tmf = point[1] + tmb
                printl(tme, tmf)
                var poin = [tme, tmf]

                img0.recycle()
                img.recycle()
                return poin
            } else {

                img0.recycle()
                img.recycle()
                return false
            }
        }
    } catch (err) {
        printl(err)
    }
}


TM.findStrCenter = function (result_list, data) {
    all_result = []
    for (let i = 0; i < result_list.length; i++) {
        var words = result_list["words"]
        var location = result_list["location"]
        var pos = words.indexOf(data);
        if (pos >= 0) {
            let w_len = words.length
            let d_len = data.length

            let x1 = location[0][0]
            let y1 = location[0][1]
            let x2 = location[2][0]
            let y2 = location[2][1]

            let x = Math.floor((x2 - x1) / w_len * (d_len + 2 * pos) / 2 + x1)
            let y = Math.floor((y2 - y1) / 2 + y1)

            return [x, y]
        }
    }
    return [-1, -1]
}

//内存释放
//ocr.end()

/*================================== ocr封装 ==================================*/


untoAIWROK软件根据文本和类名查找并点击第一个Facebook节点nextAIWROK软件无障碍获取当前activity地址
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关导读了
    采集亚马逊正版群发工具有没有?
    Apr.20旅行X心语今天来说说YYPOST新功能的一个灵活用法,采集亚马逊商品信息,并且获得排名的软件,亚马逊现在越来越多客户做,淘宝的水是越来越清了,以前做电商的客户,现在都转战到外国,最赚钱的要数一些客户往亚马逊里堆了吧,拿我这个YYPOST的客户,最多的是采集,分析排名,刷价格,刷数量,改价,刷访问量等等技术

    企业发展B2B网站有什么东东软件可以发呢
    标题企业发展网B2B软件,现在虽然B2B网站收录不错,可愁的是心急的人们,他们太想一口吃撑胖子了,发帖宣传虽然不能像佛系那样淡定,但也不能像跑火车那般急躁对待,自己内容不收录,完全是自己操作内容问题,可以参考一下别人的内容是怎么弄的,然后自己要试着转变,而且收录这个内容,常常会变化的,不是一种规则就吃到老

    搜房天下房聊软件哪一个好呢
    本帖最后由 发帖软件 于 2019-5-22 16:15 编辑 2搜房天下群发房聊信息软件,开始本来打算做58同城的,但发一个就要一次点触验证码,这就让人没有感觉到存在的价值了吧,都是卖二手房和新房的搜房天下倒是可以发即时聊天信息,也没有发现他这个网站有啥子限制,登陆一个搜房天下账号,然后采集回来分类列表的网址,然后就一

    大家坛有没有好用的群发工具下载呢
    当你的笑容给我礼貌的招呼,大家坛全自动发帖软件,宣传推广是一场持久战,总是有一些人把软件用了一天,或是几个小时,就觉得自己付出太多了,那加进来的粉丝,或是流量,应该是和宣传多少成正比的,其实没有这么便宜的事,就像很多阅读量超过一百万的视频,或是电影,真正会在屏幕打赏的人不会超过三千,真正大额打赏给主

    群发正版软件中国塑料网
    中国塑料网群发软件YYPOST脚本下载地址,这个网站会有一个很奇怪的问题就是你在首页登陆无半个验证码,但在登陆网址登陆就会有一个验证码,所以我们灵活一些,在首页登陆就不用输入验证码了哈。网站秒收录比较高,但发的都是五金和建筑行业,先前有很多人都是发土建工程的大公司操作的,现在这个网站专为那个行业诞生的吧。

    OpenStreetMap网站正版2019年发帖工具下载
    本帖最后由 发帖软件 于 2019-5-21 11:13 编辑 OpenStreetMap网站全自动群发,OpenStreetMapOpenStreetMap(简称OSM,中文是公开地图)是一个网上地图协作计划,目标是创造一个内容自由且能让所有人编辑的世界地图。有的人编辑地图然后等收录,有的人发日志等收录,我们这里也是利用地图日志做为宣传的目标,简单的脚本理

    搜房天下全自动收短信全自动识别验证码注册账号软件
    房天下自动注册机,这个脚本是前几天发房聊的脚本廷伸品种,这个脚本能做到自动注册账号,自动保存账号,自动发房聊的效果,不过今天我们主要说一说怎么注册账号写脚本吧,这个搜房天天下的账号,可以发提问,可以发房聊,发论坛,发博客,还有发个人中心页都是有秒收的效果的,这样就省去了去买号,去乱花钱的效果了吧,而

    企业邮箱安卓端有什么APP软件可以发的呢
    请输入标题企业邮箱安卓发发送邮箱脚本,这个脚本是利用企业邮箱进行群发的,全程是一种模拟手工操作的过程,所以封号是很少的,而且企业邮箱群发到普通QQ邮箱不容易进垃圾箱中的,所以这个脚本也是这样的原理,不过最好是利用一些多开器,登陆多点的QQ邮箱账号会比较流畅一些,然后用软件一个一个的切换APP进行群发邮件会

    头条留评论软件有没有好用的呢?
    今天整一个今日头条留言软件,对于留言YYPOST是优势是比较大的存在,因为他往往专注一些下拉定位的优点,像今日头条这样,还是需要一些特殊下拉定位的,因为他新闻有长有短,有图有视频的,所以综合起来定位是比较难的,如果用POST也不是很轻松可以破解他的加密参数。这个脚本也是有一个不好的地方就是换号会比较麻烦,您电

    单网页生成神器
    最近新技术,网页生成机占领了整个网络的半壁江山,效果很疯狂,虽然不知道能持续多久,作为开发软件的领头者,一直在找收录的方法,一直在努力创新着,一直被人模仿,却从没有被超越过,这个网页生成机,已经出来有一段时间了,一直没有拿出来分享,醉过醉过,它是利用的一些小小收录漏洞整的,您最好用一些老站域名,进行

关闭
快速回复 返回列表 返回顶部
本站自动发贴软件,是现在最流行的做脚本软件,这种发贴工具,不但发贴收录快,而且抢占好的先机,完全自由编辑,实现针对性群发模拟操作,软件可以顶贴,也可以发贴,可以兼容支持Discuz、PHPWind、Dvbbs三大主流论坛,有手机验证码收件,邮件收发的功能,支持验证码识别,注册问题识别,多线程任务,自动上传头像,自动激活注册邮件,兼容防注册插件,本站软件原创正版,更新效率最快的原创软件。 『网络推广软件』『自动发帖软件』『 自动发帖