| |  |  |  |  |  | AIWROK系统安卓找字OCR___方法小结总汇集合   复制代码/*
🍎交流QQ群711841924群一,苹果内测群:528816639  
🍎🔍找字OCR___方法小结总汇集合  
*/  
//======================== 1. 基础文字查询方法 ========================//  
// 方法1:🔍findIncludeText 查询包含文字  
/*  
类别        详情说明  
方法功能        查询包含指定文字的内容(单目标匹配)  
方法签名        detect findIncludeText(String arg0)  
返回值        detect(识别到的目标对象)  
参数        - String arg0:需查询的文字内容  
*/  
// 示例:查询包含“确认”的文字  
let detectObj = new ocrResult().findIncludeText("确认");  
// 方法2:🔍findIncludeTexts 查询包含文字(多目标)  
/*  
类别        详情说明  
方法功能        查询包含指定文字的多个结果(返回 detect 数组)  
方法签名        detect[] findIncludeTexts(String arg0)  
返回值        detect[](识别到的目标对象数组)  
参数        - String arg0:需查询的文字内容  
*/  
// 示例:查询所有包含“按钮”的文字  
let detectArray = new ocrResult().findIncludeTexts("按钮");  
// 方法3:🔍findSimText 模糊查询(近似匹配)  
/*  
类别        详情说明  
方法功能        模糊匹配指定文字(支持近似文本识别)  
方法签名        detect findSimText(String arg0)  
返回值        detect(识别到的模糊匹配目标)  
参数        - String arg0:需模糊查询的文字内容  
*/  
// 示例:全屏识别后模糊查找“开心收下”  
let img = screen.screenShotFull();  
let ocrres = img.MLKitOcr('zh');  
let detectObj = ocrres.findSimText("开心收下");  
detectObj.click();  
// 方法4:🔍findText 精确查询文字  
/*  
类别        详情说明  
方法功能        精确查询指定文字(严格匹配)  
方法签名        detect findText(String arg0)  
返回值        detect(识别到的精确目标)  
参数        - String arg0:需精确查询的文字内容  
*/  
// 示例:全屏识别后精确查找“开心收下”  
let img = screen.screenShotFull();  
let ocrres = img.MLKitOcr('zh');  
let detectObj = ocrres.findText("开心收下");  
detectObj.click();  
// 方法5:🔍getAllDetect 获取所有识别目标  
/*  
类别        详情说明  
方法功能        获取 OCR 识别到的所有目标(返回 detect 数组)  
方法签名        detect[] getAllDetect()  
返回值        detect[](所有识别目标的数组)  
参数        无  
*/  
// 示例:获取当前 OCR 结果的所有目标  
let allDetects = new ocrResult().getAllDetect();  
// 方法6:🔍getAllString 获取所有识别文字  
/*  
类别        详情说明  
方法功能        获取 OCR 识别到的所有文字(拼接为字符串返回)  
方法签名        String getAllString()  
返回值        String(所有识别文字的拼接结果)  
参数        无  
*/  
// 示例:获取当前 OCR 结果的所有文字  
let allText = new ocrResult().getAllString();  
print.log(allText);  
// 方法7:🔍getJson 获取 JSON 格式结果(ocrResult 实例方法)  
/*  
类别        详情说明  
方法功能        获取 OCR 识别结果的 JSON 格式数据(字符串形式)  
方法签名        String getJson()  
返回值        String(OCR 识别结果的 JSON 字符串)  
参数        无  
*/  
// 示例:获取并打印 OCR 结果的 JSON 数据  
let ocrResult = new ocrResult();  
let jsonResult = ocrResult.getJson();  
print.log(jsonResult);  
// 方法8:🔍getJsonString 获取 JSON 字符串(冗余方法,按需使用)  
/*  
类别        详情说明  
方法功能        获取 OCR 识别结果的 JSON 字符串(与 getJson 功能一致,可能为别名)  
方法签名        String getJsonString()  
返回值        String(OCR 识别结果的 JSON 字符串)  
参数        无  
*/  
// 示例:获取 JSON 字符串  
let jsonStr = new ocrResult().getJsonString();  
//======================== 2. 核心识别方法 ========================//  
// 方法9:🔍MLKitOcr 文字识别(Google MLKit 引擎)  
/*  
类别        详情说明  
方法功能        调用 Google MLKit 进行文字识别  
方法签名        ocrResult MLKitOcr(String arg0, int arg1)  
返回值        ocrResult(OCR 识别结果对象)  
参数        - String arg0:识别语言(默认值:"zh",中文)  
        - int arg1:缩小倍数(默认值:2,即图像缩小为原来的 1/2)  
*/  
// 示例:全屏识别中文,缩小倍数为 2  
let ocrres = screen.MLKitOcr('zh', 2);  
// 方法10:🔍MLKitOcrRect 文字区域识别(MLKit + 区域裁剪)  
/*  
类别        详情说明  
方法功能        调用 Google MLKit 识别指定区域的文字(按百分比坐标)  
方法签名        ocrResult MLKitOcrRect(String arg0, double[] arg1)  
返回值        ocrResult(OCR 识别结果对象)  
参数        - String arg0:识别语言(默认值:"zh",中文)  
        - double[] arg1:识别区域的百分比坐标(格式:[x1, y1, x2, y2],示例 [0,0,1,1] 代表全区域)  
*/  
// 示例:识别屏幕上半区域的文字(百分比坐标 [0,0,1,0.5])  
let img = screen.screenShotFull();  
let ocrres = img.MLKitOcrRect('zh', [0,0,1,0.5]);  
// 方法11:🔍aiworkOCR awork 文字识别  
/*  
类别        详情说明  
方法功能        调用 awork 引擎进行文字识别(支持区域裁剪)  
方法签名        ocrResult aiworkOCR(int arg0, double[] arg1)  
返回值        ocrResult(OCR 识别结果对象)  
参数        - int arg0:识别尺寸(推荐值:640、320)  
        - double[] arg1:识别区域的百分比坐标(格式:[x1, y1, x2, y2],示例 [0,0,1,1] 代表全区域)  
*/  
// 示例:全屏识别,尺寸 640,查找并点击含“雷电”的目标  
let img = screen.screenShotFull();  
let ocrres = img.aiworkOCR(640, [0,0,1,1]);  
ocrres.findIncludeText("雷电").hidClick();  
// 方法12:🔍paddleOCR PaddleOCR 文字识别  
/*  
类别        详情说明  
方法功能        调用 PaddleOCR 引擎进行文字识别(支持区域裁剪)  
方法签名        ocrResult paddleOCR(int arg0, double[] arg1)  
返回值        ocrResult(OCR 识别结果对象)  
参数        - int arg0:识别尺寸(推荐值:640、320)  
        - double[] arg1:识别区域的百分比坐标(格式:[x1, y1, x2, y2],示例 [0,0,1,1] 代表全区域)  
*/  
// 示例:全屏识别,尺寸 640,查找并点击含“雷电”的目标  
let img = screen.screenShotFull();  
let ocrres = img.paddleOCR(640, [0,0,1,1]);  
ocrres.findIncludeText("雷电").hidClick();  
//======================== 3. OpenCV 相关方法 ========================//  
// 方法13:🔍opencv.OCR 通过训练字库识别  
/*  
类别        详情说明  
方法功能        使用 OpenCV 训练的字库进行文字识别(需提前准备字库文件)  
方法签名        ocrResult OCR(Mat arg0, String arg1, double arg2, int arg3, double[] arg4)  
返回值        ocrResult(OCR 识别结果对象)  
参数        - Mat arg0:输入的图片对象(Mat 类型)  
        - String arg1:字库文件路径/名称(案例中传空字符串 "")  
        - double arg2:相似度阈值(案例中为 0,范围:0~1)  
        - int arg3:预期识别的文字数量(案例中为 0,即不限数量)  
        - double[] arg4:识别区域的百分比坐标(格式:[x1,y1,x2,y2],案例中传空数组 double[])  
*/  
// 示例:使用默认字库识别全区域文字  
let matImg = ...; // 假设已获取 Mat 类型图片  
opencv.OCR(matImg, "", 0, 0, []);  
// 方法14:🔍opencv.OCREx 基于 CV 文件的 OCR 识别  
/*  
类别        详情说明  
方法功能        通过指定 CV 文件名进行文字识别(需提前准备 CV 配置文件)  
方法签名        ocrResult OCREx(String arg0)  
返回值        ocrResult(OCR 识别结果对象)  
参数        - String arg0:CV 文件名(案例中传入空字符串 "")  
*/  
// 示例:使用空 CV 文件名识别(需确保配置正确)  
opencv.OCREx("");  
//======================== 4. TomatoOCR 完整实例演示 ========================//  
/*  
🍅 功能:TomatoOCR 引擎的完整调用示例(含初始化、识别、封装方法)  
步骤:  
1. 加载插件 → 2. 导入类 → 3. 初始化 OCR → 4. 封装识别方法 → 5. 调用识别  
注意:需自行获取 license,调整模型参数(如 rec_type、检测模型等)。  
*/  
var TM = {};  
// 1. 加载插件(根据设备架构调整,如 armeabi-v7a)  
rhino.loadDex('TomatoOCR.apk');  
// 2. 导入类(多插件调用需确保类加载)  
try {  
  rhino.loadClass('com.tomato.ocr.aw.OCRApi');  
  importClass(com.tomato.ocr.aw.OCRApi);  
} catch (error) {  
  FZ.printll(error);  
}  
// 3. 初始化 OCR  
var ocr = new OCRApi();  
let rec_type = "ch-3.0"; // 模型类型:ch/cht/japan/korean 等(3.0版为默认推荐)  
ocr.setContext(context, rec_type);  
// 4. 设置 license(需自行获取,试用版从群/网盘获取)  
let license = "自己找作者获取";  
let flag = ocr.setLicense(license);  
// flag 含义:-1(无效)、0(过期)、1/到期日期(有效)  
print.log("License 状态:" + flag);  
// 5. 调整识别参数(可选,按需修改)  
ocr.setDetBoxType("rect"); // 检测模型:rect(矩形文本,默认)/ quad(倾斜文本)  
ocr.setDetUnclipRatio(1.9); // 检测扩展系数(1.6~2.5 之间,默认1.9)  
ocr.setRecScoreThreshold(0.3); // 识别得分过滤(0.1~0.9 之间,默认0.3)  
ocr.setReturnType("json"); // 返回格式:json(默认,含坐标+文字+得分)/ text(纯文字)/ num(纯数字)  
var type = 3; // 识别模式:0(只检测)、1(方向分类+识别)、2(只识别)、3(检测+识别,默认)  
// 6. 封装识别方法(带点击、坐标返回功能)  
/**  
 * TM.tmocr识别:OCR 识别并可选点击目标  
 * @param {String} tmstr - 目标文字  
 * @param {Array} tmsize - 识别区域(百分比坐标 [x1,y1,x2,y2])  
 * @param {Boolean} tmclick - 是否点击目标  
 * @param {Number} tmcoor1 - 点击偏移最小值  
 * @param {Number} tmcoor2 - 点击偏移最大值  
 * @param {Number} tmslee - 点击后休眠时间(毫秒)  
 * @return {Boolean} 是否识别到目标  
 */  
