Autojs6-找字返回坐标

使用Autojs6找文字并点击
示例:
OCRFindCoord(0,982,1080,712,"看视频");

代码如下:

for(i=0;i<15;i++)
{
Button=OCRFindCoord(0,982,1080,712,"看视频");
if(Button==null)
{
sleep(1000);
}
else
{
click(Button[0],Button[1]);
//执行你的代码
break;
}
}
 
function OCRFindCoord(x,y,w,h,word)
{
    if (!requestScreenCapture())
        {
        log("请求截图失败");
        exit();
        }
        else
        {
        log("请求截图成功");
        }
 
    let rawimg = captureScreen();
    log("截图成功");
    //ROI区域(x,y,宽,高)
    let img = images.clip(rawimg,x,y,w,h);
    const Predictor = com.baidu.paddle.lite.ocr.Predictor;
    // 指定是否用精简版模型 速度较快
    let useSlim = false;
    // 创建检测器
    let predictor = new Predictor();
    // predictor.cpuThreadNum = 4 //可以自定义使用CPU的线程数
    // predictor.checkModelLoaded = false // 可以自定义是否需要校验模型是否成功加载 默认开启 使用内置Base64图片进行校验 识别测试文本来校验模型是否加载成功
    // 初始化模型 首次运行时会比较耗时
    let loading = threads.disposable();
    // 建议在新线程中初始化模型
    threads.start(function () {
        loading.setAndNotify(predictor.init(context, useSlim));
        // loading.setAndNotify(predictor.init(context)) 为默认不使用精简版
        // 内置默认 modelPath 为 models/ocr_v3_for_cpu,初始化自定义模型请写绝对路径否则无法获取到
        // 内置默认 labelPath 为 labels/ppocr_keys_v1.txt
        // let modelPath = files.path('./models/customize') // 指定自定义模型路径
        // let labelPath = files.path('./models/customize') // 指定自定义label路径
        // 使用自定义模型时det rec cls三个模型文件名称需要手动指定
        // predictor.detModelFilename = 'det_opt.nb'
        // predictor.recModelFilename = 'rec_opt.nb'
        // predictor.clsModelFilename = 'cls_opt.nb'
        // loading.setAndNotify(predictor.init(context, modelPath, labelPath))
    });
    let loadSuccess = loading.blockedGet();
    //log(`加载模型结果:${loadSuccess}`);
    let start = new Date();
    let results = predictor.runOcr(img.getBitmap());
    let OcrCoord=null;
    if(results&&results.length>0)
    {
    for(let i = 0;i<results.length;i++)
    {
        if (results[i].label==word)
        {
           button=results[i].bounds;
           OcrCoord=[Math.floor(x+button.left+(button.right-button.left)/2),Math.floor(y+button.top+(button.bottom-button.top)/2)];
           break;
    }
    }}
    //log(OcrResult);
    return OcrCoord;
    // 释放模型 用于释放native内存 非必需
    // predictor.releaseModel()
 
    // 回收图片
    rawimg.recycle();
    img.recycle();
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数据服务生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值