B2BÍøÂçÈí¼þ

 ÕÒ»ØÃÜÂë
 Á¢¼´×¢²á ÉóºËÍøÕ¾ºÅ:QQ:896757558
ËÑË÷
²é¿´: 1|»Ø¸´: 0
´òÓ¡ ÉÏÒ»Ö÷Ìâ ÏÂÒ»Ö÷Ìâ

AIWROKÈí¼þÆ»¹ûϵͳÕÒͼ·½·¨ÍêÕûʾÀý¼¯ºÏ

[¸´ÖÆÁ´½Ó]

1034

Ö÷Ìâ

1039

Ìû×Ó

7413

»ý·Ö

abc

Rank: 9Rank: 9Rank: 9

»ý·Ö
7413
Ìø×ªµ½Ö¸¶¨Â¥²ã
Â¥Ö÷
AIWROKÈí¼þÆ»¹ûϵͳÕÒͼ·½·¨ÍêÕûʾÀý¼¯ºÏ
AIWROKÈí¼þÆ»¹ûϵͳÕÒͼ·½·¨ÍêÕûʾÀý¼¯ºÏ B2BÍøÂçÈí¼þ

AIWROKÈí¼þÆ»¹ûϵͳÕÒͼ·½·¨ÍêÕûʾÀý¼¯ºÏ 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();
¸´ÖÆ´úÂë


»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

±¾°æ»ý·Ö¹æÔò

¹Ø±Õ

QQ|»ÓªÏúÈí¼þ×ÛºÏÌÖÂÛ|»ÓªÏúÈí¼þÓÐÎʱشð|»ÓªÏúÈí¼þ½Ì³Ì×¨Çø|»ÓªÏúÈí¼þPOST½Å±¾·ÖÏí|»ÓªÏúÈí¼þÆÕͨ½Å±¾·ÖÏí|»ÓªÏúÈí¼þÈí¼þ×ÊѶ|»ÓªÏúÈí¼þ¾«Æ·Èí¼þ|»ÓªÏúÈí¼þ¸üй«¸æ|ÓªÏúÈí¼þ|B2BÈí¼þ|B2BÍøÂçÈí¼þ ( ¾©ICP±¸09078825ºÅ )±¾ÍøÕ¾¿ª·¢µÄÓªÏúÈí¼þÊÇÒ»¿îеÄÍøÂçÓªÏúÈí¼þ£¬Õâ¿îÓªÏú¿ÉÒÔÈ¥ÍøÕ¾Èí¼þ£¬²©¿ÍÈí¼þ£¬B2BÈí¼þ£¬·ÖÀàÐÅÏ¢Íø·¢Ìù£¬¿ÉÒÔÇÀɳ·¢£¬¿ÉÒÔµ½°Ù¶ÈÎÄ¿âÉÏ´«WORDÎĵµ£¬¿ÉÒÔµ½Ò»Ð©ÊÇÏà²áÍøÕ¾×Ô¶¯ÉÏ´«Í¼Æ¬£¬Õâ¸ö×Ô¶¯·¢ÌûÈí¼þ×Ô´øÔÆÖ©Ö룬¼Ó¿ìÊÕ¼£¬ÓÐ6ÖÖ¶Ô½Ó´òÂë½Ó¿Ú£¬·½±ã£¬Ð§Âʸߣ¬Ëٶȿ죬¶øÇÒ¶ÔÍ϶¯µÄÑéÖ¤ÂëÈ«ÍøµÚÒ»¼Ò¶À¼ÒÖ§³Ö£¬È«²¿Ô­´´¼¼Êõ£¬¶À¼ÒÑз¢£¬Õý°æÔ­´´´ø°æÈ¨Èí¼þ¡£Ñ¡ÔñÍòÄÜÓªÏúÈí¼þ£¬¾ÍÑ¡ÔñÁËÒ»ÖÖ׬ǮµÄЧÂÊ£¬´ÓûÓб»³¬Ô½¹ý£¬Ò»Ö±ÔÚŬÁ¦Ñз¢Ð¼¼Êõ¡£·Å·ÉÃÎÏ룬½â·ÅË«ÊÖ£¬À´µã´´Ò⣬³É¾ÍÄãµÄÃÎÏ룬¾ÍÔÚÍòÄÜÓªÏúÈí¼þ¿ªÊ¼

map2

GMT+8, 2026-1-29 09:34 , Processed in 0.222985 second(s), 36 queries .

¿ìËٻظ´ ·µ»Ø¶¥²¿ ·µ»ØÁбí