TM.tmocr识别 = function (tmstr, tmsize, tmclick, tmcoor1, tmcoor2, tmslee) {  
  // 百分比坐标转真实屏幕坐标(wdh/hgt 需提前定义为屏幕宽高)  
  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 result3 = ocr.ocrBase64(img.toBase64(), type); // 调用 TomatoOCR 识别  
  try {  
    if (result3) {  
      var result3 = JSON.parse(result3); // 解析 JSON 结果  
      var point = this.findStrCenter(result3, tmstr); // 查找文字中心坐标  
      if (point[0] >= 0) { // 识别到目标  
        FZ.printll(`找到目标文字:${tmstr}`);  
        var tme = point[0] + tma; // 计算真实坐标  
        var tmf = point[1] + tmb;  
        if (tmclick) { // 若需点击  
          hid.click(  
            tme + rand.randNumber(tmcoor1, tmcoor2), // 横向偏移  
            tmf + rand.randNumber(tmcoor1, tmcoor2)  // 纵向偏移  
          );  
          sleep.millisecond(tmslee); // 点击后休眠  
        }  
        img0.recycle(); // 释放图片资源  
        img.recycle();  
        return true;  
      }  
    }  
  } catch (err) {  
    printl(`识别异常:${err}`);  
  }  
  img0.recycle();  
  img.recycle();  
  return false;  
};  
/**  
 * TM.tmocr识别坐标:OCR 识别并返回目标坐标  
 * @param {String} tmstr - 目标文字  
 * @param {Array} tmsize - 识别区域(百分比坐标 [x1,y1,x2,y2])  
 * @return {Array|null} 目标坐标 [x,y],未找到则返回 null  
 */  
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 result3 = ocr.ocrBase64(img.toBase64(), type);  
  try {  
    if (result3) {  
      var result3 = JSON.parse(result3);  
      var point = this.findStrCenter(result3, tmstr);  
      if (point[0] >= 0) {  
        FZ.printll(`找到目标文字:${tmstr}`);  
        var tme = point[0] + tma;  
        var tmf = point[1] + tmb;  
        img0.recycle();  
        img.recycle();  
        return [tme, tmf];  
      }  
    }  
  } catch (err) {  
    printl(`识别异常:${err}`);  
  }  
  img0.recycle();  
  img.recycle();  
  return null;  
};  
/**  
 * TM.findStrCenter:从 OCR 结果中查找文字中心坐标  
 * @param {Array} result_list - OCR 识别结果(JSON 解析后的数组,格式:[{words: "文本", location: [[x1,y1],[x2,y2],...]}])  
 * @param {String} data - 目标文字  
 * @return {Array} 中心坐标 [x,y],未找到则返回 [-1,-1]  
 */  
