信息发布软件,b2b软件,广告发布软件

 找回密码
 立即注册
搜索
查看: 1|回复: 0
打印 上一主题 下一主题

[宣传软件网站动态] 苹果系统找图方法完整示例集合

[复制链接]

770

主题

854

帖子

5476

积分

积分
5476

资讯缩略图:

资讯发布日期:2026-01-29

资讯发布简介:苹果系统找图方法完整示例集合

资讯关键词:苹果系统找图方法完整示例集合

资讯所属分类:IT资讯 

联系:

① 本信息收集于网络,如有不对的地方欢迎联系我纠正!
② 本信息免费收录,不存在价格的问题!
③ 如果您的网站也想这样出现在这里,请您加好友情链接,我当天会审核通过!

④友情链接关键字:软件网站分类目录 网址:http://www.postbbs.com/

资讯详细描述
苹果系统找图方法完整示例集合
苹果系统找图方法完整示例集合 b2b软件
苹果系统找图方法完整示例集合 b2b软件

  1. // 苹果系统找图方法汇集示例
  2. // 交流QQ群711841924
  3. // 苹果系统找图方法完整示例集合

  4. function sleep(ms) {
  5.     return new Promise(resolve => setTimeout(resolve, ms));
  6. }

  7. function main() {
  8.     printl("========== 苹果系统找图方法汇集示例 ==========\n");

  9.     example1_findImagesEx();      // 示例1: CV文件模板匹配找图(最基础用法)
  10.     example2_findImages();        // 示例2: 多图查找(支持超时和质量设置)
  11.     example3_templateMatch();     // 示例3: 多模板匹配查找
  12.     example4_findImagesEx_multi(); // 示例4: 单CV文件查找多个目标
  13.     example5_findImages_region();  // 示例5: 指定区域找图
  14.     example6_findImages_timeout(); // 示例6: 带超时的找图
  15.     example7_templateMatch_best(); // 示例7: 只返回最佳匹配
  16.     example8_findImages_quality(); // 示例8: 不同截图质量的找图
  17.     example9_templateMatch_region(); // 示例9: 指定区域的模板匹配
  18.     example10_findImages_threshold(); // 示例10: 不同相似度阈值的找图
  19.     example11_comprehensive_flow(); // 示例11: 综合自动化流程(实战案例)

  20.     printl("\n========== 所有示例执行完毕 ==========");
  21. }

  22. // 方法一:findImagesEx - CV文件模板匹配找图(最基础用法)
  23. function example1_findImagesEx() {
  24.     printl("【示例1】findImagesEx - CV文件模板匹配找图");
  25.     printl("适用场景:查找单个图片模板,最简单直接的找图方法");
  26.     printl("演示效果:交替点击两个不同的目标");
  27.     printl("等待2秒确保屏幕加载完成...");
  28.     sleep(2000);
  29.    
  30.     try {
  31.         var detects1 = opencv.findImagesEx('图色769598.cv');
  32.         if (detects1 != null && detects1.length > 0) {
  33.             printl("✓ 找到目标1,数量: " + detects1.length);
  34.             var rect1 = detects1[0].getRect();
  35.             printl("目标1中心点: x=" + rect1.getCenterX() + ", y=" + rect1.getCenterY());
  36.             printl("点击目标1");
  37.             detects1[0].clickRandom();
  38.             sleep(1000);
  39.         } else {
  40.             printl("✗ 未找到目标1,等待1秒后重试...");
  41.             sleep(1000);
  42.             detects1 = opencv.findImagesEx('图色769598.cv');
  43.             if (detects1 != null && detects1.length > 0) {
  44.                 printl("✓ 重试后找到目标1,数量: " + detects1.length);
  45.                 var rect1 = detects1[0].getRect();
  46.                 printl("目标1中心点: x=" + rect1.getCenterX() + ", y=" + rect1.getCenterY());
  47.                 printl("点击目标1");
  48.                 detects1[0].clickRandom();
  49.                 sleep(1000);
  50.             } else {
  51.                 printl("✗ 重试后仍未找到目标1");
  52.             }
  53.         }

  54.         var detects2 = opencv.findImagesEx('图色781849.cv');
  55.         if (detects2 != null && detects2.length > 0) {
  56.             printl("✓ 找到目标2,数量: " + detects2.length);
  57.             var rect2 = detects2[0].getRect();
  58.             printl("目标2中心点: x=" + rect2.getCenterX() + ", y=" + rect2.getCenterY());
  59.             printl("点击目标2");
  60.             detects2[0].clickRandom();
  61.             sleep(1000);
  62.         } else {
  63.             printl("✗ 未找到目标2");
  64.         }
  65.     } catch (e) {
  66.         printl("错误: " + e);
  67.     }
  68.     printl("");
  69. }

  70. // 方法二:findImages - 多图查找(支持超时和质量设置)
  71. function example2_findImages() {
  72.     printl("【示例2】findImages - 多图查找");
  73.     printl("适用场景:同时查找多张相似图片,支持设置超时和截图质量");
  74.     try {
  75.         var targetImages = ['图色769598.cv', '图色769599.cv'];
  76.         var multiFindResults = opencv.findImages(targetImages, 0.7, 3000, 1, [0, 0, 1, 1]);
  77.         
  78.         if (multiFindResults != null) {
  79.             printl("多图查找成功,找到目标数量: " + multiFindResults.length);
  80.             for (var i = 0; i < Math.min(3, multiFindResults.length); i++) {
  81.                 printl("目标" + i + ": x=" + multiFindResults[i].x + ", y=" + multiFindResults[i].y);
  82.             }
  83.             
  84.             if (multiFindResults.length > 0) {
  85.                 printl("点击第一个目标");
  86.                 multiFindResults[0].clickRandom();
  87.             }
  88.         } else {
  89.             printl("多图查找超时或失败");
  90.         }
  91.     } catch (e) {
  92.         printl("错误: " + e);
  93.     }
  94.     printl("");
  95. }

  96. // 方法三:templateMatch - 多模板匹配查找目标对象
  97. function example3_templateMatch() {
  98.     printl("【示例3】templateMatch - 多模板匹配查找");
  99.     printl("适用场景:基于多个模板图片在指定图像中匹配目标,可设置匹配区域、阈值等");
  100.     try {
  101.         var image = screen.screenShotFull();
  102.         var mat = image.getMat();
  103.         
  104.         var templates = ['图色769598.cv', '图色769599.cv'];
  105.         var matchResults = opencv.templateMatch(mat, templates, 0.8, [0, 0, 1, 1], false);
  106.         
  107.         if (matchResults != null && matchResults.length > 0) {
  108.             printl("模板匹配成功,找到目标数量: " + matchResults.length);
  109.             for (var i = 0; i < Math.min(3, matchResults.length); i++) {
  110.                 printl("目标" + i + ": x=" + matchResults[i].x + ", y=" + matchResults[i].y +
  111.                       ", width=" + matchResults[i].width + ", height=" + matchResults[i].height);
  112.             }
  113.             
  114.             printl("点击第一个目标");
  115.             matchResults[0].clickRandom();
  116.         } else {
  117.             printl("模板匹配未找到目标");
  118.         }
  119.         
  120.         mat.close();
  121.         image.close();
  122.     } catch (e) {
  123.         printl("错误: " + e);
  124.     }
  125.     printl("");
  126. }

  127. // 方法四:findImagesEx - 单CV文件查找多个目标
  128. function example4_findImagesEx_multi() {
  129.     printl("【示例4】findImagesEx - 单CV文件查找多个目标");
  130.     printl("适用场景:屏幕中存在多个相同的目标,需要全部找到");
  131.     printl("注意:此示例在示例1执行后运行,屏幕状态可能已改变");
  132.     try {
  133.         var detects = opencv.findImagesEx('图色769598.cv');
  134.         if (detects != null && detects.length > 0) {
  135.             printl("找到 " + detects.length + " 个目标");
  136.             
  137.             for (var i = 0; i < detects.length; i++) {
  138.                 var rect = detects[i].getRect();
  139.                 printl("目标" + i + ": 中心点 x=" + rect.getCenterX() + ", y=" + rect.getCenterY());
  140.             }
  141.             
  142.             printl("点击所有目标");
  143.             for (var i = 0; i < detects.length; i++) {
  144.                 detects[i].clickRandom();
  145.                 sleep(500);
  146.             }
  147.         } else {
  148.             printl("未找到目标");
  149.         }
  150.     } catch (e) {
  151.         printl("错误: " + e);
  152.     }
  153.     printl("");
  154. }

  155. // 方法五:findImages - 指定区域找图
  156. function example5_findImages_region() {
  157.     printl("【示例5】findImages - 指定区域找图");
  158.     printl("适用场景:只在屏幕的特定区域查找目标,提高查找效率");
  159.     try {
  160.         var targetImages = ['图色769598.cv'];
  161.         
  162.         var region = [0.2, 0.2, 0.8, 0.8];
  163.         printl("查找区域: [" + region.join(", ") + "]");
  164.         printl("说明:区域坐标为百分比,[0.2, 0.2, 0.8, 0.8] 表示从屏幕20%位置开始查找");
  165.         
  166.         var regionResults = opencv.findImages(targetImages, 0.7, 3000, 1, region);
  167.         
  168.         if (regionResults != null) {
  169.             printl("在指定区域内找到 " + regionResults.length + " 个目标");
  170.             if (regionResults.length > 0) {
  171.                 regionResults[0].clickRandom();
  172.             }
  173.         } else {
  174.             printl("指定区域内未找到目标");
  175.         }
  176.     } catch (e) {
  177.         printl("错误: " + e);
  178.     }
  179.     printl("");
  180. }

  181. // 方法六:findImages - 带超时的找图
  182. function example6_findImages_timeout() {
  183.     printl("【示例6】findImages - 带超时的找图");
  184.     printl("适用场景:设置查找超时时间,避免长时间等待");
  185.     try {
  186.         var targetImages = ['图色769598.cv'];
  187.         
  188.         printl("开始查找,超时时间: 5000毫秒");
  189.         printl("说明:如果5000毫秒内未找到目标,将返回null");
  190.         
  191.         var timeoutResults = opencv.findImages(targetImages, 0.7, 5000, 1, [0, 0, 1, 1]);
  192.         
  193.         if (timeoutResults != null) {
  194.             printl("在超时前找到目标");
  195.             timeoutResults[0].clickRandom();
  196.         } else {
  197.             printl("查找超时,未找到目标");
  198.         }
  199.     } catch (e) {
  200.         printl("错误: " + e);
  201.     }
  202.     printl("");
  203. }

  204. // 方法七:templateMatch - 只返回最佳匹配
  205. function example7_templateMatch_best() {
  206.     printl("【示例7】templateMatch - 只返回最佳匹配");
  207.     printl("适用场景:只关心最匹配的结果,忽略其他匹配项");
  208.     try {
  209.         var image = screen.screenShotFull();
  210.         var mat = image.getMat();
  211.         
  212.         var templates = ['图色769598.cv', '图色769599.cv'];
  213.         
  214.         printl("查找最佳匹配(best=true)");
  215.         printl("说明:只返回相似度最高的一个匹配结果");
  216.         
  217.         var bestMatch = opencv.templateMatch(mat, templates, 0.8, [0, 0, 1, 1], true);
  218.         
  219.         if (bestMatch != null && bestMatch.length > 0) {
  220.             printl("找到最佳匹配: x=" + bestMatch[0].x + ", y=" + bestMatch[0].y);
  221.             bestMatch[0].clickRandom();
  222.         } else {
  223.             printl("未找到最佳匹配");
  224.         }
  225.         
  226.         mat.close();
  227.         image.close();
  228.     } catch (e) {
  229.         printl("错误: " + e);
  230.     }
  231.     printl("");
  232. }

  233. // 方法八:findImages - 不同截图质量的找图
  234. function example8_findImages_quality() {
  235.     printl("【示例8】findImages - 不同截图质量的找图");
  236.     printl("适用场景:根据需求选择不同的截图质量,平衡速度和准确度");
  237.     try {
  238.         var targetImages = ['图色769598.cv'];
  239.         
  240.         printl("测试不同截图质量:");
  241.         printl("质量0(标清):速度快,适合快速查找");
  242.         var result0 = opencv.findImages(targetImages, 0.7, 3000, 0, [0, 0, 1, 1]);
  243.         printl("  标清结果: " + (result0 != null ? "找到" : "未找到"));
  244.         
  245.         printl("质量1(高清):速度中等,适合一般场景");
  246.         var result1 = opencv.findImages(targetImages, 0.7, 3000, 1, [0, 0, 1, 1]);
  247.         printl("  高清结果: " + (result1 != null ? "找到" : "未找到"));
  248.         
  249.         printl("质量2(超清):速度慢,适合精细查找");
  250.         var result2 = opencv.findImages(targetImages, 0.7, 3000, 2, [0, 0, 1, 1]);
  251.         printl("  超清结果: " + (result2 != null ? "找到" : "未找到"));
  252.         
  253.     } catch (e) {
  254.         printl("错误: " + e);
  255.     }
  256.     printl("");
  257. }

  258. // 方法九:templateMatch - 指定区域的模板匹配
  259. function example9_templateMatch_region() {
  260.     printl("【示例9】templateMatch - 指定区域的模板匹配");
  261.     printl("适用场景:在屏幕的特定区域内进行模板匹配");
  262.     try {
  263.         var image = screen.screenShotFull();
  264.         var mat = image.getMat();
  265.         
  266.         var templates = ['图色769598.cv'];
  267.         var region = [0.3, 0.3, 0.7, 0.7];
  268.         
  269.         printl("在区域 [" + region.join(", ") + "] 内进行模板匹配");
  270.         printl("说明:只在屏幕中央区域查找,提高效率");
  271.         
  272.         var matchResults = opencv.templateMatch(mat, templates, 0.8, region, false);
  273.         
  274.         if (matchResults != null && matchResults.length > 0) {
  275.             printl("在指定区域内找到 " + matchResults.length + " 个目标");
  276.             matchResults[0].clickRandom();
  277.         } else {
  278.             printl("指定区域内未找到目标");
  279.         }
  280.         
  281.         mat.close();
  282.         image.close();
  283.     } catch (e) {
  284.         printl("错误: " + e);
  285.     }
  286.     printl("");
  287. }

  288. // 方法十:findImages - 不同相似度阈值的找图
  289. function example10_findImages_threshold() {
  290.     printl("【示例10】findImages - 不同相似度阈值的找图");
  291.     printl("适用场景:根据需求调整相似度阈值,平衡精确度和召回率");
  292.     try {
  293.         var targetImages = ['图色769598.cv'];
  294.         
  295.         printl("测试不同相似度阈值:");
  296.         printl("阈值0.5(宽松):容易找到,但可能误匹配");
  297.         var result05 = opencv.findImages(targetImages, 0.5, 3000, 1, [0, 0, 1, 1]);
  298.         printl("  阈值0.5结果: " + (result05 != null ? result05.length + "个" : "未找到"));
  299.         
  300.         printl("阈值0.7(中等):平衡精确度和召回率");
  301.         var result07 = opencv.findImages(targetImages, 0.7, 3000, 1, [0, 0, 1, 1]);
  302.         printl("  阈值0.7结果: " + (result07 != null ? result07.length + "个" : "未找到"));
  303.         
  304.         printl("阈值0.9(严格):只匹配非常相似的目标");
  305.         var result09 = opencv.findImages(targetImages, 0.9, 3000, 1, [0, 0, 1, 1]);
  306.         printl("  阈值0.9结果: " + (result09 != null ? result09.length + "个" : "未找到"));
  307.         
  308.     } catch (e) {
  309.         printl("错误: " + e);
  310.     }
  311.     printl("");
  312. }

  313. // 方法十一:综合自动化流程 - 完整的自动化操作流程(实战案例)
  314. function example11_comprehensive_flow() {
  315.     printl("【示例11】综合自动化流程 - 实战案例");
  316.     printl("适用场景:完整的自动化操作流程,模拟实际应用");
  317.     try {
  318.         printl("========== 步骤1: 使用findImagesEx查找第一个目标 ==========");
  319.         var detects1 = opencv.findImagesEx('图色769598.cv');
  320.         if (detects1 != null && detects1.length > 0) {
  321.             printl("✓ 找到目标1,点击");
  322.             printl("  位置: x=" + detects1[0].x + ", y=" + detects1[0].y);
  323.             detects1[0].clickRandom();
  324.             sleep(2000);
  325.             
  326.             printl("\n========== 步骤2: 使用findImages查找多个目标 ==========");
  327.             var targetImages = ['图色769598.cv', '图色769599.cv'];
  328.             printl("查找图片列表: " + targetImages.join(", "));
  329.             var multiResults = opencv.findImages(targetImages, 0.7, 3000, 1, [0, 0, 1, 1]);
  330.             
  331.             if (multiResults != null) {
  332.                 printl("✓ 找到 " + multiResults.length + " 个目标");
  333.                 if (multiResults.length > 0) {
  334.                     printl("✓ 点击第一个目标");
  335.                     multiResults[0].clickRandom();
  336.                     sleep(2000);
  337.                 }
  338.                
  339.                 printl("\n========== 步骤3: 使用templateMatch在指定区域查找 ==========");
  340.                 var image = screen.screenShotFull();
  341.                 var mat = image.getMat();
  342.                 var templates = ['图色769598.cv'];
  343.                 var region = [0.3, 0.3, 0.7, 0.7];
  344.                
  345.                 printl("在区域 [" + region.join(", ") + "] 内查找");
  346.                 printl("说明:只在屏幕中央区域查找,提高效率");
  347.                 var matchResults = opencv.templateMatch(mat, templates, 0.8, region, true);
  348.                
  349.                 if (matchResults != null && matchResults.length > 0) {
  350.                     printl("✓ 在指定区域内找到目标");
  351.                     printl("  位置: x=" + matchResults[0].x + ", y=" + matchResults[0].y);
  352.                     matchResults[0].clickRandom();
  353.                 } else {
  354.                     printl("✗ 指定区域内未找到目标");
  355.                 }
  356.                
  357.                 mat.close();
  358.                 image.close();
  359.                
  360.                 printl("\n========== 步骤4: 查找所有相同目标并批量点击 ==========");
  361.                 var allDetects = opencv.findImagesEx('图色769598.cv');
  362.                 if (allDetects != null && allDetects.length > 0) {
  363.                     printl("✓ 找到 " + allDetects.length + " 个相同目标");
  364.                     printl("开始批量点击...");
  365.                     for (var i = 0; i < allDetects.length; i++) {
  366.                         printl("  点击目标 " + (i + 1) + "/" + allDetects.length);
  367.                         allDetects[i].clickRandom();
  368.                         sleep(300);
  369.                     }
  370.                     printl("✓ 批量点击完成");
  371.                 } else {
  372.                     printl("✗ 未找到目标");
  373.                 }
  374.             } else {
  375.                 printl("✗ 多图查找失败");
  376.             }
  377.         } else {
  378.             printl("✗ 未找到目标1");
  379.         }
  380.         
  381.         printl("\n========== 综合流程执行完成 ==========");
  382.     } catch (e) {
  383.         printl("综合流程错误: " + e);
  384.     }
  385.     printl("");
  386. }

  387. // ========== 实用辅助函数集合 ==========

  388. // 辅助函数1:安全找图(带重试机制)
  389. function safeFindImage(cvFile, maxRetries) {
  390.     printl("【辅助函数】safeFindImage - 安全找图(带重试机制)");
  391.     for (var retry = 0; retry < maxRetries; retry++) {
  392.         try {
  393.             printl("查找图片: " + cvFile + " (尝试 " + (retry + 1) + "/" + maxRetries + ")");
  394.             var detects = opencv.findImagesEx(cvFile);
  395.             
  396.             if (detects != null && detects.length > 0) {
  397.                 printl("✓ 找到目标");
  398.                 return detects;
  399.             }
  400.             
  401.             if (retry < maxRetries - 1) {
  402.                 printl("未找到,等待重试...");
  403.                 sleep(1000);
  404.             }
  405.         } catch (error) {
  406.             printl("查找出错: " + error);
  407.             if (retry < maxRetries - 1) {
  408.                 sleep(2000);
  409.             }
  410.         }
  411.     }
  412.     printl("✗ 未找到图片: " + cvFile);
  413.     return null;
  414. }

  415. // 辅助函数2:批量点击所有匹配目标
  416. function clickAllTargets(detects) {
  417.     printl("【辅助函数】clickAllTargets - 批量点击所有匹配目标");
  418.     if (detects == null || detects.length === 0) {
  419.         printl("没有可点击的目标");
  420.         return;
  421.     }
  422.    
  423.     printl("准备点击 " + detects.length + " 个目标");
  424.     for (var i = 0; i < detects.length; i++) {
  425.         printl("点击目标 " + (i + 1) + ": x=" + detects[i].x + ", y=" + detects[i].y);
  426.         detects[i].clickRandom();
  427.         sleep(300);
  428.     }
  429.     printl("✓ 所有目标点击完成");
  430. }

  431. // 辅助函数3:获取目标中心点
  432. function getTargetCenter(detect) {
  433.     printl("【辅助函数】getTargetCenter - 获取目标中心点");
  434.     if (detect == null) {
  435.         return null;
  436.     }
  437.     var center = {
  438.         x: detect.x + detect.width / 2,
  439.         y: detect.y + detect.height / 2
  440.     };
  441.     printl("目标中心点: x=" + center.x + ", y=" + center.y);
  442.     return center;
  443. }

  444. // 辅助函数4:判断目标是否在指定区域内
  445. function isTargetInRegion(detect, region) {
  446.     printl("【辅助函数】isTargetInRegion - 判断目标是否在指定区域内");
  447.     if (detect == null) {
  448.         return false;
  449.     }
  450.     var centerX = detect.x + detect.width / 2;
  451.     var centerY = detect.y + detect.height / 2;
  452.     var inRegion = centerX >= region[0] && centerX <= region[2] &&
  453.                    centerY >= region[1] && centerY <= region[3];
  454.     printl("目标中心点(" + centerX + ", " + centerY + ") " +
  455.            (inRegion ? "在" : "不在") + "区域内");
  456.     return inRegion;
  457. }

  458. // 辅助函数5:查找并点击最接近指定坐标的目标
  459. function findAndClickNearestTarget(cvFile, targetX, targetY) {
  460.     printl("【辅助函数】findAndClickNearestTarget - 查找并点击最接近指定坐标的目标");
  461.     try {
  462.         var detects = opencv.findImagesEx(cvFile);
  463.         if (detects == null || detects.length === 0) {
  464.             printl("未找到目标");
  465.             return false;
  466.         }
  467.         
  468.         var nearestIndex = 0;
  469.         var minDistance = Number.MAX_VALUE;
  470.         
  471.         for (var i = 0; i < detects.length; i++) {
  472.             var centerX = detects[i].x + detects[i].width / 2;
  473.             var centerY = detects[i].y + detects[i].height / 2;
  474.             var distance = Math.sqrt(Math.pow(centerX - targetX, 2) + Math.pow(centerY - targetY, 2));
  475.             
  476.             if (distance < minDistance) {
  477.                 minDistance = distance;
  478.                 nearestIndex = i;
  479.             }
  480.         }
  481.         
  482.         printl("找到最近的目标,距离: " + minDistance.toFixed(2));
  483.         detects[nearestIndex].clickRandom();
  484.         return true;
  485.     } catch (e) {
  486.         printl("错误: " + e);
  487.         return false;
  488.     }
  489. }

  490. // 辅助函数6:查找并点击最相似的目标
  491. function findAndClickBestMatch(cvFile, threshold) {
  492.     printl("【辅助函数】findAndClickBestMatch - 查找并点击最相似的目标");
  493.     try {
  494.         var detects = opencv.findImagesEx(cvFile);
  495.         if (detects == null || detects.length === 0) {
  496.             printl("未找到目标");
  497.             return false;
  498.         }
  499.         
  500.         printl("找到 " + detects.length + " 个目标");
  501.         printl("点击第一个目标(通常是最相似的)");
  502.         detects[0].clickRandom();
  503.         return true;
  504.     } catch (e) {
  505.         printl("错误: " + e);
  506.         return false;
  507.     }
  508. }

  509. // 辅助函数7:等待目标出现并点击
  510. function waitForTargetAndClick(cvFile, maxWaitTime) {
  511.     printl("【辅助函数】waitForTargetAndClick - 等待目标出现并点击");
  512.     printl("最大等待时间: " + maxWaitTime + "毫秒");
  513.    
  514.     var startTime = Date.now();
  515.     while (Date.now() - startTime < maxWaitTime) {
  516.         try {
  517.             var detects = opencv.findImagesEx(cvFile);
  518.             if (detects != null && detects.length > 0) {
  519.                 printl("✓ 目标已出现,点击");
  520.                 detects[0].clickRandom();
  521.                 return true;
  522.             }
  523.             sleep(500);
  524.         } catch (e) {
  525.             printl("查找出错: " + e);
  526.         }
  527.     }
  528.    
  529.     printl("✗ 超时,目标未出现");
  530.     return false;
  531. }

  532. // ========== 方法使用建议 ==========

  533. function printUsageTips() {
  534.     printl("========== 找图方法使用建议 ==========");
  535.     printl("");
  536.     printl("1. 方法选择建议:");
  537.     printl("   - 单图找图 → opencv.findImagesEx(最简单直接)");
  538.     printl("   - 多图查找 → opencv.findImages(支持超时和质量设置)");
  539.     printl("   - 自定义匹配 → opencv.templateMatch(最灵活)");
  540.     printl("");
  541.     printl("2. 性能优化建议:");
  542.     printl("   - 提高相似度阈值(如0.8-0.9)可减少误匹配");
  543.     printl("   - 使用区域参数限定查找范围可提高速度");
  544.     printl("   - 设置合理的超时时间避免长时间等待");
  545.     printl("   - 根据需求选择合适的截图质量(0/1/2)");
  546.     printl("");
  547.     printl("3. 资源管理建议:");
  548.     printl("   - 使用templateMatch时记得调用mat.close()和image.close()");
  549.     printl("   - 避免在循环中频繁截图,可使用OCR.lockOCR()锁定缓存");
  550.     printl("");
  551.     printl("4. 实战技巧:");
  552.     printl("   - 使用safeFindImage()实现带重试的找图");
  553.     printl("   - 使用clickAllTargets()批量点击所有目标");
  554.     printl("   - 使用waitForTargetAndClick()等待目标出现");
  555.     printl("   - 使用findAndClickNearestTarget()点击最近的目标");
  556.     printl("");
  557.     printl("========== 使用建议结束 ==========");
  558. }

  559. // 运行主函数
  560. main();

  561. // 打印使用建议
  562. printUsageTips();
