- // 第一个示例:获取屏幕截图并进行 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('雷电模拟器'));
- } else {
- printl("未找到了");
- }
- var seek11Alt = opencv.OCREx('多点比色.cv');
- if (opencv.checkColorsEx('多点比色.cv')) {
- printl(seek11Alt.getAllString());
- } else {
- printl("未找到了");
- }
- /*
- 说明:
- - 使用 opencv.OCREx 对指定的 cv 文件进行 OCR 识别。
- - 扩展功能 checkColorsEx 用于进一步处理颜色匹配和文本识别结果。
- */
复制代码将说明单独列在代码块下面。 //第一个var img = screen.screenShotFull();var ocr = img.MLKitOcr('zhs');var text = ocr.getAllString();printl(text);img.recycle();
说明:截取全屏截图,使用 MLKitOcr(简体中文)进行 OCR 识别,获取识别到的所有文字,并打印结果。最后释放图片资源。 //第二个var img = screen.screenShotFull();var ocrRegion = [0, 0.2, 1, 0.6];var ocrResult = img.MLKitOcrRect('zh', ocrRegion);var recognizedText = ocrResult.getAllString();printl("OCR识别结果: " + recognizedText);img.recycle();
说明:定义屏幕中特定区域作为 OCR 识别的范围,使用 MLKitOcrRect 进行区域内的文字识别,并打印结果。释放图片资源。 //第三个var img = screen.screenShotFull();let ocrResult = img.paddleOCR(640, [0, 0, 1, 1]);var target = ocrResult.findIncludeText("雷电");if (target) { target.hidClick(); printl("成功点击目标区域: 雷电");} else { printl("目标区域未找到: 雷电");}img.recycle();
说明:全屏截图,使用 paddleOCR 进行 OCR 识别,全屏范围包含的输出结果中查找包含“雷电”的目标,并点击目标区域。 //第四个let img = screen.screenShotFull();let ocrResult = img.paddleOCR(640, [0, 0, 1, 1]);let target = ocrResult.findIncludeText("雷电");if (target) { target.click();} else { printl("未找到指定文本");}img.recycle();
说明:与第三个类似,全屏 OCR 识别,寻找包含“雷电”的文本目标并执行点击操作。 //第五个let img = screen.screenShotFull();let ocrResult = img.MLKitOcr('zh');let targets = ocrResult.findIncludeTexts("雷电");if (targets.length > 0) { targets.forEach(target => { target.click(); });} else { printl("未找到指定文本");}img.recycle();
说明:全屏使用 MLKitOcr 执行 OCR 识别,寻找多个包含特定文字(如“雷电”)的目标,并依次点击。 //第六个let img = screen.screenShotFull();let ocrResult = img.paddleOCR(640, [0, 0, 1, 1]);let allText = ocrResult.getAllString();if (!allText) { printl("未检测到任何文本");} else { printl("检测到的文本内容: " + allText);}img.recycle();
说明:全屏截图后,通过 paddleOCR 获取屏幕内所有的文字信息,并打印检测到的内容。 //第七个let img = screen.screenShotFull();let ocrResult = img.MLKitOcr('zh');printl(ocrResult.getAllString());img.recycle();
说明:截屏并调用 MLKitOcr,直接获取所有识别到的字符串并打印。 //第八个let img = screen.screenShotFull();let ocrResult = img.MLKitOcr('zh');let jsonResult = ocrResult.getJson();printl(JSON.stringify(jsonResult, null, 2));img.recycle();
说明:通过 MLKitOcr 执行 OCR 识别后,获取 JSON 格式的结果并以美化的形式输出。 //第九个let img = screen.screenShotFull();let ocrResult = img.MLKitOcr('zh');let ocrJson = ocrResult.getJson();printl("OCR 结果 JSON: " + JSON.stringify(ocrJson));img.recycle();
说明:OCR 识别后直接打印 JSON 格式的内容。 //第十个var mat = screen.screenShot(720, 1280, 100).getMat();var seek = opencv.OCR(mat, '蜂群课堂.ocr', 0.95, 0);if (seek) { printl(seek.findIncludeText('蜂'))} else { printl("未找到了");}
说明:使用 opencv 库对指定截图获取的矩阵内容通过训练的 .ocr 文件进行 OCR 并查找特定内容。 //第十一个var seek = opencv.OCREx('多点比色.cv');if (seek) { printl(seek.findIncludeText('雷电模拟器'));} else { printl("未找到了");}
说明:使用 opencv.OCREx 根据配置文件查找目标文字内容。
这些代码块中展示了如何使用 OCR 工具进行从简单到复杂的文字识别操作,说明部分逐一概述了各代码段的主要功能和处理过程。 |