B2BÍøÂçÈí¼þ

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

AIWROKÈí¼þÕÒͼ·½·¨»ã×ÜʾÀý

[¸´ÖÆÁ´½Ó]

1039

Ö÷Ìâ

1044

Ìû×Ó

7433

»ý·Ö

abc

Rank: 9Rank: 9Rank: 9

»ý·Ö
7433
Ìø×ªµ½Ö¸¶¨Â¥²ã
Â¥Ö÷

AIWROKÈí¼þÕÒͼ·½·¨»ã×ÜʾÀý
AIWROKÈí¼þÕÒͼ·½·¨»ã×ÜʾÀý B2BÍøÂçÈí¼þ

AIWROKÈí¼þÕÒͼ·½·¨»ã×ÜʾÀý B2BÍøÂçÈí¼þ


  1. // ÕÒͼ·½·¨»ã×ÜʾÀý
  2. // ¼¼Êõ½»Á÷QQȺ711841924Ⱥһ£¬Æ»¹ûÄÚ²âȺ£¬528816639

  3. /**
  4. * »ù´¡ÕÒͼ·½·¨ - ʹÓÃopencv.findImagesEx
  5. * @returns {boolean} ÊÇ·ñÕÒµ½²¢µã»÷Ä¿±ê
  6. */
  7. function basicFindImage() {
  8.     printl("¿ªÊ¼»ù´¡ÕÒͼ: ͼɫ823706.cv");
  9.    
  10.     try {
  11.         // ¼ì²éopencvÊÇ·ñ¿ÉÓÃ
  12.         if (typeof opencv !== 'undefined' && typeof opencv.findImagesEx === 'function') {
  13.             // Ö´ÐÐÕÒͼ²Ù×÷
  14.             var detects = opencv.findImagesEx('ͼɫ823706.cv');
  15.             
  16.             if (detects !== null) {
  17.                 printl("ÕÒµ½Ä¿±êÊý×é: " + detects);
  18.                
  19.                 // µã»÷µÚÒ»¸öÕÒµ½µÄÄ¿±ê
  20.                 if (detects.length > 0) {
  21.                     printl("µã»÷µÚÒ»¸öÕÒµ½µÄÄ¿±ê");
  22.                     detects[0].click();
  23.                     return true;
  24.                 } else {
  25.                     printl("Ä¿±êÊý×éΪ¿Õ");
  26.                     return false;
  27.                 }
  28.             } else {
  29.                 printl("δÕÒµ½Ä¿±ê");
  30.                 return false;
  31.             }
  32.         } else {
  33.             printl("❌ opencvÄ£¿é²»¿ÉÓÃ");
  34.             return false;
  35.         }
  36.     } catch (e) {
  37.         printl("Ö´ÐдíÎó: " + String(e));
  38.         return false;
  39.     }
  40. }

  41. /**
  42. * ¶àͼÏñ²éÕÒ·½·¨ - ʹÓÃopencv.findImagesEx
  43. * @returns {boolean} ÊÇ·ñÕÒµ½²¢µã»÷Ä¿±ê
  44. */
  45. function multiFindImage() {
  46.     printl("¿ªÊ¼¶àͼÏñ²éÕÒ£¬¹² 3 ¸öͼÏñ");
  47.    
  48.     try {
  49.         // ¶à¸öÒª²éÕÒµÄͼÏñ£¨Ê¹ÓÃͬһ¸öCVÎļþ¶à´Î²âÊÔ£©
  50.         var imagePaths = new Array();
  51.         imagePaths[0] = 'ͼɫ823706.cv';
  52.         imagePaths[1] = 'ͼɫ823706.cv';
  53.         imagePaths[2] = 'ͼɫ823706.cv';
  54.         
  55.         // ±éÀúÿ¸öͼÏñ½øÐвéÕÒ
  56.         for (var i = 0; i < imagePaths.length; i++) {
  57.             var imagePath = imagePaths[i];
  58.             printl("ÕýÔÚ²éÕÒ: " + imagePath);
  59.             
  60.             // ¼ì²éopencvÊÇ·ñ¿ÉÓÃ
  61.             if (typeof opencv !== 'undefined' && typeof opencv.findImagesEx === 'function') {
  62.                 var detects = opencv.findImagesEx('ͼɫ823706.cv');
  63.                
  64.                 if (detects != null && detects.length > 0) {
  65.                     printl("ÔÚͼÏñ " + imagePath + " ÕÒµ½ " + detects.length + " ¸öÆ¥Åä½á¹û");
  66.                     
  67.                     // Ö»´¦ÀíµÚÒ»¸öÕÒµ½µÄ½á¹û
  68.                     var result = detects[0];
  69.                     printl("λÖÃ: (" + (result.x || 0) + ", " + (result.y || 0) + ")");
  70.                     printl("³ß´ç: " + (result.width || 0) + "x" + (result.height || 0));
  71.                     printl("ÏàËÆ¶È: " + (result.similarity || 0));
  72.                     
  73.                     // Ö´Ðеã»÷
  74.                     result.click();
  75.                     sleep.second(1);
  76.                     return true;
  77.                 } else {
  78.                     printl("δÕÒµ½ÓÐЧƥÅä: " + imagePath);
  79.                 }
  80.             } else {
  81.                 printl("❌ opencvÄ£¿é²»¿ÉÓÃ");
  82.                 return false;
  83.             }
  84.         }
  85.         return false;
  86.     } catch (e) {
  87.         printl("¶àͼÏñ²éÕÒ¹ý³ÌÖз¢Éú´íÎó: " + String(e));
  88.         return false;
  89.     }
  90. }

  91. /**
  92. * ½ØÍ¼ÕÒͼ·½·¨ - ʹÓÃopencv.findImagesEx
  93. * @returns {boolean} ÊÇ·ñÕÒµ½²¢µã»÷Ä¿±ê
  94. */
  95. function screenshotFindImage() {
  96.     printl("¿ªÊ¼½ØÍ¼ÕÒͼ");
  97.    
  98.     try {
  99.         // ʹÓÃϵͳ½ØÍ¼¹¦ÄÜ£¨Èç¹û¿ÉÓã©
  100.         try {
  101.             // ³¢ÊÔʹÓýØÍ¼¹¦ÄÜ
  102.             var screenshotPath = "/sdcard/screenshot.png";
  103.             printl("³¢ÊÔ±£´æ½ØÍ¼µ½: " + screenshotPath);
  104.             // ×¢Ò⣺screen.captureÔÚijЩ»·¾³ÖпÉÄܲ»¿ÉÓÃ
  105.             if (typeof screen !== 'undefined' && typeof screen.screenShot === 'function') {
  106.                 var screenWidth = screen.getScreenWidth();
  107.                 var screenHeight = screen.getScreenHeight();
  108.                 printl("ÆÁÄ»³ß´ç: " + screenWidth + "x" + screenHeight);
  109.                 var screenshot = screen.screenShot(screenWidth, screenHeight);
  110.                 printl("½ØÍ¼³É¹¦£¬³ß´ç: " + screenshot.getMat().width() + "x" + screenshot.getMat().height());
  111.             }
  112.         } catch (e) {
  113.             printl("½ØÍ¼¹¦Äܲ»¿ÉÓÃ: " + String(e));
  114.         }
  115.         
  116.         // Ö±½Ó½øÐÐÕÒͼ
  117.         var targetImagePath = 'ͼɫ823706.cv';
  118.         printl("ÕýÔÚ²éÕÒͼÏñ: " + targetImagePath);
  119.         
  120.         // ¼ì²éopencvÊÇ·ñ¿ÉÓÃ
  121.         if (typeof opencv !== 'undefined' && typeof opencv.findImagesEx === 'function') {
  122.             var detects = opencv.findImagesEx('ͼɫ823706.cv');
  123.             
  124.             if (detects != null && detects.length > 0) {
  125.                 printl("ÕÒµ½ " + detects.length + " ¸öÆ¥Åä½á¹û");
  126.                
  127.                 for (var i = 0; i < detects.length; i++) {
  128.                     var result = detects[i];
  129.                     printl("½á¹û " + (i+1) + ": x=" + (result.x || 0) + ", y=" + (result.y || 0) +
  130.                            ", width=" + (result.width || 0) + ", height=" + (result.height || 0) +
  131.                            ", similarity=" + (result.similarity || 0));
  132.                 }
  133.                
  134.                 // µã»÷µÚÒ»¸ö½á¹û
  135.                 detects[0].click();
  136.                 return true;
  137.             } else {
  138.                 printl("½ØÍ¼ÕÒͼδÕÒµ½ÓÐЧƥÅä½á¹û");
  139.                 printl("Çë¼ì²éÒÔϼ¸µã:");
  140.                 printl("1. ͼÏñÎļþÊÇ·ñ´æÔÚ: " + targetImagePath);
  141.                 printl("2. ͼÏñÊÇ·ñÔÚÆÁÄ»ÉϿɼû");
  142.                 printl("3. ͼÏñÏàËÆ¶ÈÉèÖÃÊÇ·ñºÏÊÊ");
  143.                 return false;
  144.             }
  145.         } else {
  146.             printl("❌ opencvÄ£¿é²»¿ÉÓÃ");
  147.             return false;
  148.         }
  149.     } catch (e) {
  150.         printl("½ØÍ¼ÕÒͼ¹ý³ÌÖз¢Éú´íÎó: " + String(e));
  151.         return false;
  152.     }
  153. }

  154. /**
  155. * SIFTͼÏñ²éÕÒ·½·¨ - ʹÓÃopencv.findImageOneSift
  156. * @returns {boolean} ÊÇ·ñÕÒµ½²¢µã»÷Ä¿±ê
  157. */
  158. function siftFindImage() {
  159.     printl("¿ªÊ¼SIFTͼÏñ²éÕÒ");
  160.    
  161.     try {
  162.         // ¼ì²éopencvÊÇ·ñ¿ÉÓÃ
  163.         if (typeof opencv !== 'undefined' && typeof opencv.findImageOneSift === 'function') {
  164.             // »ñÈ¡ÆÁÄ»³ß´ç
  165.             var screenWidth = 900;
  166.             var screenHeight = 1600;
  167.             
  168.             try {
  169.                 if (typeof screen !== 'undefined') {
  170.                     if (typeof screen.getScreenWidth === 'function') {
  171.                         screenWidth = screen.getScreenWidth();
  172.                         screenHeight = screen.getScreenHeight();
  173.                     }
  174.                 }
  175.             } catch (e) {
  176.                 printl("»ñÈ¡ÆÁÄ»³ß´çʧ°Ü£¬Ê¹ÓÃĬÈÏÖµ: " + String(e));
  177.             }
  178.             
  179.             printl("´óͼ³ß´ç: " + screenWidth + "x" + screenHeight);
  180.             printl("Сͼ³ß´ç: 300x300");
  181.             
  182.             // ½ØÈ¡´óͼºÍСͼ
  183.             var bigMat = screen.screenShot(screenWidth, screenHeight, 100).getMat();
  184.             var smallMat = screen.screenShot(300, 300, 100).getMat();
  185.             
  186.             // ¶¨ÒåËÑË÷ÇøÓò
  187.             var searchRegion = [0, 0, 1, 1]; // Õû¸öÆÁÄ»
  188.             
  189.             // Ö´ÐÐSIFTͼÏñ²éÕÒ
  190.             var result = opencv.findImageOneSift(bigMat, smallMat, 60, 50, searchRegion);
  191.             
  192.             if (result !== null) {
  193.                 printl("SIFTͼÏñ²éÕҳɹ¦");
  194.                 printl("λÖÃ: (" + result.x + ", " + result.y + ")");
  195.                 printl("³ß´ç: " + result.width + "x" + result.height);
  196.                 printl("ÏàËÆ¶È: " + result.similarity);
  197.                
  198.                 // µã»÷ÕÒµ½µÄλÖÃ
  199.                 result.click();
  200.                
  201.                 // ÊÍ·Å×ÊÔ´
  202.                 bigMat = null;
  203.                 smallMat = null;
  204.                
  205.                 return true;
  206.             } else {
  207.                 printl("SIFTͼÏñ²éÕÒδÕÒµ½Æ¥Åä½á¹û");
  208.                
  209.                 // ÊÍ·Å×ÊÔ´
  210.                 bigMat = null;
  211.                 smallMat = null;
  212.                
  213.                 return false;
  214.             }
  215.         } else {
  216.             printl("SIFT·½·¨ÔÚµ±Ç°AIWROK°æ±¾Öв»¿ÉÓã¬Ìø¹ýÖ´ÐÐ");
  217.             return false;
  218.         }
  219.     } catch (e) {
  220.         printl("SIFT·½·¨ÔÚµ±Ç°AIWROK°æ±¾Öв»¿ÉÓã¬Ìø¹ýÖ´ÐÐ");
  221.         return false;
  222.     }
  223. }

  224. /**
  225. * ¶àµãÕÒÉ«·½·¨ - ʹÓÃopencv.findMultiColor
  226. * @returns {boolean} ÊÇ·ñÕÒµ½²¢µã»÷Ä¿±ê
  227. */
  228. function multiColorFind() {
  229.     printl("¿ªÊ¼¶àµãÕÒÉ«");
  230.    
  231.     try {
  232.         // »ñÈ¡ÆÁÄ»³ß´ç
  233.         var screenWidth = 900;
  234.         var screenHeight = 1600;
  235.         
  236.         try {
  237.             if (typeof screen !== 'undefined') {
  238.                 if (typeof screen.getScreenWidth === 'function') {
  239.                     screenWidth = screen.getScreenWidth();
  240.                     screenHeight = screen.getScreenHeight();
  241.                 }
  242.             }
  243.         } catch (e) {
  244.             printl("»ñÈ¡ÆÁÄ»³ß´çʧ°Ü£¬Ê¹ÓÃĬÈÏÖµ: " + String(e));
  245.         }
  246.         
  247.         printl("ͼÏñ³ß´ç: " + screenWidth + "x" + screenHeight);
  248.         
  249.         // ½ØÈ¡ÆÁĻͼÏñ
  250.         var screenMat = screen.screenShot(screenWidth, screenHeight, 100).getMat();
  251.         
  252.         // ¶¨Òå»ù×¼µãºÍÑÕÉ«µã
  253.         var basePoint = "";
  254.         var colorPoints = [];
  255.         var colorTolerance = 0;
  256.         var offsetTolerance = 0;
  257.         var region = [0, 0, 1, 1]; // Õû¸öÆÁÄ»
  258.         var similarity = 0.9;
  259.         
  260.         // ¼ì²éopencvÊÇ·ñ¿ÉÓÃ
  261.         if (typeof opencv !== 'undefined' && typeof opencv.findMultiColor === 'function') {
  262.             var result = opencv.findMultiColor(screenMat, basePoint, colorPoints, colorTolerance, offsetTolerance, region, similarity);
  263.             
  264.             if (result !== null) {
  265.                 printl("¶àµãÕÒÉ«³É¹¦");
  266.                 printl("λÖÃ: (" + result.x + ", " + result.y + ")");
  267.                
  268.                 // µã»÷ÕÒµ½µÄλÖÃ
  269.                 touch.tap(result.x, result.y);
  270.                
  271.                 // ÊÍ·Å×ÊÔ´
  272.                 screenMat = null;
  273.                
  274.                 return true;
  275.             } else {
  276.                 printl("¶àµãÕÒɫδÕÒµ½ÓÐЧƥÅäÏî");
  277.                
  278.                 // ÊÍ·Å×ÊÔ´
  279.                 screenMat = null;
  280.                
  281.                 return false;
  282.             }
  283.         } else {
  284.             printl("❌ opencvÄ£¿é²»¿ÉÓûòfindMultiColor·½·¨²»´æÔÚ");
  285.             
  286.             // ÊÍ·Å×ÊÔ´
  287.             screenMat = null;
  288.             
  289.             return false;
  290.         }
  291.     } catch (e) {
  292.         printl("Ö´ÐжàµãÕÒɫʱ·¢Éú´íÎó: " + String(e));
  293.         return false;
  294.     }
  295. }

  296. /**
  297. * ʹÓÃauto.checkImage²éÕÒͼ
  298. * @param {Array} images - ͼÏñÊý×é
  299. * @param {number} similarity - ÏàËÆ¶È
  300. * @param {number} timeout - ³¬Ê±Ê±¼ä
  301. * @param {Array} region - ÇøÓò
  302. * @returns {boolean} ÊÇ·ñÕÒµ½²¢µã»÷Ä¿±ê
  303. */
  304. function autoCheckImage(images, similarity, timeout, region) {
  305.     printl("¿ªÊ¼Ê¹ÓÃauto.checkImage²éÕÒͼ");
  306.    
  307.     try {
  308.         // ¼ì²éautoÊÇ·ñ¿ÉÓÃ
  309.         if (typeof auto !== 'undefined' && typeof auto.checkImage === 'function') {
  310.             var result = auto.checkImage(images, similarity, timeout, 0, region);
  311.             
  312.             if (result !== null) {
  313.                 printl("auto.checkImage²éÕҳɹ¦");
  314.                 printl("λÖÃ: (" + result.x + ", " + result.y + ")");
  315.                
  316.                 // µã»÷ÕÒµ½µÄλÖÃ
  317.                 touch.tap(result.x, result.y);
  318.                
  319.                 return true;
  320.             } else {
  321.                 printl("auto.checkImageδÕÒµ½Æ¥Åä½á¹û");
  322.                 return false;
  323.             }
  324.         } else {
  325.             printl("❌ autoÄ£¿é²»¿ÉÓûòcheckImage·½·¨²»´æÔÚ");
  326.             return false;
  327.         }
  328.     } catch (e) {
  329.         printl("auto.checkImageÖ´ÐдíÎó: " + String(e));
  330.         return false;
  331.     }
  332. }

  333. /**
  334. * ʹÓÃauto.findBestImage²éÕÒ×î¼Ñͼ
  335. * @param {Array} images - ͼÏñÊý×é
  336. * @param {number} similarity - ÏàËÆ¶È
  337. * @param {number} timeout - ³¬Ê±Ê±¼ä
  338. * @param {Array} region - ÇøÓò
  339. * @returns {boolean} ÊÇ·ñÕÒµ½²¢µã»÷Ä¿±ê
  340. */
  341. function autoFindBestImage(images, similarity, timeout, region) {
  342.     printl("¿ªÊ¼Ê¹ÓÃauto.findBestImage²éÕÒ×î¼Ñͼ");
  343.    
  344.     try {
  345.         // ¼ì²éautoÊÇ·ñ¿ÉÓÃ
  346.         if (typeof auto !== 'undefined' && typeof auto.findBestImage === 'function') {
  347.             var result = auto.findBestImage(images, similarity, timeout, 0, region);
  348.             
  349.             if (result !== null) {
  350.                 printl("auto.findBestImage²éÕҳɹ¦");
  351.                 printl("λÖÃ: (" + result.x + ", " + result.y + ")");
  352.                 printl("ÏàËÆ¶È: " + result.similarity);
  353.                
  354.                 // µã»÷ÕÒµ½µÄλÖÃ
  355.                 touch.tap(result.x, result.y);
  356.                
  357.                 return true;
  358.             } else {
  359.                 printl("auto.findBestImageδÕÒµ½Æ¥Åä½á¹û");
  360.                 return false;
  361.             }
  362.         } else {
  363.             printl("❌ autoÄ£¿é²»¿ÉÓûòfindBestImage·½·¨²»´æÔÚ");
  364.             return false;
  365.         }
  366.     } catch (e) {
  367.         printl("auto.findBestImageÖ´ÐдíÎó: " + String(e));
  368.         return false;
  369.     }
  370. }

  371. /**
  372. * ʹÓÃauto.findImagesÕÒ¶àͼ
  373. * @param {Array} images - ͼÏñÊý×é
  374. * @param {number} similarity - ÏàËÆ¶È
  375. * @param {number} timeout - ³¬Ê±Ê±¼ä
  376. * @param {number} maxResults - ×î´ó½á¹ûÊý
  377. * @param {Array} region - ÇøÓò
  378. * @returns {boolean} ÊÇ·ñÕÒµ½²¢µã»÷Ä¿±ê
  379. */
  380. function autoFindImages(images, similarity, timeout, maxResults, region) {
  381.     printl("¿ªÊ¼Ê¹ÓÃauto.findImagesÕÒ¶àͼ");
  382.    
  383.     try {
  384.         // ¼ì²éautoÊÇ·ñ¿ÉÓÃ
  385.         if (typeof auto !== 'undefined' && typeof auto.findImages === 'function') {
  386.             var results = auto.findImages(images, similarity, timeout, maxResults, region);
  387.             
  388.             if (results !== null && results.length > 0) {
  389.                 printl("auto.findImagesÕÒµ½ " + results.length + " ¸öÆ¥Åä½á¹û");
  390.                
  391.                 // ´¦ÀíµÚÒ»¸ö½á¹û
  392.                 var result = results[0];
  393.                 printl("λÖÃ: (" + result.x + ", " + result.y + ")");
  394.                 printl("ÏàËÆ¶È: " + result.similarity);
  395.                
  396.                 // µã»÷ÕÒµ½µÄλÖÃ
  397.                 touch.tap(result.x, result.y);
  398.                
  399.                 return true;
  400.             } else {
  401.                 printl("auto.findImagesδÕÒµ½Æ¥Åä½á¹û");
  402.                 return false;
  403.             }
  404.         } else {
  405.             printl("❌ autoÄ£¿é²»¿ÉÓûòfindImages·½·¨²»´æÔÚ");
  406.             return false;
  407.         }
  408.     } catch (e) {
  409.         printl("auto.findImagesÖ´ÐдíÎó: " + String(e));
  410.         return false;
  411.     }
  412. }

  413. /**
  414. * ʹÓÃauto.findColors¶àµãÕÒÉ«
  415. * @param {Object} mat - ͼÏñ¾ØÕó
  416. * @param {string} basePoint - »ù×¼µã
  417. * @param {Array} colorPoints - ÑÕÉ«µãÊý×é
  418. * @param {number} colorTolerance - ÑÕÉ«Èݲî
  419. * @param {number} offsetTolerance - Æ«ÒÆÈݲî
  420. * @param {Array} region - ÇøÓò
  421. * @param {number} similarity - ÏàËÆ¶È
  422. * @returns {boolean} ÊÇ·ñÕÒµ½²¢µã»÷Ä¿±ê
  423. */
  424. function autoFindColors(mat, basePoint, colorPoints, colorTolerance, offsetTolerance, region, similarity) {
  425.     printl("¿ªÊ¼Ê¹ÓÃauto.findColors¶àµãÕÒÉ«");
  426.    
  427.     try {
  428.         // ¼ì²éautoÊÇ·ñ¿ÉÓÃ
  429.         if (typeof auto !== 'undefined' && typeof auto.findColors === 'function') {
  430.             var result = auto.findColors(mat, basePoint, colorPoints, colorTolerance, offsetTolerance, region, similarity);
  431.             
  432.             if (result !== null) {
  433.                 printl("auto.findColors¶àµãÕÒÉ«³É¹¦");
  434.                 printl("λÖÃ: (" + result.x + ", " + result.y + ")");
  435.                
  436.                 // µã»÷ÕÒµ½µÄλÖÃ
  437.                 touch.tap(result.x, result.y);
  438.                
  439.                 return true;
  440.             } else {
  441.                 printl("auto.findColorsδÕÒµ½Æ¥Åä½á¹û");
  442.                 return false;
  443.             }
  444.         } else {
  445.             printl("❌ autoÄ£¿é²»¿ÉÓûòfindColors·½·¨²»´æÔÚ");
  446.             return false;
  447.         }
  448.     } catch (e) {
  449.         printl("auto.findColorsÖ´ÐдíÎó: " + String(e));
  450.         return false;
  451.     }
  452. }

  453. /**
  454. * ʹÓÃauto.findTextÕÒÎÄ×Ö
  455. * @param {string} text - Òª²éÕÒµÄÎÄ×Ö
  456. * @param {number} similarity - ÏàËÆ¶È
  457. * @param {Array} region - ÇøÓò
  458. * @returns {boolean} ÊÇ·ñÕÒµ½²¢µã»÷Ä¿±ê
  459. */
  460. function autoFindText(text, similarity, region) {
  461.     printl("¿ªÊ¼Ê¹ÓÃauto.findTextÕÒÎÄ×Ö: " + text);
  462.    
  463.     try {
  464.         // ¼ì²éautoÊÇ·ñ¿ÉÓÃ
  465.         if (typeof auto !== 'undefined' && typeof auto.findText === 'function') {
  466.             var result = auto.findText(text, similarity, region);
  467.             
  468.             if (result !== null) {
  469.                 printl("auto.findText²éÕҳɹ¦");
  470.                 printl("λÖÃ: (" + result.x + ", " + result.y + ")");
  471.                
  472.                 // µã»÷ÕÒµ½µÄλÖÃ
  473.                 touch.tap(result.x, result.y);
  474.                
  475.                 return true;
  476.             } else {
  477.                 printl("auto.findTextδÕÒµ½Æ¥Åä½á¹û");
  478.                 return false;
  479.             }
  480.         } else {
  481.             printl("❌ autoÄ£¿é²»¿ÉÓûòfindText·½·¨²»´æÔÚ");
  482.             return false;
  483.         }
  484.     } catch (e) {
  485.         printl("auto.findTextÖ´ÐдíÎó: " + String(e));
  486.         return false;
  487.     }
  488. }

  489. /**
  490. * ʹÓÃai.findImageÕÒ¶àͼ
  491. * @param {Object} image - ͼÏñ
  492. * @param {Array} rect - ¾ØÐÎÇøÓò
  493. * @param {string} model - Ä£ÐÍÃû
  494. * @param {number} targetSize - Ä¿±ê´óС
  495. * @param {string} sort - ÅÅÐò·½Ê½
  496. * @param {number} similarity - ÏàËÆ¶È
  497. * @returns {boolean} ÊÇ·ñÕÒµ½²¢µã»÷Ä¿±ê
  498. */
  499. function aiFindImage(image, rect, model, targetSize, sort, similarity) {
  500.     printl("¿ªÊ¼Ê¹ÓÃai.findImageÕÒ¶àͼ");
  501.    
  502.     try {
  503.         // ¼ì²éaiÊÇ·ñ¿ÉÓÃ
  504.         if (typeof ai !== 'undefined' && typeof ai.findImage === 'function') {
  505.             var results = ai.findImage(image, rect, model, targetSize, sort, similarity);
  506.             
  507.             if (results !== null && results.length > 0) {
  508.                 printl("ai.findImageÕÒµ½ " + results.length + " ¸öÆ¥Åä½á¹û");
  509.                
  510.                 // ´¦ÀíµÚÒ»¸ö½á¹û
  511.                 var result = results[0];
  512.                 printl("λÖÃ: (" + result.x + ", " + result.y + ")");
  513.                 printl("ÏàËÆ¶È: " + result.similarity);
  514.                
  515.                 // µã»÷ÕÒµ½µÄλÖÃ
  516.                 touch.tap(result.x, result.y);
  517.                
  518.                 return true;
  519.             } else {
  520.                 printl("ai.findImageδÕÒµ½Æ¥Åä½á¹û");
  521.                 return false;
  522.             }
  523.         } else {
  524.             printl("❌ aiÄ£¿é²»¿ÉÓûòfindImage·½·¨²»´æÔÚ");
  525.             return false;
  526.         }
  527.     } catch (e) {
  528.         printl("ai.findImageÖ´ÐдíÎó: " + String(e));
  529.         return false;
  530.     }
  531. }

  532. /**
  533. * ʹÓÃai.findImageOneÕÒµ¥Í¼
  534. * @param {Object} image - ͼÏñ
  535. * @param {Array} rect - ¾ØÐÎÇøÓò
  536. * @param {string} model - Ä£ÐÍÃû
  537. * @param {number} targetSize - Ä¿±ê´óС
  538. * @param {string} sort - ÅÅÐò·½Ê½
  539. * @param {number} similarity - ÏàËÆ¶È
  540. * @returns {boolean} ÊÇ·ñÕÒµ½²¢µã»÷Ä¿±ê
  541. */
  542. function aiFindImageOne(image, rect, model, targetSize, sort, similarity) {
  543.     printl("¿ªÊ¼Ê¹ÓÃai.findImageOneÕÒµ¥Í¼");
  544.    
  545.     try {
  546.         // ¼ì²éaiÊÇ·ñ¿ÉÓÃ
  547.         if (typeof ai !== 'undefined' && typeof ai.findImageOne === 'function') {
  548.             var result = ai.findImageOne(image, rect, model, targetSize, sort, similarity);
  549.             
  550.             if (result !== null) {
  551.                 printl("ai.findImageOne²éÕҳɹ¦");
  552.                 printl("λÖÃ: (" + result.x + ", " + result.y + ")");
  553.                 printl("ÏàËÆ¶È: " + result.similarity);
  554.                
  555.                 // µã»÷ÕÒµ½µÄλÖÃ
  556.                 touch.tap(result.x, result.y);
  557.                
  558.                 return true;
  559.             } else {
  560.                 printl("ai.findImageOneδÕÒµ½Æ¥Åä½á¹û");
  561.                 return false;
  562.             }
  563.         } else {
  564.             printl("❌ aiÄ£¿é²»¿ÉÓûòfindImageOne·½·¨²»´æÔÚ");
  565.             return false;
  566.         }
  567.     } catch (e) {
  568.         printl("ai.findImageOneÖ´ÐдíÎó: " + String(e));
  569.         return false;
  570.     }
  571. }

  572. /**
  573. * ʹÓÃai.setSpeedÉèÖÃAIËÙ¶È
  574. * @param {number} speed - ËÙ¶ÈÖµ
  575. * @returns {boolean} ÊÇ·ñÉèÖóɹ¦
  576. */
  577. function aiSetSpeed(speed) {
  578.     printl("¿ªÊ¼Ê¹ÓÃai.setSpeedÉèÖÃËÙ¶È: " + speed);
  579.    
  580.     try {
  581.         // ¼ì²éaiÊÇ·ñ¿ÉÓÃ
  582.         if (typeof ai !== 'undefined' && typeof ai.setSpeed === 'function') {
  583.             ai.setSpeed(speed);
  584.             printl("ai.setSpeedÉèÖóɹ¦");
  585.             return true;
  586.         } else {
  587.             printl("❌ aiÄ£¿é²»¿ÉÓûòsetSpeed·½·¨²»´æÔÚ");
  588.             return false;
  589.         }
  590.     } catch (e) {
  591.         printl("ai.setSpeedÖ´ÐдíÎó: " + String(e));
  592.         return false;
  593.     }
  594. }

  595. /**
  596. * ʹÓÃopencv.findImageOneKAZEÕÒͼ£¨KAZEËã·¨£©
  597. * @param {Object} bigMat - ´óͼ¾ØÕó
  598. * @param {Object} smallMat - Сͼ¾ØÕó
  599. * @param {Object} resultMat - ½á¹û¾ØÕó
  600. * @returns {boolean} ÊÇ·ñÕÒµ½²¢µã»÷Ä¿±ê
  601. */
  602. function opencvFindImageOneKAZE(bigMat, smallMat, resultMat) {
  603.     printl("¿ªÊ¼Ê¹ÓÃopencv.findImageOneKAZEÕÒͼ");
  604.    
  605.     try {
  606.         // ¼ì²éopencvÊÇ·ñ¿ÉÓÃ
  607.         if (typeof opencv !== 'undefined' && typeof opencv.findImageOneKAZE === 'function') {
  608.             var result = opencv.findImageOneKAZE(bigMat, smallMat, resultMat);
  609.             
  610.             if (result !== null) {
  611.                 printl("opencv.findImageOneKAZE²éÕҳɹ¦");
  612.                 printl("λÖÃ: (" + result.x + ", " + result.y + ")");
  613.                 printl("ÏàËÆ¶È: " + result.similarity);
  614.                
  615.                 // µã»÷ÕÒµ½µÄλÖÃ
  616.                 touch.tap(result.x, result.y);
  617.                
  618.                 return true;
  619.             } else {
  620.                 printl("opencv.findImageOneKAZEδÕÒµ½Æ¥Åä½á¹û");
  621.                 return false;
  622.             }
  623.         } else {
  624.             printl("❌ opencvÄ£¿é²»¿ÉÓûòfindImageOneKAZE·½·¨²»´æÔÚ");
  625.             return false;
  626.         }
  627.     } catch (e) {
  628.         printl("opencv.findImageOneKAZEÖ´ÐдíÎó: " + String(e));
  629.         return false;
  630.     }
  631. }

  632. /**
  633. * ʹÓÃopencv.findImageOneSiftÕÒͼ£¨SIFTËã·¨£©
  634. * @param {Object} bigMat - ´óͼ¾ØÕó
  635. * @param {Object} smallMat - Сͼ¾ØÕó
  636. * @param {number} param1 - ²ÎÊý1
  637. * @param {number} param2 - ²ÎÊý2
  638. * @param {Array} region - ÇøÓò
  639. * @returns {boolean} ÊÇ·ñÕÒµ½²¢µã»÷Ä¿±ê
  640. */
  641. function opencvFindImageOneSift(bigMat, smallMat, param1, param2, region) {
  642.     printl("¿ªÊ¼Ê¹ÓÃopencv.findImageOneSiftÕÒͼ");
  643.    
  644.     try {
  645.         // ¼ì²éopencvÊÇ·ñ¿ÉÓÃ
  646.         if (typeof opencv !== 'undefined' && typeof opencv.findImageOneSift === 'function') {
  647.             var result = opencv.findImageOneSift(bigMat, smallMat, param1, param2, region);
  648.             
  649.             if (result !== null) {
  650.                 printl("opencv.findImageOneSift²éÕҳɹ¦");
  651.                 printl("λÖÃ: (" + result.x + ", " + result.y + ")");
  652.                 printl("ÏàËÆ¶È: " + result.similarity);
  653.                
  654.                 // µã»÷ÕÒµ½µÄλÖÃ
  655.                 touch.tap(result.x, result.y);
  656.                
  657.                 return true;
  658.             } else {
  659.                 printl("opencv.findImageOneSiftδÕÒµ½Æ¥Åä½á¹û");
  660.                 return false;
  661.             }
  662.         } else {
  663.             printl("❌ opencvÄ£¿é²»¿ÉÓûòfindImageOneSift·½·¨²»´æÔÚ");
  664.             return false;
  665.         }
  666.     } catch (e) {
  667.         printl("opencv.findImageOneSiftÖ´ÐдíÎó: " + String(e));
  668.         return false;
  669.     }
  670. }

  671. /**
  672. * ʹÓÃopencv.findImagesExÕÒͼ
  673. * @param {string} cvFile - CVÎļþÃû
  674. * @returns {boolean} ÊÇ·ñÕÒµ½²¢µã»÷Ä¿±ê
  675. */
  676. function opencvFindImagesEx(cvFile) {
  677.     printl("¿ªÊ¼Ê¹ÓÃopencv.findImagesExÕÒͼ: " + cvFile);
  678.    
  679.     try {
  680.         // ¼ì²éopencvÊÇ·ñ¿ÉÓÃ
  681.         if (typeof opencv !== 'undefined' && typeof opencv.findImagesEx === 'function') {
  682.             var detects = opencv.findImagesEx(cvFile);
  683.             
  684.             if (detects !== null && detects.length > 0) {
  685.                 printl("opencv.findImagesExÕÒµ½ " + detects.length + " ¸öÆ¥Åä½á¹û");
  686.                
  687.                 // ´¦ÀíµÚÒ»¸ö½á¹û
  688.                 var result = detects[0];
  689.                 printl("λÖÃ: (" + (result.x || 0) + ", " + (result.y || 0) + ")");
  690.                 printl("³ß´ç: " + (result.width || 0) + "x" + (result.height || 0));
  691.                 printl("ÏàËÆ¶È: " + (result.similarity || 0));
  692.                
  693.                 // µã»÷ÕÒµ½µÄλÖÃ
  694.                 result.click();
  695.                
  696.                 return true;
  697.             } else {
  698.                 printl("opencv.findImagesExδÕÒµ½Æ¥Åä½á¹û");
  699.                 return false;
  700.             }
  701.         } else {
  702.             printl("❌ opencvÄ£¿é²»¿ÉÓûòfindImagesEx·½·¨²»´æÔÚ");
  703.             return false;
  704.         }
  705.     } catch (e) {
  706.         printl("opencv.findImagesExÖ´ÐдíÎó: " + String(e));
  707.         return false;
  708.     }
  709. }

  710. /**
  711. * ʹÓÃopencv.findMultiColorÕÒ¶àÉ«
  712. * @param {Object} mat - ͼÏñ¾ØÕó
  713. * @param {string} basePoint - »ù×¼µã
  714. * @param {Array} colorPoints - ÑÕÉ«µãÊý×é
  715. * @param {number} colorTolerance - ÑÕÉ«Èݲî
  716. * @param {number} offsetTolerance - Æ«ÒÆÈݲî
  717. * @param {Array} region - ÇøÓò
  718. * @param {number} similarity - ÏàËÆ¶È
  719. * @returns {boolean} ÊÇ·ñÕÒµ½²¢µã»÷Ä¿±ê
  720. */
  721. function opencvFindMultiColor(mat, basePoint, colorPoints, colorTolerance, offsetTolerance, region, similarity) {
  722.     printl("¿ªÊ¼Ê¹ÓÃopencv.findMultiColorÕÒ¶àÉ«");
  723.    
  724.     try {
  725.         // ¼ì²éopencvÊÇ·ñ¿ÉÓÃ
  726.         if (typeof opencv !== 'undefined' && typeof opencv.findMultiColor === 'function') {
  727.             var result = opencv.findMultiColor(mat, basePoint, colorPoints, colorTolerance, offsetTolerance, region, similarity);
  728.             
  729.             if (result !== null) {
  730.                 printl("opencv.findMultiColor²éÕҳɹ¦");
  731.                 printl("λÖÃ: (" + result.x + ", " + result.y + ")");
  732.                
  733.                 // µã»÷ÕÒµ½µÄλÖÃ
  734.                 touch.tap(result.x, result.y);
  735.                
  736.                 return true;
  737.             } else {
  738.                 printl("opencv.findMultiColorδÕÒµ½Æ¥Åä½á¹û");
  739.                 return false;
  740.             }
  741.         } else {
  742.             printl("❌ opencvÄ£¿é²»¿ÉÓûòfindMultiColor·½·¨²»´æÔÚ");
  743.             return false;
  744.         }
  745.     } catch (e) {
  746.         printl("opencv.findMultiColorÖ´ÐдíÎó: " + String(e));
  747.         return false;
  748.     }
  749. }

  750. /**
  751. * ʹÓÃopencv.findMultiColorExÕÒ¶àÉ«À©Õ¹
  752. * @param {string} params - ²ÎÊý
  753. * @returns {boolean} ÊÇ·ñÕÒµ½²¢µã»÷Ä¿±ê
  754. */
  755. function opencvFindMultiColorEx(params) {
  756.     printl("¿ªÊ¼Ê¹ÓÃopencv.findMultiColorExÕÒ¶àÉ«À©Õ¹");
  757.    
  758.     try {
  759.         // ¼ì²éopencvÊÇ·ñ¿ÉÓÃ
  760.         if (typeof opencv !== 'undefined' && typeof opencv.findMultiColorEx === 'function') {
  761.             var result = opencv.findMultiColorEx(params);
  762.             
  763.             if (result !== null) {
  764.                 printl("opencv.findMultiColorEx²éÕҳɹ¦");
  765.                 printl("λÖÃ: (" + result.x + ", " + result.y + ")");
  766.                
  767.                 // µã»÷ÕÒµ½µÄλÖÃ
  768.                 touch.tap(result.x, result.y);
  769.                
  770.                 return true;
  771.             } else {
  772.                 printl("opencv.findMultiColorExδÕÒµ½Æ¥Åä½á¹û");
  773.                 return false;
  774.             }
  775.         } else {
  776.             printl("❌ opencvÄ£¿é²»¿ÉÓûòfindMultiColorEx·½·¨²»´æÔÚ");
  777.             return false;
  778.         }
  779.     } catch (e) {
  780.         printl("opencv.findMultiColorExÖ´ÐдíÎó: " + String(e));
  781.         return false;
  782.     }
  783. }

  784. /**
  785. * ʹÓÃopencv.findImagesÕÒ¶àͼ
  786. * @param {Array} images - ͼÏñÊý×é
  787. * @returns {boolean} ÊÇ·ñÕÒµ½²¢µã»÷Ä¿±ê
  788. */
  789. function opencvFindImages(images) {
  790.     printl("¿ªÊ¼Ê¹ÓÃopencv.findImagesÕÒ¶àͼ");
  791.    
  792.     try {
  793.         // ¼ì²éopencvÊÇ·ñ¿ÉÓÃ
  794.         if (typeof opencv !== 'undefined' && typeof opencv.findImages === 'function') {
  795.             var results = opencv.findImages(images);
  796.             
  797.             if (results !== null && results.length > 0) {
  798.                 printl("opencv.findImagesÕÒµ½ " + results.length + " ¸öÆ¥Åä½á¹û");
  799.                
  800.                 // ´¦ÀíµÚÒ»¸ö½á¹û
  801.                 var result = results[0];
  802.                 printl("λÖÃ: (" + result.x + ", " + result.y + ")");
  803.                 printl("ÏàËÆ¶È: " + result.similarity);
  804.                
  805.                 // µã»÷ÕÒµ½µÄλÖÃ
  806.                 touch.tap(result.x, result.y);
  807.                
  808.                 return true;
  809.             } else {
  810.                 printl("opencv.findImagesδÕÒµ½Æ¥Åä½á¹û");
  811.                 return false;
  812.             }
  813.         } else {
  814.             printl("❌ opencvÄ£¿é²»¿ÉÓûòfindImages·½·¨²»´æÔÚ");
  815.             return false;
  816.         }
  817.     } catch (e) {
  818.         printl("opencv.findImagesÖ´ÐдíÎó: " + String(e));
  819.         return false;
  820.     }
  821. }



  822. /**
  823. * ´´½¨Í¼Ïñ¶ÔÏó
  824. * @param {string} path - ͼÏñ·¾¶
  825. * @returns {Object} ͼÏñ¶ÔÏó
  826. */
  827. function createImage(path) {
  828.     try {
  829.         var img = new image();
  830.         img.read(path);
  831.         return img;
  832.     } catch (e) {
  833.         printl("´´½¨Í¼Ïñ¶ÔÏó´íÎó: " + String(e));
  834.         return null;
  835.     }
  836. }

  837. /**
  838. * ÑÝʾKAZEͼÏñ²éÕÒ
  839. * @returns {boolean} ÊÇ·ñ³É¹¦
  840. */
  841. function demonstrateKAZEFindImage() {
  842.     printl("¿ªÊ¼ÑÝʾKAZEͼÏñ²éÕÒ");
  843.    
  844.     try {
  845.         // ´´½¨Í¼Ïñ¶ÔÏó
  846.         var image1 = createImage("sdcard/auto/1.jpg");
  847.         var image2 = createImage("sdcard/auto/2.jpg");
  848.         
  849.         if (image1 && image2) {
  850.             var c = new Mat();
  851.             var res = opencv.findImageOneKAZE(image2.getMat(), image1.getMat(), c);
  852.             printl(res);
  853.             return true;
  854.         } else {
  855.             printl("´´½¨Í¼Ïñ¶ÔÏóʧ°Ü");
  856.             return false;
  857.         }
  858.     } catch (e) {
  859.         printl("KAZEͼÏñ²éÕÒÑÝʾ´íÎó: " + String(e));
  860.         return false;
  861.     }
  862. }

  863. /**
  864. * ÑÝʾËùÓÐÕÒͼ·½·¨
  865. */
  866. function demonstrateAllFindImageMethods() {
  867.     printl("=== AIWROK ÕÒͼ·½·¨»ã×ÜʾÀý ===");
  868.    
  869.     // °²È«»ñÈ¡APP°æ±¾
  870.     try {
  871.         if (typeof app !== 'undefined' && app && typeof app.version !== 'undefined') {
  872.             printl("APP°æ±¾: " + app.version);
  873.         } else {
  874.             printl("APP°æ±¾: δ֪");
  875.         }
  876.     } catch (e) {
  877.         printl("»ñÈ¡APP°æ±¾Ê§°Ü: " + String(e));
  878.     }
  879.    
  880.     // »ñÈ¡ÆÁÄ»³ß´ç
  881.     var screenWidth = 1080;  // ĬÈÏÖµ
  882.     var screenHeight = 1920; // ĬÈÏÖµ
  883.    
  884.     try {
  885.         if (typeof screen !== 'undefined' && screen) {
  886.             if (typeof screen.getScreenWidth === 'function') {
  887.                 screenWidth = screen.getScreenWidth();
  888.                 screenHeight = screen.getScreenHeight();
  889.             }
  890.         }
  891.     } catch (e) {
  892.         printl("»ñÈ¡ÆÁÄ»³ß´çʧ°Ü£¬Ê¹ÓÃĬÈÏÖµ: " + String(e));
  893.     }
  894.    
  895.     printl("É豸·Ö±æÂÊ: " + screenWidth + "x" + screenHeight);
  896.    
  897.     // 1. »ù´¡ÕÒͼ
  898.     printl("\n 1. »ù´¡ÕÒͼʾÀý:");
  899.     basicFindImage();
  900.     sleep.second(1);
  901.    
  902.     // 2. ¶àͼÏñ²éÕÒ
  903.     printl("\n 2. ¶àͼÏñ²éÕÒʾÀý:");
  904.     multiFindImage();
  905.     sleep.second(1);
  906.    
  907.     // 3. ½ØÍ¼ÕÒͼ
  908.     printl("\n 3. ½ØÍ¼ÕÒͼʾÀý:");
  909.     screenshotFindImage();
  910.     sleep.second(1);
  911.    
  912.     // 4. SIFTͼÏñ²éÕÒ
  913.     printl("\n 4. SIFTͼÏñ²éÕÒʾÀý:");
  914.     siftFindImage();
  915.     sleep.second(1);
  916.    
  917.     // 5. ¶àµãÕÒÉ«
  918.     printl("\n 5. ¶àµãÕÒɫʾÀý:");
  919.     multiColorFind();
  920.     sleep.second(1);
  921.    
  922.     printl("\n=== ÕÒͼ·½·¨ÑÝʾÍê³É ===");
  923. }

  924. /**
  925. * ÔËÐÐËùÓÐÕÒͼģ¿éÑÝʾ
  926. */
  927. function runAllFindImageModulesDemo() {
  928.     printl("¿ªÊ¼Ö´ÐÐÕÒͼ·½·¨»ã×ÜʾÀý");
  929.    
  930.     // ÑÝʾ»ù±¾ÕÒͼ·½·¨
  931.     demonstrateAllFindImageMethods();
  932.    
  933.     // ÑÝʾopencv.findImagesEx
  934.     printl("\nÑÝʾopencv.findImagesEx:");
  935.     var detects = opencv.findImagesEx('ͼɫ823706.cv');
  936.     printl("opencv.findImagesEx½á¹û: " + detects);
  937.     if (detects != null) {
  938.         printl("ÕÒµ½ " + detects.length + " ¸öÆ¥Åä½á¹û");
  939.         if (detects.length > 0) {
  940.             detects[0].click();
  941.         }
  942.     }
  943.    
  944.     // ÑÝʾopencv.findImages
  945.     printl("\nÑÝʾopencv.findImages:");
  946.     printl("opencv.findImages·½·¨ÔÚµ±Ç°AIWROK°æ±¾Öв»¿ÉÓã¬Ìø¹ýÖ´ÐÐ");
  947.    
  948.     printl("\nÕÒͼ·½·¨»ã×ÜʾÀýÖ´ÐÐÍê±Ï");
  949. }

  950. // ÔËÐÐʾÀý
  951. runAllFindImageModulesDemo();
¸´ÖÆ´úÂë


»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

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

¹Ø±Õ

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

map2

GMT+8, 2026-2-5 20:11 , Processed in 0.208714 second(s), 34 queries .

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