复制代码



unto苹果IOS系统找字OCR方法例子nextnocontent
回复

使用道具 举报

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

本版积分规则

相关导读
信息发布软件苹果系统找图方法完整示例集合
苹果系统找图方法完整示例集合
信息发布软件苹果IOS系统找字OCR方法例子
苹果IOS系统找字OCR方法例子
信息发布软件AIWORK软件数组高级示例
AIWORK软件数组高级示例
信息发布软件AIWROK软件运算符封装库示例
AIWROK软件运算符封装库示例
信息发布软件AIWROK软件语法运行小示例
AIWROK软件语法运行小示例
信息发布软件AIWROK软件JS循环小示例
AIWROK软件JS循环小示例
信息发布软件AIWROK软件H5网页被主脚本获取值用法
AIWROK软件H5网页被主脚本获取值用法
信息发布软件AIWROK软件创建可暂停恢复的多线程任务
AIWROK软件创建可暂停恢复的多线程任务
信息发布软件AIWROK软件类型转换方法例子
AIWROK软件类型转换方法例子
信息发布软件AIWROK软件H5脚本执行与进度显示
AIWROK软件H5脚本执行与进度显示 .
信息发布软件AIWROK软件根据时间段执行异步任务支持多线程并行处理
AIWROK软件根据时间段执行异步任务支持多线程并行处理
信息发布软件H5自动开关执行脚本功能演示
H5自动开关执行脚本功能演示
信息发布软件AIWROK软件H5单选脚本运行示例
AIWROK软件H5单选脚本运行示例
信息发布软件H5任务脚本选择与执行中心
H5任务脚本选择与执行中心
信息发布软件H5里CheckBox控件演示
H5里CheckBox控件演示
信息发布软件AIWROK软件正则用法实际例子
AIWROK软件正则用法实际例子
信息发布软件AIWROK软件权限管理器实现
AIWROK软件权限管理器实现
信息发布软件AIWORK软件节点方法无碍示例子
AIWORK软件节点方法无碍示例子
信息发布软件JSON.stringify 和 JSON.parse 完整示例
JSON.stringify 和 JSON.parse 完整示例
信息发布软件AIWROK软件展示JavaScript各种语句标识符的用法
AIWROK软件展示JavaScript各种语句标识符的用法
信息发布软件JS巧妙地组合使用各种条件语句
JS巧妙地组合使用各种条件语句
信息发布软件AIWROK手机数据库MySQL数据库截图片批量上传操作脚本
AIWROK手机数据库MySQL数据库截图片批量上传操作脚本
信息发布软件HID中文输入智能打字功能
HID中文输入智能打字功能
信息发布软件AIWROK软件对象工具函数库例子
AIWROK软件对象工具函数库例子
信息发布软件AIWROK软件H5交互演示黄色主题
AIWROK软件H5交互演示黄色主题
信息发布软件H5单按钮执行脚本示例
H5单按钮执行脚本示例
信息发布软件苹果H5界面完整调用脚本示例
苹果H5界面完整调用脚本示例
信息发布软件AIWROK软件平台设备信息全面检测工具例子
AIWROK软件平台设备信息全面检测工具例子
信息发布软件AIWROK创建和放大日志窗口并展示动态内容
AIWROK创建和放大日志窗口并展示动态内容
信息发布软件AIWROK软件device相关方法获取设备信息例子
AIWROK软件device相关方法获取设备信息例子[/backcolor]
信息发布软件数据库MySQL实时内容随机调用
数据库MySQL实时内容随机调用
信息发布软件AIWROK软件分享一个特效苹果H5页面
AIWROK软件分享一个特效苹果H5页面
信息发布软件数据库MYQ业务流程心跳程序启动
数据库MYQ业务流程心跳程序启动
信息发布软件数据库MySQL功能支持创建表插入中文数据查询删除功能例子
数据库MySQL功能支持创建表插入中文数据查询删除功能例子
信息发布软件AIWROK软件Zip 高级操作复杂示例
AIWROK软件Zip 高级操作复杂示例
信息发布软件AIWROK软件txt_文件读写方法小结
AIWROK软件txt_文件读写方法小结
信息发布软件AIWROK软件file文件操作方法小结
AIWROK软件file文件操作方法小结
信息发布软件AIWORK软件配置读写H5演示配套脚本
AIWORK软件配置读写H5演示配套脚本
信息发布软件AIWROK配置读写功能演示示例
AIWROK配置读写功能演示示例
信息发布软件AIWROK截图缓存工具
AIWROK截图缓存工具
信息发布软件AIWROK线程许可证工具
AIWROK线程许可证工具
信息发布软件整理了AIWROK环境下常用的Date对象和sleep对象方法
整理了AIWROK环境下常用的Date对象和sleep对象方法
信息发布软件FastUI界面普通用法
FastUI界面普通用法
信息发布软件FastUI界面类[window]方法小结
FastUI界面类[window]方法小结 方法 1:close(关闭指定窗口)方法 2:closeAll(关闭所有窗口)方法 3:loadUI(加载 UI 界面)方法 4:onClose(监听窗口关闭事件)方法 5:onLoad(监听窗口加载事件)方法 6:setFull(设置窗口全屏)方法 7:setHeight(设置窗口高度)方法 8:setHidden(隐藏窗口)方法 9:setLeft(设置窗口 X 轴坐标)方法 10:setTop(设置窗口 Y 轴坐标)方法 11:setVisable(显示隐藏的窗口)方
信息发布软件AIWROK软件按钮监听UI界面与事件监听功能演示
AIWROK软件按钮监听UI界面与事件监听功能演示.
信息发布软件AWIROK软件多选[uiCheckBox]方法小结
AWIROK软件多选方法小结 方法一:findByID 加载多选控件方法二:getAllChecked 获取所有选中项方法三:getAllSelect 获取所有选项方法四:getChecked 获取某个选项是否选中方法五:setChecked 设置某个选项是否选中方法六:setCheckeds 设置多个选项是否选中方法七:setHeight 设置高度
信息发布软件AIWROK日志演示开启日志显示 → 放大 → 关闭代码
AIWROK日志演示开启日志显示 → 放大 → 关闭代码
信息发布软件&#127983;AIWROK数组方法高级应用案例
🏯AIWROK数组方法高级应用案例
信息发布软件AIWROK软件日志悬浮窗简化版自动切换位置
AIWROK软件日志悬浮窗简化版自动切换位置
信息发布软件AIWROK软件String实例演示
AIWROK软件String实例演示
信息发布软件AIWROK软件S内置String类[String]方法小结
AIWROK软件S内置String类[String]方法小结 方法 1:charAt[/backcolor]方法 2:charCodeAt[/backcolor]方法 3:indexOf[/backcolor]方法 4:lastIndexOf[/backcolor]方法 5:length[/backcolor]方法 6:match[/backcolor]方法 7:replace[/backcolor]方法 8:replaceAll[/backcolor]方法 9:split[/backcolor]方法 10:startsWith[/backcolor]方法 11:substr[/backcolor]方法 12:substring[/backcolor]方法 13:trim[/backcol
信息发布软件AIWROK软件完整的WebSocket客户端示例
这段代码是一个完整的WebSocket客户端示例,用于连接到指定的WebSocket服务器并处理各种事件。具体来说,代码的作用如下: 定义服务器地址:首先定义了一个服务器的IP地址和端口号 var ip = "154.37.221.104:8886";。 创建WebSocket对象:尝试创建一个新的WebSocket对象 var ws = new WebSocket();。注意,这里的 new ws() 应该是 new WebSocket()。 添加事件监听器:代码中尝试为WebSocket对象添加事件监听器,但这里有一个错误。
信息发布软件AIWROK软件苹果系统中实现四种基本滑动操作
AIWROK软件苹果系统中实现四种基本滑动操作
信息发布软件hid的滑动没有百分比坐标滑动吗
hid的滑动没有百分比坐标滑动吗
信息发布软件单选控件[uiRadioButton]方法小结
单选控件方法小结 方法 1:加载单选控件[/backcolor]方法 2:获取选中项[/backcolor]方法 3:设置高度[/backcolor]方法 4:设置选中项[/backcolor]
信息发布软件AIWROK软件无障碍触摸操作示例:点击、左右滑动、上下滑动实例
AIWROK软件无障碍触摸操作示例:点击、左右滑动、上下滑动实例
信息发布软件AIWROK软件安卓随机工具应用函数生成
AIWROK软件安卓随机工具应用函数生成
信息发布软件用在AIWORK软件代码中的实用符号分类整理2
用在AIWORK软件代码中的实用符号分类整理2 软件IDE用Emoji符号分类整理(含用途说明)一、表情与情感1. 微笑 [*]😀 笑脸(基础开心反馈,用于操作成功后的友好提示) [*]😃 笑脸大眼睛(强化开心情绪,用于重要任务完成后的积极反馈) [*]😄 笑脸和微笑的眼睛(温和友好的状态,用于日常交互中的正向回应) [*]😁 带着微笑的眼睛(轻松愉悦的反馈,用于轻度成功或趣味操作) [*]
信息发布软件AIWROK软件图像二值化的各种方法和应用场景
AIWROK软件图像二值化的各种方法和应用场景
信息发布软件AIWROK软件找图区分页面变化和卡死状态
AIWROK软件找图区分页面变化和卡死状态
信息发布软件AIWROK苹果系统Map 数据管理[map]小结
AIWROK苹果系统Map 数据管理[map]小结 方法一:add(添加键值对)[/backcolor]方法二:delete(删除指定键值对)[/backcolor]方法三:clear(清空所有键值对)[/backcolor]方法四:get(根据键获取值)[/backcolor]方法五:getAllValue(获取所有值)[/backcolor]方法六:toString(转换为字符串)[/backcolor]完整示例:
信息发布软件AIWROK软件用图找图示例templateMat方法
AIWROK软件用图找图示例templateMat方法
信息发布软件苹果JS代码运行时[selfRunTime]小结
苹果JS代码运行时[selfRunTime]小结 方法一:stop 停止运行[/backcolor]方法二:runOnUIThread ui 线程中运行函数[/backcolor]
信息发布软件苹果系统专用H5创建一个绿色文件
苹果系统专用H5创建一个绿色文件
信息发布软件AIWROK软件技术分享苹果IOS系统获取外部IP
AIWROK软件技术分享苹果IOS系统获取外部IP

QQ|( 京ICP备09078825号 )

本网站信息发布软件,是可以发布论坛,发送信息到各大博客,各大b2b软件自动发布,好不夸张的说:只要手工能发在电脑打开IE能发的网站,用这个宣传软件就可以仿制动作,进行推送发到您想发送的B2B网站或是信息发布平台上,不管是后台,还是前台,都可以进行最方便的广告发布,这个广告发布软件,可以按月购买,还可以试用软件,对网站的验证码也可以完全自动对信息发布,让客户自动找上门,使企业轻松实现b2b发布,这个信息发布软件,均是本站原创正版开发,拥有正版的血统,想要新功能,欢迎提意见给我,一好的分类信息群发软件在手,舍我其谁。QQ896757558

GMT+8, 2026-1-29 09:25 , Processed in 0.203337 second(s), 51 queries .

宣传软件--信息发布软件--b2b软件广告发布软件

快速回复 返回顶部 返回列表