|
|
Æ»¹ûIOSϵͳÕÒ×ÖOCR·½·¨Àý×Ó
- // Æ»¹ûϵͳÕÒ×Ö·½·¨×ÛºÏʾÀý
- // ½»Á÷QQȺ711841924
- function printl(msg) {
- console.log(msg);
- }
- function sleep(ms) {
- return new Promise(resolve => setTimeout(resolve, ms));
- }
- function main() {
- printl("========== Æ»¹ûϵͳÕÒ×Ö·½·¨×ÛºÏʾÀý ==========\n");
- example1_getAllString(); // ʾÀý1: »ñÈ¡ËùÓÐʶ±ðµÄÎı¾
- example2_getAllDetect(); // ʾÀý2: »ñÈ¡ËùÓÐʶ±ðµÄÄ¿±ê¶ÔÏó
- example3_findText(); // ʾÀý3: ¾«È·²éÕÒÌØ¶¨Îı¾
- example4_findIncludeText(); // ʾÀý4: ²éÕÒ°üº¬Ìض¨Îı¾µÄµ¥¸öÄ¿±ê
- example5_findIncludeTexts(); // ʾÀý5: ²éÕÒ°üº¬Ìض¨Îı¾µÄ¶à¸öÄ¿±ê
- example6_findTextWithRegex(); // ʾÀý6: ÕýÔò±í´ïʽ²éÕÒ
- example7_getJSON(); // ʾÀý7: »ñÈ¡JSON¸ñʽ½á¹û
- example8_lockOCR(); // ʾÀý8: OCR»º´æËø¶¨»úÖÆ
- example9_clickRandom(); // ʾÀý9: Ëæ»úλÖõã»÷
- example10_regionOCR(); // ʾÀý10: ÇøÓòOCRʶ±ð
- example11_iterateTexts(); // ʾÀý11: ±éÀúËùÓÐÎı¾
- example12_stringMethods(); // ʾÀý12: JavaScript StringÀà·½·¨
- example13_opencvOCR(); // ʾÀý13: OpenCVÕÒͼÕÒ×Ö
- example14_safeOCR(); // ʾÀý14: °²È«OCR²Ù×÷£¨´øÖØÊÔ»úÖÆ£©
- example15_comprehensiveFlow(); // ʾÀý15: ×ÛºÏ×Ô¶¯»¯Á÷³Ì
- printl("\n========== ËùÓÐʾÀýÖ´ÐÐÍê±Ï ==========");
- }
- function example1_getAllString() {
- printl("¡¾Ê¾Àý1¡¿getAllString - »ñÈ¡ËùÓÐʶ±ðµÄÎı¾");
- try {
- var ocrResult = screen.ocr(0, 0, 1, 1);
- var allText = ocrResult.getAllString();
- printl("ʶ±ðµ½µÄËùÓÐÎı¾: " + allText);
- printl("Îı¾³¤¶È: " + allText.length);
- } catch (e) {
- printl("´íÎó: " + e);
- }
- printl("");
- }
- function example2_getAllDetect() {
- printl("¡¾Ê¾Àý2¡¿getAllDetect - »ñÈ¡ËùÓÐʶ±ðµÄÄ¿±ê¶ÔÏó");
- try {
- var ocrResult = screen.ocr(0, 0, 1, 1);
- var detects = ocrResult.getAllDetect();
- printl("ʶ±ðµ½µÄÄ¿±êÊýÁ¿: " + detects.length);
- for (var i = 0; i < Math.min(5, detects.length); i++) {
- printl("Ä¿±ê" + i + ": " + detects[i].text);
- }
- } catch (e) {
- printl("´íÎó: " + e);
- }
- printl("");
- }
- function example3_findText() {
- printl("¡¾Ê¾Àý3¡¿findText - ¾«È·²éÕÒÌØ¶¨Îı¾");
- try {
- var ocrResult = screen.ocr(0, 0, 1, 1);
- var target = ocrResult.findText("È·¶¨", [0, 0, 1, 1]);
- if (target != null) {
- printl("ÕÒµ½Îı¾: " + target.text);
- printl("λÖÃ: x=" + target.x + ", y=" + target.y);
- printl("³ß´ç: width=" + target.width + ", height=" + target.height);
- } else {
- printl("δÕÒµ½Îı¾ 'È·¶¨'");
- }
- } catch (e) {
- printl("´íÎó: " + e);
- }
- printl("");
- }
- function example4_findIncludeText() {
- printl("¡¾Ê¾Àý4¡¿findIncludeText - ²éÕÒ°üº¬Ìض¨Îı¾µÄµ¥¸öÄ¿±ê");
- try {
- var ocrResult = screen.ocr(0, 0, 1, 1);
- var target = ocrResult.findIncludeText("ÉèÖÃ", [0, 0, 1, 1]);
- if (target != null) {
- printl("ÕÒµ½°üº¬ 'ÉèÖÃ' µÄÎı¾: " + target.text);
- } else {
- printl("δÕÒµ½°üº¬ 'ÉèÖÃ' µÄÎı¾");
- }
- } catch (e) {
- printl("´íÎó: " + e);
- }
- printl("");
- }
- function example5_findIncludeTexts() {
- printl("¡¾Ê¾Àý5¡¿findIncludeTexts - ²éÕÒ°üº¬Ìض¨Îı¾µÄ¶à¸öÄ¿±ê");
- try {
- var ocrResult = screen.ocr(0, 0, 1, 1);
- var targets = ocrResult.findIncludeTexts("°´Å¥", [0, 0, 1, 1]);
- printl("ÕÒµ½°üº¬ '°´Å¥' µÄÎı¾ÊýÁ¿: " + targets.length);
- for (var i = 0; i < Math.min(3, targets.length); i++) {
- printl("Ä¿±ê" + i + ": " + targets[i].text);
- }
- } catch (e) {
- printl("´íÎó: " + e);
- }
- printl("");
- }
- function example6_findTextWithRegex() {
- printl("¡¾Ê¾Àý6¡¿findTextWithRegex - ÕýÔò±í´ïʽ²éÕÒ");
- try {
- var ocrResult = screen.ocr(0, 0, 1, 1);
- var targets = ocrResult.findTextWithRegex("\\d+", [0, 0, 1, 1]);
- printl("ÕÒµ½°üº¬Êý×ÖµÄÎı¾ÊýÁ¿: " + targets.length);
- for (var i = 0; i < Math.min(3, targets.length); i++) {
- printl("Êý×ÖÎı¾" + i + ": " + targets[i].text);
- }
- var diamondTargets = ocrResult.findTextWithRegex("Áì.*?×êʯ", [0, 0, 1, 1]);
- if (diamondTargets != null && diamondTargets.length > 0) {
- printl("ÕÒµ½Æ¥Åä 'Áì.*?×êʯ' µÄÎı¾: " + diamondTargets[0].text);
- }
- } catch (e) {
- printl("´íÎó: " + e);
- }
- printl("");
- }
- function example7_getJSON() {
- printl("¡¾Ê¾Àý7¡¿getJSON - »ñÈ¡JSON¸ñʽ½á¹û");
- try {
- var ocrResult = screen.ocr(0, 0, 1, 1);
- var json = ocrResult.getJSON();
- printl("JSON½á¹û³¤¶È: " + json.length);
- printl("JSONǰ100×Ö·û: " + json.substring(0, 100));
- } catch (e) {
- printl("´íÎó: " + e);
- }
- printl("");
- }
- function example8_lockOCR() {
- printl("¡¾Ê¾Àý8¡¿lockOCR/unLock - OCR»º´æËø¶¨");
- try {
- OCR.lockOCR();
- printl("OCR½á¹ûÒÑËø¶¨");
- var image = screen.screenShotFull();
- var result1 = image.ocr(0, 0, 1, 1);
- var text1 = result1.getAllString();
- printl("µÚÒ»´Îʶ±ðÎı¾³¤¶È: " + text1.length);
- var result2 = image.ocr(0, 0, 1, 1);
- var target = result2.findIncludeText("ÉèÖÃ", [0, 0, 1, 1]);
- if (target != null) {
- printl("ÔÚËø¶¨×´Ì¬ÏÂÕÒµ½Îı¾: " + target.text);
- }
- image.close();
- OCR.unLock();
- printl("OCR½á¹ûÒѽâËø");
- } catch (e) {
- printl("´íÎó: " + e);
- try {
- OCR.unLock();
- } catch (unlockError) {
- printl("½âËø´íÎó: " + unlockError);
- }
- }
- printl("");
- }
- function example9_clickRandom() {
- printl("¡¾Ê¾Àý9¡¿clickRandom - Ëæ»úλÖõã»÷");
- try {
- var ocrResult = screen.ocr(0, 0, 1, 1);
- var target = ocrResult.findText("È·¶¨", [0, 0, 1, 1]);
- if (target != null) {
- printl("ÕÒµ½Îı¾: " + target.text);
- printl("·½Ê½1: ʹÓÃclickRandom()ÔÚÎı¾ÇøÓòÄÚËæ»úµã»÷");
- target.clickRandom();
- printl("µã»÷³É¹¦");
- } else {
- printl("δÕÒµ½Îı¾ 'È·¶¨'");
- }
- } catch (e) {
- printl("´íÎó: " + e);
- }
- printl("");
- }
- function example10_regionOCR() {
- printl("¡¾Ê¾Àý10¡¿ÇøÓòOCRʶ±ð");
- try {
- var region = [0.2, 0.3, 0.8, 0.7];
- printl("ʶ±ðÇøÓò: [" + region.join(", ") + "]");
- var ocrResult = screen.ocr(region[0], region[1], region[2], region[3]);
- var allText = ocrResult.getAllString();
- printl("ÇøÓòÄÚʶ±ðµ½µÄÎı¾³¤¶È: " + allText.length);
- var target = ocrResult.findText("ÏÂÒ»²½", region);
- if (target != null) {
- printl("ÔÚÇøÓòÄÚÕÒµ½Îı¾: " + target.text);
- } else {
- printl("ÇøÓòÄÚδÕÒµ½Îı¾ 'ÏÂÒ»²½'");
- }
- } catch (e) {
- printl("´íÎó: " + e);
- }
- printl("");
- }
- function example11_iterateTexts() {
- printl("¡¾Ê¾Àý11¡¿±éÀúËùÓÐÎı¾");
- try {
- var ocrResult = screen.ocr(0, 0, 1, 1);
- var allDetects = ocrResult.getAllDetect();
- printl("×ܹ²Ê¶±ðµ½ " + allDetects.length + " ¸öÎı¾ÔªËØ");
- for (var i = 0; i < Math.min(5, allDetects.length); i++) {
- var detect = allDetects[i];
- printl("Îı¾" + i + ": " + detect.text);
- printl(" λÖÃ: [" + detect.x + ", " + detect.y + ", " + detect.width + ", " + detect.height + "]");
- if (detect.text.includes("È¡Ïû")) {
- printl(" ÕÒµ½°üº¬ 'È¡Ïû' µÄÎı¾£¬×¼±¸µã»÷");
- detect.clickRandom();
- printl(" µã»÷³É¹¦");
- break;
- }
- }
- } catch (e) {
- printl("´íÎó: " + e);
- }
- printl("");
- }
- function example12_stringMethods() {
- printl("¡¾Ê¾Àý12¡¿JavaScript StringÀà·½·¨");
- var text = "Hello World";
- printl("ÔʼÎı¾: " + text);
- printl("charAt(0): " + text.charAt(0));
- printl("indexOf('o'): " + text.indexOf("o"));
- printl("lastIndexOf('o'): " + text.lastIndexOf("o"));
- printl("length: " + text.length);
- printl("match(/[a-z]/g): " + text.match(/[a-z]/g));
- printl("replace('Hello', 'Hi'): " + text.replace("Hello", "Hi"));
- printl("replaceAll('l', 'L'): " + text.replaceAll("l", "L"));
- printl("split(' '): " + text.split(" "));
- printl("startsWith('He'): " + text.startsWith("He"));
- printl("substr(0, 5): " + text.substr(0, 5));
- printl("substring(0, 5): " + text.substring(0, 5));
- printl("trim(): '" + " Hello ".trim() + "'");
- printl("");
- }
- function example13_opencvOCR() {
- printl("¡¾Ê¾Àý13¡¿OpenCV OCR");
- try {
- var ocr1 = opencv.OCREx('ͼɫ994166.cv');
- if (ocr1 != null) {
- printl("OpenCV OCRʶ±ð³É¹¦");
- var allText = ocr1.getAllString();
- printl("ʶ±ðµ½µÄÎı¾: " + allText);
- var targetText = ocr1.findIncludeText("È·¶¨");
- if (targetText != null) {
- printl("ÕÒµ½°üº¬ 'È·¶¨' µÄÎı¾");
- targetText.clickRandom();
- printl("µã»÷³É¹¦");
- } else {
- printl("δÕÒµ½°üº¬ 'È·¶¨' µÄÎı¾");
- }
- } else {
- printl("OpenCV OCR³õʼ»¯Ê§°Ü");
- }
- } catch (e) {
- printl("´íÎó: " + e);
- }
- printl("");
- }
- function example14_safeOCR() {
- printl("¡¾Ê¾Àý14¡¿°²È«OCR²Ù×÷£¨´øÖØÊÔ»úÖÆ£©");
-
- function safeFindText(targetText, region, maxRetries) {
- for (var retry = 0; retry < maxRetries; retry++) {
- try {
- printl("²éÕÒÎı¾: " + targetText + " (³¢ÊÔ " + (retry + 1) + "/" + maxRetries + ")");
- var ocrResult = screen.ocr(region[0], region[1], region[2], region[3]);
- var detect = ocrResult.findIncludeText(targetText, region);
-
- if (detect) {
- printl("ÕÒµ½Îı¾: " + targetText);
- return detect;
- }
-
- if (retry < maxRetries - 1) {
- printl("δÕÒµ½£¬µÈ´ýÖØÊÔ...");
- sleep(1000);
- }
- } catch (error) {
- printl("²éÕÒ³ö´í: " + error);
- if (retry < maxRetries - 1) {
- OCR.unLock();
- sleep(2000);
- }
- }
- }
- printl("δÕÒµ½Îı¾: " + targetText);
- return null;
- }
- var detect = safeFindText("ÉèÖÃ", [0, 0, 1, 1], 2);
- if (detect) {
- printl("°²È«²éÕҳɹ¦");
- }
- printl("");
- }
- function example15_comprehensiveFlow() {
- printl("¡¾Ê¾Àý15¡¿×ÛºÏ×Ô¶¯»¯Á÷³Ì");
- try {
- printl("²½Öè1: ²éÕÒ²¢µã»÷ 'ÉèÖÃ'");
- var ocrResult1 = screen.ocr(0, 0, 1, 1);
- var settingTarget = ocrResult1.findIncludeText("ÉèÖÃ", [0, 0, 1, 1]);
-
- if (settingTarget != null) {
- settingTarget.clickRandom();
- printl("µã»÷ÉèÖóɹ¦");
- sleep(2000);
- printl("²½Öè2: ²éÕÒ²¢µã»÷ 'ͨÓÃ'");
- var ocrResult2 = screen.ocr(0, 0, 1, 1);
- var generalTarget = ocrResult2.findText("ͨÓÃ", [0, 0, 1, 1]);
-
- if (generalTarget != null) {
- generalTarget.clickRandom();
- printl("µã»÷ͨÓóɹ¦");
- sleep(2000);
- printl("²½Öè3: ²éÕÒÊý×Ö");
- var ocrResult3 = screen.ocr(0, 0, 1, 1);
- var numberTargets = ocrResult3.findTextWithRegex("\\d+", [0, 0, 1, 1]);
-
- if (numberTargets != null && numberTargets.length > 0) {
- printl("ÕÒµ½ " + numberTargets.length + " ¸öÊý×Ö");
- printl("µÚÒ»¸öÊý×Ö: " + numberTargets[0].text);
- }
- } else {
- printl("δÕÒµ½Îı¾ 'ͨÓÃ'");
- }
- } else {
- printl("δÕÒµ½°üº¬ 'ÉèÖÃ' µÄÎı¾");
- }
- } catch (e) {
- printl("×ÛºÏÁ÷³Ì´íÎó: " + e);
- }
- printl("");
- }
- main();
¸´ÖÆ´úÂë
|
|