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

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

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

[复制链接]

780

主题

864

帖子

5536

积分

积分
5536
跳转到指定楼层
宣传软件楼主
发表于 2026-1-29 07:28:50 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

资讯缩略图:

资讯发布日期: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方法例子nextAIWROK苹果系统找图方法完整示例集合
回复

使用道具 举报

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

本版积分规则

相关导读
信息发布软件AIWROK软件苹果UI按钮Button方法示例
AIWROK软件苹果UI按钮Button方法示例
信息发布软件AIWROK软件苹果TAB界面视图示例
AIWROK软件苹果TAB界面视图示例
信息发布软件AIWROK苹果系统自带view视图简洁UI界面示例
AIWROK苹果系统自带view视图简洁UI界面示例
信息发布软件汇集HID安卓输入文字的方法和复制粘贴示例
汇集HID安卓输入文字的方法和复制粘贴示例
信息发布软件AIWROK软件找字与OCR方法汇总示例
AIWROK软件找字与OCR方法汇总示例
信息发布软件AIWROK软件找图方法汇总示例
AIWROK软件找图方法汇总示例
信息发布软件AIWROK软件滑动方法集合示例
AIWROK软件滑动方法集合示例
信息发布软件AIWROK软件安卓AIWROK汇集软件点击
AIWROK软件安卓AIWROK汇集软件点击
信息发布软件苹果系统点击方法综合示例
苹果系统点击方法综合示例
信息发布软件AIWROK苹果系统找图方法完整示例集合
AIWROK苹果系统找图方法完整示例集合
信息发布软件苹果系统找图方法完整示例集合
苹果系统找图方法完整示例集合
信息发布软件苹果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]

QQ|( 京ICP备09078825号 )

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

GMT+8, 2026-2-18 11:45 , Processed in 0.328803 second(s), 51 queries .

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

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