TM.findStrCenter = function (result_list, data) {  
  for (let i = 0; i < result_list.length; i++) {  
    var words = result_list[i]["words"];  
    var location = result_list[i]["location"];  
    if (words.includes(data)) { // 检查文字是否包含目标  
      let x1 = location[0][0];  
      let y1 = location[0][1];  
      let x2 = location[2][0];  
      let y2 = location[2][1];  
      // 计算文字中心坐标(适配多字符匹配)  
      let charIndex = words.indexOf(data);  
      let x = Math.floor(  
        (x2 - x1) / words.length * (data.length + 2 * charIndex) / 2 + x1  
      );  
      let y = Math.floor((y2 - y1) / 2 + y1);  
      return [x, y];  
    }  
  }  
  return [-1, -1];  
};  
// 7. 调用示例(需结合实际场景,以下为伪代码)  
// TM.tmocr识别("确认", [0,0,1,1], true, 5, 10, 1000); // 全屏识别“确认”并点击(带偏移)  
// 8. 内存释放(可选,结束时调用)  
// ocr.end();  
/*  
📌 关键说明:  
1. **环境依赖**:需提前定义 `wdh`(屏幕宽度)、`hgt`(屏幕高度)、`rand`(随机数工具)、`hid`(点击工具)。  
2. **模型切换**:`rec_type` 支持 `ch`(v1.0)、`ch-2.0`、`ch-3.0`(推荐)、`cht`(繁体)、`japan`(日语)等。  
3. **参数优化**:  
   - `setDetUnclipRatio`:值越大,检测区域越宽松(适合复杂排版)。  
   - `setRecScoreThreshold`:值越高,识别精度要求越严格(需平衡召回率)。  
4. **资源释放**:长时间运行需调用 `ocr.end()` 释放内存,避免泄漏。  
*/
findIncludeText查询包含文字 | 项目 | 详情 |  | 功能描述 | 查询包含文字 |  | 方法定义 | detect findIncludeText(String arg0) |  | 返回值 | detect |  | 参数 | String arg0 :需查询的文字内容 |  | 案例 | new ocrResult().findIncludeText('') | 
 🔍🔢findIncludeTexts查询包含文字多目标 | 项目 | 详情 |  | 功能描述 | 查询包含文字多目标,查询包含某个文字的多个结果,返回值为 detect 数组,数组元素类型是 detect 类型 |  | 方法定义 | detect[] findIncludeTexts(String arg0) |  | 返回值 | detect[] |  | 参数 | String arg0 :需查询的文字内容 |  | 案例 | new ocrResult().findIncludeTexts('') | 
 🔍🔢findSimilarText模糊查询 | 项目 | 详情 |  | 功能描述 | 模糊查询 |  | 方法定义 | detect findSimilarText(String arg0) |  | 返回值 | detect |  | 参数 | String arg0 :需进行模糊查询的文字内容 |  | 案例 | // 全屏截图 let img = screen.screenShotFull()// 中文(zh)识别 OCR let ocrres = img.MLKitOcr('zh');// 查找目标 let d = ocrres.findSimText("开心收下");// 点击目标 d.click(); | 
 🔍🔢findText查询文字 | 项目 | 详情 |  | 功能描述 | 查询文字 |  | 方法定义 | detect findText(String arg0) |  | 返回值 | detect |  | 参数 | String arg0 :语言(注:案例中实际传入文字内容,推测文档参数描述可能存在误差) |  | 案例 | // 全屏截图 let img = screen.screenShotFull() // 中文(zh)识别 OCR let ocrres = img.MLKitOcr('zh'); // 查找目标 let d = ocrres.findText("开心收下"); // 点击目标 d.click(); | 
 🔍🔢getAllDetect 获取所有目标 | 项目 | 详情 |  | 功能描述 | 获取所有目标 |  | 方法定义 | detect[] getAllDetect() |  | 返回值 | detect[] |  | 参数 | 无 |  | 案例 | new ocrResult().getAllDetect() | 
 🔍🔢getAllString 获取所有字符串 | 项目 | 详情 |  | 功能描述 | 获取所有字符串 |  | 方法定义 | String getAllString() |  | 返回值 | String |  | 参数 | 无 |  | 案例 | new ocrResult().getAllString() | 
 🔍🔢getJson 获取json对象 | 项目 | 详情 |  | 功能描述 | 获取 OCR 识别结果的 JSON 格式数据 |  | 方法定义 | String getJson() (ocrResult 类的实例方法) |  | 返回值 | String :OCR 识别结果的 JSON 字符串 |  | 参数 | 无 |  | 案例 | // 假设已获取OCR识别结果对象 let ocrResult = new ocrResult();// 获取JSON格式结果 let jsonResult = ocrResult.getJson();  printl(jsonResult); | 
 🔍🔢getJsonString 获取json字符串 | 项目
 | 详情
 |  | 功能描述
 | 获取 JSON 字符串形式的 OCR 识别结果
 |  | 方法定义
 | String getJsonString()(ocrResult
 类的实例方法)
 
 |  | 返回值
 | String
 |  | 参数
 | 无
 |  | 案例
 | let jsonStr = new ocrResult().getJsonString();
 | 
 🔍🔢MLKitOcr文字识别 | 项目 | 说明 |  | 功能 | 文字识别 |  | 方法签名 | ocrResult MLKitOcr(String arg0, int arg1) |  | 返回值 | ocrResult |  | 参数 1 | String arg0  ,语言(默认值:中文) |  | 参数 2 | int arg1  ,缩小倍数(默认值:2,即缩小一半) |  | 调用案例 | screen.MLKitOcr('zh', 2) | 
 🔍🔢MLKitOcrRect 文字区域识别 | 项目 | 详情 |  | 功能描述 | 文字区域识别 |  | 方法定义 | ocrResult MLKitOcrRect(String arg0, double[] arg1) |  | 返回值 | ocrResult |  | 参数 | - String arg0 :识别语言,默认值为 zh (中文)- double[] arg1
 :识别区域的百分比坐标,格式为 [x1, y1, x2, y2] (示例:[0,0,1,1]  代表全区域) |  | 案例 | let img = screen.screenShotFull(); // 全屏截图 let ocrres = img.MLKitOcrRect('zh', [0,0,1,1]); // 识别指定区域的文字 | 
 🔍🔢aiworkOCR awork文字识别 | 项目 | 详情 |  | 功能描述 | awork 文字识别 |  | 方法定义 | ocrResult aiworkOCR(int arg0, double[] arg1) |  | 返回值 | ocrResult |  | 参数 | - int arg0 :识别尺寸(推荐值:640、320)- double[] arg1
 :识别区域的百分比坐标(格式:[x1, y1, x2, y2] ,示例 [0,0,1,1]  代表全区域) |  | 案例 | let img = screen.screenShotFull(); // 全屏截图 let ocrres = img.aiworkOCR(640, [0,0,1,1]); // 调用 awork 文字识别 ocrres.findIncludeText("雷电").hidClick(); // 查找并点击含"雷电"的目标 | 
 🔍🔢paddleOCR paddle文字识别 | 项目 | 详情 |  | 功能描述 | paddle 文字识别 |  | 方法定义 | ocrResult paddleOCR(int arg0, double[] arg1) |  | 返回值 | ocrResult |  | 参数 | - int arg0 :识别尺寸(推荐值:640、320)- double[] arg1
 :识别区域的百分比坐标(格式为 [x1, y1, x2, y2] ,示例 [0,0,1,1]  代表全区域) |  | 案例 | let img = screen.screenShotFull(); // 全屏截图 let ocrres = img.paddleOCR(640, [0,0,1,1]); // 调用 paddle 文字识别 ocrres.findIncludeText("雷电").hidClick(); // 查找并点击含"雷电"的目标 | 
 🔍🔢opencv.OCR通过训练字库识别 OCR 文字 | 项目 | 详情 |  | 功能描述 | 通过训练字库识别 OCR 文字 |  | 方法定义 | ocrResult OCR(Mat arg0, String arg1, double arg2, int arg3, double[] arg4) |  | 返回值 | ocrResult |  | 参数 | - Mat arg0 :输入的图片对象(Mat  类型)- String arg1
 :字库文件(路径 / 名称,案例中传空字符串 "" )- double arg2
 :相似度阈值(案例中为 0 )- int arg3
 :预期识别的文字数量(案例中为 0 )- double[] arg4
 :识别区域的百分比坐标(格式 [x1,y1,x2,y2] ,案例中传空数组 double[] ) |  | 案例 | opencv.OCR(Mat, "", 0, 0, double[]); // 调用示例(字库、区域等参数按案例默认值传入) | 
 opencv基于 CV 文件的 OCR 识别(通过指定 CV 文件名进行文字识别) | 项目 | 详情 |  | 功能描述 | 基于 CV 文件的 OCR 识别(通过指定 CV 文件名进行文字识别) |  | 方法定义 | ocrResult OCREx(String arg0) (opencv  类的方法,案例中调用形式:opencv.OCREx("") ) |  | 返回值 | ocrResult |  | 参数 | String arg0 :CV 文件名(案例中传入空字符串 "" ) |  | 案例 | opencv.OCREx(""); // 调用示例(传入空 CV 文件名) | 
 复制代码/*
🍎交流QQ群711841924群一,苹果内测群,528816639
🍎🔨📌🔨OCR方法小结
 */
// 第一个示例:获取屏幕截图并进行 OCR 文字识别(简体中文)
var img1 = screen.screenShotFull();
var ocr1 = img1.MLKitOcr('zhs');
var text1 = ocr1.getAllString();
printl(text1);
img1.recycle();
/*
说明:
- 这是一个最基本的 OCR 示例。
- 使用 MLKitOcr 方法通过简体中文词库识别截图中的文字。
- 最终输出识别到的全文本信息。
*/
// 第二个示例:指定区域内的 OCR 文字识别(中文)
var img2 = screen.screenShotFull();
var ocrRegion2 = [0, 0.2, 1, 0.6];
var ocrResult2 = img2.MLKitOcrRect('zh', ocrRegion2);
var recognizedText2 = ocrResult2.getAllString();
printl("OCR识别结果: " + recognizedText2);
img2.recycle();
/*
说明:
- 此示例中,OCR 定义了一个特定的屏幕区域来识别文本,避免了全屏识别的开销。
- 使用 MLKitOcrRect 方法优化了识别区域。
*/
// 第三个示例:使用 PaddleOCR 识别并查找特定文本
var img3 = screen.screenShotFull();
var ocrResult3 = img3.paddleOCR(640, [0, 0, 1, 1]);
var target3 = ocrResult3.findIncludeText("雷电");
if (target3) {
    target3.hidClick();
    printl("成功点击目标区域: 雷电");
} else {
    printl("目标区域未找到: 雷电");
}
img3.recycle();
/*
说明:
- 示例使用 PaddleOCR 技术识别文本。
- 识别完成后,查找特定文本,并对找到目标进行点击操作。
*/
// 第四个示例:全屏 OCR 查找文本内容并点击
var img4 = screen.screenShotFull();
var ocrResult4 = img4.paddleOCR(640, [0, 0, 1, 1]);
var target4 = ocrResult4.findIncludeText("雷电");
if (target4) {
    target4.click();
} else {
    printl("未找到指定文本");
}
img4.recycle();
/*
说明:
- 该示例与第三个类似,但更高效地处理了查找和目标动作操作。
*/
// 第五个示例:查找包含目标文字的多个区域
var img5 = screen.screenShotFull();
var ocrResult5 = img5.MLKitOcr('zh');
var targets5 = ocrResult5.findIncludeTexts("雷电");
if (targets5.length > 0) {
    targets5.forEach(target => {
        target.click();
    });
} else {
    printl("未找到指定文本");
}
img5.recycle();
/*
说明:
- 查找包含目标文字的多个区域,返回所有目标的列表。
- 遍历所有目标,逐一对其执行点击操作。
*/
// 第六个示例:获取 OCR 识别到的所有文本并打印
var img6 = screen.screenShotFull();
var ocrResult6 = img6.paddleOCR(640, [0, 0, 1, 1]);
var allText6 = ocrResult6.getAllString();
if (!allText6) {
    printl("未检测到任何文本");
} else {
    printl("检测到的文本内容: " + allText6);
}
img6.recycle();
/*
说明:
- 示例展示如何提取 OCR 识别结果中的所有字符信息。
*/
// 第七个示例:通过 MLKitOcr 完全读出屏幕文字
var img7 = screen.screenShotFull();
var ocrResult7 = img7.MLKitOcr('zh');
printl(ocrResult7.getAllString());
img7.recycle();
/*
说明:
- 示例使用 MLKitOcr 在全屏范围内提取所有文本信息。
*/
// 第八个示例:获取 JSON 格式的 OCR 识别结果
var img8 = screen.screenShotFull();
var ocrResult8 = img8.MLKitOcr('zh'); 
var jsonResult8 = ocrResult8.getJson();
printl(JSON.stringify(jsonResult8, null, 2));
img8.recycle();
/*
说明:
- 此示例展示了如何将 OCR 结果以 JSON 格式获取。
*/
// 第九个示例:获取 OCR 的 JSON 表示
var img9 = screen.screenShotFull();
var ocrResult9 = img9.MLKitOcr('zh');
var ocrJson9 = ocrResult9.getJson();
printl("OCR 结果 JSON: " + JSON.stringify(ocrJson9));
img9.recycle();
/*
说明:
- 将 OCR 输出结果以 JSON 格式显示,便于程序进一步处理。
*/
// 第十个示例:OpenCV OCR 使用
var mat10 = screen.screenShot(720, 1280, 100).getMat();
var seek10 = opencv.OCR(mat10, '点击头条输入框.ocr', 0.95, 0);
if (seek10) {
    printl(seek10.findIncludeText('点击'));
} else {
    printl("未找到了");
}
/*
说明:
- 使用 OpenCV 库执行 OCR,匹配的置信度为 0.95。
- 根据内容查找包含特定文本的区域。
*/
// 第十一个示例:OpenCV OCR 扩展功能使用
var seek11 = opencv.OCREx('关闭后台.cv');
if (seek11) {
    printl(seek11.findIncludeText('关闭后台.cv'));
} else {
    printl("未找到了");
}
/*
说明:
- 使用 opencv.OCREx 对指定的 cv 文件进行 OCR 识别。
- 扩展功能 checkColorsEx 用于进一步处理颜色匹配和文本识别结果。
*/
 |  |  |  |  |  | 
 |