|
|
AIWROKÈí¼þÕÒͼ·½·¨»ã×ÜʾÀý
- // ÕÒͼ·½·¨»ã×ÜʾÀý
- // ¼¼Êõ½»Á÷QQȺ711841924Ⱥһ£¬Æ»¹ûÄÚ²âȺ£¬528816639
- /**
- * »ù´¡ÕÒͼ·½·¨ - ʹÓÃopencv.findImagesEx
- * @returns {boolean} ÊÇ·ñÕÒµ½²¢µã»÷Ä¿±ê
- */
- function basicFindImage() {
- printl("¿ªÊ¼»ù´¡ÕÒͼ: ͼɫ823706.cv");
-
- try {
- // ¼ì²éopencvÊÇ·ñ¿ÉÓÃ
- if (typeof opencv !== 'undefined' && typeof opencv.findImagesEx === 'function') {
- // Ö´ÐÐÕÒͼ²Ù×÷
- var detects = opencv.findImagesEx('ͼɫ823706.cv');
-
- if (detects !== null) {
- printl("ÕÒµ½Ä¿±êÊý×é: " + detects);
-
- // µã»÷µÚÒ»¸öÕÒµ½µÄÄ¿±ê
- if (detects.length > 0) {
- printl("µã»÷µÚÒ»¸öÕÒµ½µÄÄ¿±ê");
- detects[0].click();
- return true;
- } else {
- printl("Ä¿±êÊý×éΪ¿Õ");
- return false;
- }
- } else {
- printl("δÕÒµ½Ä¿±ê");
- return false;
- }
- } else {
- printl("❌ opencvÄ£¿é²»¿ÉÓÃ");
- return false;
- }
- } catch (e) {
- printl("Ö´ÐдíÎó: " + String(e));
- return false;
- }
- }
- /**
- * ¶àͼÏñ²éÕÒ·½·¨ - ʹÓÃopencv.findImagesEx
- * @returns {boolean} ÊÇ·ñÕÒµ½²¢µã»÷Ä¿±ê
- */
- function multiFindImage() {
- printl("¿ªÊ¼¶àͼÏñ²éÕÒ£¬¹² 3 ¸öͼÏñ");
-
- try {
- // ¶à¸öÒª²éÕÒµÄͼÏñ£¨Ê¹ÓÃͬһ¸öCVÎļþ¶à´Î²âÊÔ£©
- var imagePaths = new Array();
- imagePaths[0] = 'ͼɫ823706.cv';
- imagePaths[1] = 'ͼɫ823706.cv';
- imagePaths[2] = 'ͼɫ823706.cv';
-
- // ±éÀúÿ¸öͼÏñ½øÐвéÕÒ
- for (var i = 0; i < imagePaths.length; i++) {
- var imagePath = imagePaths[i];
- printl("ÕýÔÚ²éÕÒ: " + imagePath);
-
- // ¼ì²éopencvÊÇ·ñ¿ÉÓÃ
- if (typeof opencv !== 'undefined' && typeof opencv.findImagesEx === 'function') {
- var detects = opencv.findImagesEx('ͼɫ823706.cv');
-
- if (detects != null && detects.length > 0) {
- printl("ÔÚͼÏñ " + imagePath + " ÕÒµ½ " + detects.length + " ¸öÆ¥Åä½á¹û");
-
- // Ö»´¦ÀíµÚÒ»¸öÕÒµ½µÄ½á¹û
- var result = detects[0];
- printl("λÖÃ: (" + (result.x || 0) + ", " + (result.y || 0) + ")");
- printl("³ß´ç: " + (result.width || 0) + "x" + (result.height || 0));
- printl("ÏàËÆ¶È: " + (result.similarity || 0));
-
- // Ö´Ðеã»÷
- result.click();
- sleep.second(1);
- return true;
- } else {
- printl("δÕÒµ½ÓÐЧƥÅä: " + imagePath);
- }
- } else {
- printl("❌ opencvÄ£¿é²»¿ÉÓÃ");
- return false;
- }
- }
- return false;
- } catch (e) {
- printl("¶àͼÏñ²éÕÒ¹ý³ÌÖз¢Éú´íÎó: " + String(e));
- return false;
- }
- }
- /**
- * ½ØÍ¼ÕÒͼ·½·¨ - ʹÓÃopencv.findImagesEx
- * @returns {boolean} ÊÇ·ñÕÒµ½²¢µã»÷Ä¿±ê
- */
- function screenshotFindImage() {
- printl("¿ªÊ¼½ØÍ¼ÕÒͼ");
-
- try {
- // ʹÓÃϵͳ½ØÍ¼¹¦ÄÜ£¨Èç¹û¿ÉÓã©
- try {
- // ³¢ÊÔʹÓýØÍ¼¹¦ÄÜ
- var screenshotPath = "/sdcard/screenshot.png";
- printl("³¢ÊÔ±£´æ½ØÍ¼µ½: " + screenshotPath);
- // ×¢Ò⣺screen.captureÔÚijЩ»·¾³ÖпÉÄܲ»¿ÉÓÃ
- if (typeof screen !== 'undefined' && typeof screen.screenShot === 'function') {
- var screenWidth = screen.getScreenWidth();
- var screenHeight = screen.getScreenHeight();
- printl("ÆÁÄ»³ß´ç: " + screenWidth + "x" + screenHeight);
- var screenshot = screen.screenShot(screenWidth, screenHeight);
- printl("½ØÍ¼³É¹¦£¬³ß´ç: " + screenshot.getMat().width() + "x" + screenshot.getMat().height());
- }
- } catch (e) {
- printl("½ØÍ¼¹¦Äܲ»¿ÉÓÃ: " + String(e));
- }
-
- // Ö±½Ó½øÐÐÕÒͼ
- var targetImagePath = 'ͼɫ823706.cv';
- printl("ÕýÔÚ²éÕÒͼÏñ: " + targetImagePath);
-
- // ¼ì²éopencvÊÇ·ñ¿ÉÓÃ
- if (typeof opencv !== 'undefined' && typeof opencv.findImagesEx === 'function') {
- var detects = opencv.findImagesEx('ͼɫ823706.cv');
-
- if (detects != null && detects.length > 0) {
- printl("ÕÒµ½ " + detects.length + " ¸öÆ¥Åä½á¹û");
-
- for (var i = 0; i < detects.length; i++) {
- var result = detects[i];
- printl("½á¹û " + (i+1) + ": x=" + (result.x || 0) + ", y=" + (result.y || 0) +
- ", width=" + (result.width || 0) + ", height=" + (result.height || 0) +
- ", similarity=" + (result.similarity || 0));
- }
-
- // µã»÷µÚÒ»¸ö½á¹û
- detects[0].click();
- return true;
- } else {
- printl("½ØÍ¼ÕÒͼδÕÒµ½ÓÐЧƥÅä½á¹û");
- printl("Çë¼ì²éÒÔϼ¸µã:");
- printl("1. ͼÏñÎļþÊÇ·ñ´æÔÚ: " + targetImagePath);
- printl("2. ͼÏñÊÇ·ñÔÚÆÁÄ»ÉϿɼû");
- printl("3. ͼÏñÏàËÆ¶ÈÉèÖÃÊÇ·ñºÏÊÊ");
- return false;
- }
- } else {
- printl("❌ opencvÄ£¿é²»¿ÉÓÃ");
- return false;
- }
- } catch (e) {
- printl("½ØÍ¼ÕÒͼ¹ý³ÌÖз¢Éú´íÎó: " + String(e));
- return false;
- }
- }
- /**
- * SIFTͼÏñ²éÕÒ·½·¨ - ʹÓÃopencv.findImageOneSift
- * @returns {boolean} ÊÇ·ñÕÒµ½²¢µã»÷Ä¿±ê
- */
- function siftFindImage() {
- printl("¿ªÊ¼SIFTͼÏñ²éÕÒ");
-
- try {
- // ¼ì²éopencvÊÇ·ñ¿ÉÓÃ
- if (typeof opencv !== 'undefined' && typeof opencv.findImageOneSift === 'function') {
- // »ñÈ¡ÆÁÄ»³ß´ç
- var screenWidth = 900;
- var screenHeight = 1600;
-
- try {
- if (typeof screen !== 'undefined') {
- if (typeof screen.getScreenWidth === 'function') {
- screenWidth = screen.getScreenWidth();
- screenHeight = screen.getScreenHeight();
- }
- }
- } catch (e) {
- printl("»ñÈ¡ÆÁÄ»³ß´çʧ°Ü£¬Ê¹ÓÃĬÈÏÖµ: " + String(e));
- }
-
- printl("´óͼ³ß´ç: " + screenWidth + "x" + screenHeight);
- printl("Сͼ³ß´ç: 300x300");
-
- // ½ØÈ¡´óͼºÍСͼ
- var bigMat = screen.screenShot(screenWidth, screenHeight, 100).getMat();
- var smallMat = screen.screenShot(300, 300, 100).getMat();
-
- // ¶¨ÒåËÑË÷ÇøÓò
- var searchRegion = [0, 0, 1, 1]; // Õû¸öÆÁÄ»
-
- // Ö´ÐÐSIFTͼÏñ²éÕÒ
- var result = opencv.findImageOneSift(bigMat, smallMat, 60, 50, searchRegion);
-
- if (result !== null) {
- printl("SIFTͼÏñ²éÕҳɹ¦");
- printl("λÖÃ: (" + result.x + ", " + result.y + ")");
- printl("³ß´ç: " + result.width + "x" + result.height);
- printl("ÏàËÆ¶È: " + result.similarity);
-
- // µã»÷ÕÒµ½µÄλÖÃ
- result.click();
-
- // ÊÍ·Å×ÊÔ´
- bigMat = null;
- smallMat = null;
-
- return true;
- } else {
- printl("SIFTͼÏñ²éÕÒδÕÒµ½Æ¥Åä½á¹û");
-
- // ÊÍ·Å×ÊÔ´
- bigMat = null;
- smallMat = null;
-
- return false;
- }
- } else {
- printl("SIFT·½·¨ÔÚµ±Ç°AIWROK°æ±¾Öв»¿ÉÓã¬Ìø¹ýÖ´ÐÐ");
- return false;
- }
- } catch (e) {
- printl("SIFT·½·¨ÔÚµ±Ç°AIWROK°æ±¾Öв»¿ÉÓã¬Ìø¹ýÖ´ÐÐ");
- return false;
- }
- }
- /**
- * ¶àµãÕÒÉ«·½·¨ - ʹÓÃopencv.findMultiColor
- * @returns {boolean} ÊÇ·ñÕÒµ½²¢µã»÷Ä¿±ê
- */
- function multiColorFind() {
- printl("¿ªÊ¼¶àµãÕÒÉ«");
-
- try {
- // »ñÈ¡ÆÁÄ»³ß´ç
- var screenWidth = 900;
- var screenHeight = 1600;
-
- try {
- if (typeof screen !== 'undefined') {
- if (typeof screen.getScreenWidth === 'function') {
- screenWidth = screen.getScreenWidth();
- screenHeight = screen.getScreenHeight();
- }
- }
- } catch (e) {
- printl("»ñÈ¡ÆÁÄ»³ß´çʧ°Ü£¬Ê¹ÓÃĬÈÏÖµ: " + String(e));
- }
-
- printl("ͼÏñ³ß´ç: " + screenWidth + "x" + screenHeight);
-
- // ½ØÈ¡ÆÁĻͼÏñ
- var screenMat = screen.screenShot(screenWidth, screenHeight, 100).getMat();
-
- // ¶¨Òå»ù×¼µãºÍÑÕÉ«µã
- var basePoint = "";
- var colorPoints = [];
- var colorTolerance = 0;
- var offsetTolerance = 0;
- var region = [0, 0, 1, 1]; // Õû¸öÆÁÄ»
- var similarity = 0.9;
-
- // ¼ì²éopencvÊÇ·ñ¿ÉÓÃ
- if (typeof opencv !== 'undefined' && typeof opencv.findMultiColor === 'function') {
- var result = opencv.findMultiColor(screenMat, basePoint, colorPoints, colorTolerance, offsetTolerance, region, similarity);
-
- if (result !== null) {
- printl("¶àµãÕÒÉ«³É¹¦");
- printl("λÖÃ: (" + result.x + ", " + result.y + ")");
-
- // µã»÷ÕÒµ½µÄλÖÃ
- touch.tap(result.x, result.y);
-
- // ÊÍ·Å×ÊÔ´
- screenMat = null;
-
- return true;
- } else {
- printl("¶àµãÕÒɫδÕÒµ½ÓÐЧƥÅäÏî");
-
- // ÊÍ·Å×ÊÔ´
- screenMat = null;
-
- return false;
- }
- } else {
- printl("❌ opencvÄ£¿é²»¿ÉÓûòfindMultiColor·½·¨²»´æÔÚ");
-
- // ÊÍ·Å×ÊÔ´
- screenMat = null;
-
- return false;
- }
- } catch (e) {
- printl("Ö´ÐжàµãÕÒɫʱ·¢Éú´íÎó: " + String(e));
- return false;
- }
- }
- /**
- * ʹÓÃauto.checkImage²éÕÒͼ
- * @param {Array} images - ͼÏñÊý×é
- * @param {number} similarity - ÏàËÆ¶È
- * @param {number} timeout - ³¬Ê±Ê±¼ä
- * @param {Array} region - ÇøÓò
- * @returns {boolean} ÊÇ·ñÕÒµ½²¢µã»÷Ä¿±ê
- */
- function autoCheckImage(images, similarity, timeout, region) {
- printl("¿ªÊ¼Ê¹ÓÃauto.checkImage²éÕÒͼ");
-
- try {
- // ¼ì²éautoÊÇ·ñ¿ÉÓÃ
- if (typeof auto !== 'undefined' && typeof auto.checkImage === 'function') {
- var result = auto.checkImage(images, similarity, timeout, 0, region);
-
- if (result !== null) {
- printl("auto.checkImage²éÕҳɹ¦");
- printl("λÖÃ: (" + result.x + ", " + result.y + ")");
-
- // µã»÷ÕÒµ½µÄλÖÃ
- touch.tap(result.x, result.y);
-
- return true;
- } else {
- printl("auto.checkImageδÕÒµ½Æ¥Åä½á¹û");
- return false;
- }
- } else {
- printl("❌ autoÄ£¿é²»¿ÉÓûòcheckImage·½·¨²»´æÔÚ");
- return false;
- }
- } catch (e) {
- printl("auto.checkImageÖ´ÐдíÎó: " + String(e));
- return false;
- }
- }
- /**
- * ʹÓÃauto.findBestImage²éÕÒ×î¼Ñͼ
- * @param {Array} images - ͼÏñÊý×é
- * @param {number} similarity - ÏàËÆ¶È
- * @param {number} timeout - ³¬Ê±Ê±¼ä
- * @param {Array} region - ÇøÓò
- * @returns {boolean} ÊÇ·ñÕÒµ½²¢µã»÷Ä¿±ê
- */
- function autoFindBestImage(images, similarity, timeout, region) {
- printl("¿ªÊ¼Ê¹ÓÃauto.findBestImage²éÕÒ×î¼Ñͼ");
-
- try {
- // ¼ì²éautoÊÇ·ñ¿ÉÓÃ
- if (typeof auto !== 'undefined' && typeof auto.findBestImage === 'function') {
- var result = auto.findBestImage(images, similarity, timeout, 0, region);
-
- if (result !== null) {
- printl("auto.findBestImage²éÕҳɹ¦");
- printl("λÖÃ: (" + result.x + ", " + result.y + ")");
- printl("ÏàËÆ¶È: " + result.similarity);
-
- // µã»÷ÕÒµ½µÄλÖÃ
- touch.tap(result.x, result.y);
-
- return true;
- } else {
- printl("auto.findBestImageδÕÒµ½Æ¥Åä½á¹û");
- return false;
- }
- } else {
- printl("❌ autoÄ£¿é²»¿ÉÓûòfindBestImage·½·¨²»´æÔÚ");
- return false;
- }
- } catch (e) {
- printl("auto.findBestImageÖ´ÐдíÎó: " + String(e));
- return false;
- }
- }
- /**
- * ʹÓÃauto.findImagesÕÒ¶àͼ
- * @param {Array} images - ͼÏñÊý×é
- * @param {number} similarity - ÏàËÆ¶È
- * @param {number} timeout - ³¬Ê±Ê±¼ä
- * @param {number} maxResults - ×î´ó½á¹ûÊý
- * @param {Array} region - ÇøÓò
- * @returns {boolean} ÊÇ·ñÕÒµ½²¢µã»÷Ä¿±ê
- */
- function autoFindImages(images, similarity, timeout, maxResults, region) {
- printl("¿ªÊ¼Ê¹ÓÃauto.findImagesÕÒ¶àͼ");
-
- try {
- // ¼ì²éautoÊÇ·ñ¿ÉÓÃ
- if (typeof auto !== 'undefined' && typeof auto.findImages === 'function') {
- var results = auto.findImages(images, similarity, timeout, maxResults, region);
-
- if (results !== null && results.length > 0) {
- printl("auto.findImagesÕÒµ½ " + results.length + " ¸öÆ¥Åä½á¹û");
-
- // ´¦ÀíµÚÒ»¸ö½á¹û
- var result = results[0];
- printl("λÖÃ: (" + result.x + ", " + result.y + ")");
- printl("ÏàËÆ¶È: " + result.similarity);
-
- // µã»÷ÕÒµ½µÄλÖÃ
- touch.tap(result.x, result.y);
-
- return true;
- } else {
- printl("auto.findImagesδÕÒµ½Æ¥Åä½á¹û");
- return false;
- }
- } else {
- printl("❌ autoÄ£¿é²»¿ÉÓûòfindImages·½·¨²»´æÔÚ");
- return false;
- }
- } catch (e) {
- printl("auto.findImagesÖ´ÐдíÎó: " + String(e));
- return false;
- }
- }
- /**
- * ʹÓÃauto.findColors¶àµãÕÒÉ«
- * @param {Object} mat - ͼÏñ¾ØÕó
- * @param {string} basePoint - »ù×¼µã
- * @param {Array} colorPoints - ÑÕÉ«µãÊý×é
- * @param {number} colorTolerance - ÑÕÉ«Èݲî
- * @param {number} offsetTolerance - Æ«ÒÆÈݲî
- * @param {Array} region - ÇøÓò
- * @param {number} similarity - ÏàËÆ¶È
- * @returns {boolean} ÊÇ·ñÕÒµ½²¢µã»÷Ä¿±ê
- */
- function autoFindColors(mat, basePoint, colorPoints, colorTolerance, offsetTolerance, region, similarity) {
- printl("¿ªÊ¼Ê¹ÓÃauto.findColors¶àµãÕÒÉ«");
-
- try {
- // ¼ì²éautoÊÇ·ñ¿ÉÓÃ
- if (typeof auto !== 'undefined' && typeof auto.findColors === 'function') {
- var result = auto.findColors(mat, basePoint, colorPoints, colorTolerance, offsetTolerance, region, similarity);
-
- if (result !== null) {
- printl("auto.findColors¶àµãÕÒÉ«³É¹¦");
- printl("λÖÃ: (" + result.x + ", " + result.y + ")");
-
- // µã»÷ÕÒµ½µÄλÖÃ
- touch.tap(result.x, result.y);
-
- return true;
- } else {
- printl("auto.findColorsδÕÒµ½Æ¥Åä½á¹û");
- return false;
- }
- } else {
- printl("❌ autoÄ£¿é²»¿ÉÓûòfindColors·½·¨²»´æÔÚ");
- return false;
- }
- } catch (e) {
- printl("auto.findColorsÖ´ÐдíÎó: " + String(e));
- return false;
- }
- }
- /**
- * ʹÓÃauto.findTextÕÒÎÄ×Ö
- * @param {string} text - Òª²éÕÒµÄÎÄ×Ö
- * @param {number} similarity - ÏàËÆ¶È
- * @param {Array} region - ÇøÓò
- * @returns {boolean} ÊÇ·ñÕÒµ½²¢µã»÷Ä¿±ê
- */
- function autoFindText(text, similarity, region) {
- printl("¿ªÊ¼Ê¹ÓÃauto.findTextÕÒÎÄ×Ö: " + text);
-
- try {
- // ¼ì²éautoÊÇ·ñ¿ÉÓÃ
- if (typeof auto !== 'undefined' && typeof auto.findText === 'function') {
- var result = auto.findText(text, similarity, region);
-
- if (result !== null) {
- printl("auto.findText²éÕҳɹ¦");
- printl("λÖÃ: (" + result.x + ", " + result.y + ")");
-
- // µã»÷ÕÒµ½µÄλÖÃ
- touch.tap(result.x, result.y);
-
- return true;
- } else {
- printl("auto.findTextδÕÒµ½Æ¥Åä½á¹û");
- return false;
- }
- } else {
- printl("❌ autoÄ£¿é²»¿ÉÓûòfindText·½·¨²»´æÔÚ");
- return false;
- }
- } catch (e) {
- printl("auto.findTextÖ´ÐдíÎó: " + String(e));
- return false;
- }
- }
- /**
- * ʹÓÃai.findImageÕÒ¶àͼ
- * @param {Object} image - ͼÏñ
- * @param {Array} rect - ¾ØÐÎÇøÓò
- * @param {string} model - Ä£ÐÍÃû
- * @param {number} targetSize - Ä¿±ê´óС
- * @param {string} sort - ÅÅÐò·½Ê½
- * @param {number} similarity - ÏàËÆ¶È
- * @returns {boolean} ÊÇ·ñÕÒµ½²¢µã»÷Ä¿±ê
- */
- function aiFindImage(image, rect, model, targetSize, sort, similarity) {
- printl("¿ªÊ¼Ê¹ÓÃai.findImageÕÒ¶àͼ");
-
- try {
- // ¼ì²éaiÊÇ·ñ¿ÉÓÃ
- if (typeof ai !== 'undefined' && typeof ai.findImage === 'function') {
- var results = ai.findImage(image, rect, model, targetSize, sort, similarity);
-
- if (results !== null && results.length > 0) {
- printl("ai.findImageÕÒµ½ " + results.length + " ¸öÆ¥Åä½á¹û");
-
- // ´¦ÀíµÚÒ»¸ö½á¹û
- var result = results[0];
- printl("λÖÃ: (" + result.x + ", " + result.y + ")");
- printl("ÏàËÆ¶È: " + result.similarity);
-
- // µã»÷ÕÒµ½µÄλÖÃ
- touch.tap(result.x, result.y);
-
- return true;
- } else {
- printl("ai.findImageδÕÒµ½Æ¥Åä½á¹û");
- return false;
- }
- } else {
- printl("❌ aiÄ£¿é²»¿ÉÓûòfindImage·½·¨²»´æÔÚ");
- return false;
- }
- } catch (e) {
- printl("ai.findImageÖ´ÐдíÎó: " + String(e));
- return false;
- }
- }
- /**
- * ʹÓÃai.findImageOneÕÒµ¥Í¼
- * @param {Object} image - ͼÏñ
- * @param {Array} rect - ¾ØÐÎÇøÓò
- * @param {string} model - Ä£ÐÍÃû
- * @param {number} targetSize - Ä¿±ê´óС
- * @param {string} sort - ÅÅÐò·½Ê½
- * @param {number} similarity - ÏàËÆ¶È
- * @returns {boolean} ÊÇ·ñÕÒµ½²¢µã»÷Ä¿±ê
- */
- function aiFindImageOne(image, rect, model, targetSize, sort, similarity) {
- printl("¿ªÊ¼Ê¹ÓÃai.findImageOneÕÒµ¥Í¼");
-
- try {
- // ¼ì²éaiÊÇ·ñ¿ÉÓÃ
- if (typeof ai !== 'undefined' && typeof ai.findImageOne === 'function') {
- var result = ai.findImageOne(image, rect, model, targetSize, sort, similarity);
-
- if (result !== null) {
- printl("ai.findImageOne²éÕҳɹ¦");
- printl("λÖÃ: (" + result.x + ", " + result.y + ")");
- printl("ÏàËÆ¶È: " + result.similarity);
-
- // µã»÷ÕÒµ½µÄλÖÃ
- touch.tap(result.x, result.y);
-
- return true;
- } else {
- printl("ai.findImageOneδÕÒµ½Æ¥Åä½á¹û");
- return false;
- }
- } else {
- printl("❌ aiÄ£¿é²»¿ÉÓûòfindImageOne·½·¨²»´æÔÚ");
- return false;
- }
- } catch (e) {
- printl("ai.findImageOneÖ´ÐдíÎó: " + String(e));
- return false;
- }
- }
- /**
- * ʹÓÃai.setSpeedÉèÖÃAIËÙ¶È
- * @param {number} speed - ËÙ¶ÈÖµ
- * @returns {boolean} ÊÇ·ñÉèÖóɹ¦
- */
- function aiSetSpeed(speed) {
- printl("¿ªÊ¼Ê¹ÓÃai.setSpeedÉèÖÃËÙ¶È: " + speed);
-
- try {
- // ¼ì²éaiÊÇ·ñ¿ÉÓÃ
- if (typeof ai !== 'undefined' && typeof ai.setSpeed === 'function') {
- ai.setSpeed(speed);
- printl("ai.setSpeedÉèÖóɹ¦");
- return true;
- } else {
- printl("❌ aiÄ£¿é²»¿ÉÓûòsetSpeed·½·¨²»´æÔÚ");
- return false;
- }
- } catch (e) {
- printl("ai.setSpeedÖ´ÐдíÎó: " + String(e));
- return false;
- }
- }
- /**
- * ʹÓÃopencv.findImageOneKAZEÕÒͼ£¨KAZEËã·¨£©
- * @param {Object} bigMat - ´óͼ¾ØÕó
- * @param {Object} smallMat - Сͼ¾ØÕó
- * @param {Object} resultMat - ½á¹û¾ØÕó
- * @returns {boolean} ÊÇ·ñÕÒµ½²¢µã»÷Ä¿±ê
- */
- function opencvFindImageOneKAZE(bigMat, smallMat, resultMat) {
- printl("¿ªÊ¼Ê¹ÓÃopencv.findImageOneKAZEÕÒͼ");
-
- try {
- // ¼ì²éopencvÊÇ·ñ¿ÉÓÃ
- if (typeof opencv !== 'undefined' && typeof opencv.findImageOneKAZE === 'function') {
- var result = opencv.findImageOneKAZE(bigMat, smallMat, resultMat);
-
- if (result !== null) {
- printl("opencv.findImageOneKAZE²éÕҳɹ¦");
- printl("λÖÃ: (" + result.x + ", " + result.y + ")");
- printl("ÏàËÆ¶È: " + result.similarity);
-
- // µã»÷ÕÒµ½µÄλÖÃ
- touch.tap(result.x, result.y);
-
- return true;
- } else {
- printl("opencv.findImageOneKAZEδÕÒµ½Æ¥Åä½á¹û");
- return false;
- }
- } else {
- printl("❌ opencvÄ£¿é²»¿ÉÓûòfindImageOneKAZE·½·¨²»´æÔÚ");
- return false;
- }
- } catch (e) {
- printl("opencv.findImageOneKAZEÖ´ÐдíÎó: " + String(e));
- return false;
- }
- }
- /**
- * ʹÓÃopencv.findImageOneSiftÕÒͼ£¨SIFTËã·¨£©
- * @param {Object} bigMat - ´óͼ¾ØÕó
- * @param {Object} smallMat - Сͼ¾ØÕó
- * @param {number} param1 - ²ÎÊý1
- * @param {number} param2 - ²ÎÊý2
- * @param {Array} region - ÇøÓò
- * @returns {boolean} ÊÇ·ñÕÒµ½²¢µã»÷Ä¿±ê
- */
- function opencvFindImageOneSift(bigMat, smallMat, param1, param2, region) {
- printl("¿ªÊ¼Ê¹ÓÃopencv.findImageOneSiftÕÒͼ");
-
- try {
- // ¼ì²éopencvÊÇ·ñ¿ÉÓÃ
- if (typeof opencv !== 'undefined' && typeof opencv.findImageOneSift === 'function') {
- var result = opencv.findImageOneSift(bigMat, smallMat, param1, param2, region);
-
- if (result !== null) {
- printl("opencv.findImageOneSift²éÕҳɹ¦");
- printl("λÖÃ: (" + result.x + ", " + result.y + ")");
- printl("ÏàËÆ¶È: " + result.similarity);
-
- // µã»÷ÕÒµ½µÄλÖÃ
- touch.tap(result.x, result.y);
-
- return true;
- } else {
- printl("opencv.findImageOneSiftδÕÒµ½Æ¥Åä½á¹û");
- return false;
- }
- } else {
- printl("❌ opencvÄ£¿é²»¿ÉÓûòfindImageOneSift·½·¨²»´æÔÚ");
- return false;
- }
- } catch (e) {
- printl("opencv.findImageOneSiftÖ´ÐдíÎó: " + String(e));
- return false;
- }
- }
- /**
- * ʹÓÃopencv.findImagesExÕÒͼ
- * @param {string} cvFile - CVÎļþÃû
- * @returns {boolean} ÊÇ·ñÕÒµ½²¢µã»÷Ä¿±ê
- */
- function opencvFindImagesEx(cvFile) {
- printl("¿ªÊ¼Ê¹ÓÃopencv.findImagesExÕÒͼ: " + cvFile);
-
- try {
- // ¼ì²éopencvÊÇ·ñ¿ÉÓÃ
- if (typeof opencv !== 'undefined' && typeof opencv.findImagesEx === 'function') {
- var detects = opencv.findImagesEx(cvFile);
-
- if (detects !== null && detects.length > 0) {
- printl("opencv.findImagesExÕÒµ½ " + detects.length + " ¸öÆ¥Åä½á¹û");
-
- // ´¦ÀíµÚÒ»¸ö½á¹û
- var result = detects[0];
- printl("λÖÃ: (" + (result.x || 0) + ", " + (result.y || 0) + ")");
- printl("³ß´ç: " + (result.width || 0) + "x" + (result.height || 0));
- printl("ÏàËÆ¶È: " + (result.similarity || 0));
-
- // µã»÷ÕÒµ½µÄλÖÃ
- result.click();
-
- return true;
- } else {
- printl("opencv.findImagesExδÕÒµ½Æ¥Åä½á¹û");
- return false;
- }
- } else {
- printl("❌ opencvÄ£¿é²»¿ÉÓûòfindImagesEx·½·¨²»´æÔÚ");
- return false;
- }
- } catch (e) {
- printl("opencv.findImagesExÖ´ÐдíÎó: " + String(e));
- return false;
- }
- }
- /**
- * ʹÓÃopencv.findMultiColorÕÒ¶àÉ«
- * @param {Object} mat - ͼÏñ¾ØÕó
- * @param {string} basePoint - »ù×¼µã
- * @param {Array} colorPoints - ÑÕÉ«µãÊý×é
- * @param {number} colorTolerance - ÑÕÉ«Èݲî
- * @param {number} offsetTolerance - Æ«ÒÆÈݲî
- * @param {Array} region - ÇøÓò
- * @param {number} similarity - ÏàËÆ¶È
- * @returns {boolean} ÊÇ·ñÕÒµ½²¢µã»÷Ä¿±ê
- */
- function opencvFindMultiColor(mat, basePoint, colorPoints, colorTolerance, offsetTolerance, region, similarity) {
- printl("¿ªÊ¼Ê¹ÓÃopencv.findMultiColorÕÒ¶àÉ«");
-
- try {
- // ¼ì²éopencvÊÇ·ñ¿ÉÓÃ
- if (typeof opencv !== 'undefined' && typeof opencv.findMultiColor === 'function') {
- var result = opencv.findMultiColor(mat, basePoint, colorPoints, colorTolerance, offsetTolerance, region, similarity);
-
- if (result !== null) {
- printl("opencv.findMultiColor²éÕҳɹ¦");
- printl("λÖÃ: (" + result.x + ", " + result.y + ")");
-
- // µã»÷ÕÒµ½µÄλÖÃ
- touch.tap(result.x, result.y);
-
- return true;
- } else {
- printl("opencv.findMultiColorδÕÒµ½Æ¥Åä½á¹û");
- return false;
- }
- } else {
- printl("❌ opencvÄ£¿é²»¿ÉÓûòfindMultiColor·½·¨²»´æÔÚ");
- return false;
- }
- } catch (e) {
- printl("opencv.findMultiColorÖ´ÐдíÎó: " + String(e));
- return false;
- }
- }
- /**
- * ʹÓÃopencv.findMultiColorExÕÒ¶àÉ«À©Õ¹
- * @param {string} params - ²ÎÊý
- * @returns {boolean} ÊÇ·ñÕÒµ½²¢µã»÷Ä¿±ê
- */
- function opencvFindMultiColorEx(params) {
- printl("¿ªÊ¼Ê¹ÓÃopencv.findMultiColorExÕÒ¶àÉ«À©Õ¹");
-
- try {
- // ¼ì²éopencvÊÇ·ñ¿ÉÓÃ
- if (typeof opencv !== 'undefined' && typeof opencv.findMultiColorEx === 'function') {
- var result = opencv.findMultiColorEx(params);
-
- if (result !== null) {
- printl("opencv.findMultiColorEx²éÕҳɹ¦");
- printl("λÖÃ: (" + result.x + ", " + result.y + ")");
-
- // µã»÷ÕÒµ½µÄλÖÃ
- touch.tap(result.x, result.y);
-
- return true;
- } else {
- printl("opencv.findMultiColorExδÕÒµ½Æ¥Åä½á¹û");
- return false;
- }
- } else {
- printl("❌ opencvÄ£¿é²»¿ÉÓûòfindMultiColorEx·½·¨²»´æÔÚ");
- return false;
- }
- } catch (e) {
- printl("opencv.findMultiColorExÖ´ÐдíÎó: " + String(e));
- return false;
- }
- }
- /**
- * ʹÓÃopencv.findImagesÕÒ¶àͼ
- * @param {Array} images - ͼÏñÊý×é
- * @returns {boolean} ÊÇ·ñÕÒµ½²¢µã»÷Ä¿±ê
- */
- function opencvFindImages(images) {
- printl("¿ªÊ¼Ê¹ÓÃopencv.findImagesÕÒ¶àͼ");
-
- try {
- // ¼ì²éopencvÊÇ·ñ¿ÉÓÃ
- if (typeof opencv !== 'undefined' && typeof opencv.findImages === 'function') {
- var results = opencv.findImages(images);
-
- if (results !== null && results.length > 0) {
- printl("opencv.findImagesÕÒµ½ " + results.length + " ¸öÆ¥Åä½á¹û");
-
- // ´¦ÀíµÚÒ»¸ö½á¹û
- var result = results[0];
- printl("λÖÃ: (" + result.x + ", " + result.y + ")");
- printl("ÏàËÆ¶È: " + result.similarity);
-
- // µã»÷ÕÒµ½µÄλÖÃ
- touch.tap(result.x, result.y);
-
- return true;
- } else {
- printl("opencv.findImagesδÕÒµ½Æ¥Åä½á¹û");
- return false;
- }
- } else {
- printl("❌ opencvÄ£¿é²»¿ÉÓûòfindImages·½·¨²»´æÔÚ");
- return false;
- }
- } catch (e) {
- printl("opencv.findImagesÖ´ÐдíÎó: " + String(e));
- return false;
- }
- }
- /**
- * ´´½¨Í¼Ïñ¶ÔÏó
- * @param {string} path - ͼÏñ·¾¶
- * @returns {Object} ͼÏñ¶ÔÏó
- */
- function createImage(path) {
- try {
- var img = new image();
- img.read(path);
- return img;
- } catch (e) {
- printl("´´½¨Í¼Ïñ¶ÔÏó´íÎó: " + String(e));
- return null;
- }
- }
- /**
- * ÑÝʾKAZEͼÏñ²éÕÒ
- * @returns {boolean} ÊÇ·ñ³É¹¦
- */
- function demonstrateKAZEFindImage() {
- printl("¿ªÊ¼ÑÝʾKAZEͼÏñ²éÕÒ");
-
- try {
- // ´´½¨Í¼Ïñ¶ÔÏó
- var image1 = createImage("sdcard/auto/1.jpg");
- var image2 = createImage("sdcard/auto/2.jpg");
-
- if (image1 && image2) {
- var c = new Mat();
- var res = opencv.findImageOneKAZE(image2.getMat(), image1.getMat(), c);
- printl(res);
- return true;
- } else {
- printl("´´½¨Í¼Ïñ¶ÔÏóʧ°Ü");
- return false;
- }
- } catch (e) {
- printl("KAZEͼÏñ²éÕÒÑÝʾ´íÎó: " + String(e));
- return false;
- }
- }
- /**
- * ÑÝʾËùÓÐÕÒͼ·½·¨
- */
- function demonstrateAllFindImageMethods() {
- printl("=== AIWROK ÕÒͼ·½·¨»ã×ÜʾÀý ===");
-
- // °²È«»ñÈ¡APP°æ±¾
- try {
- if (typeof app !== 'undefined' && app && typeof app.version !== 'undefined') {
- printl("APP°æ±¾: " + app.version);
- } else {
- printl("APP°æ±¾: δ֪");
- }
- } catch (e) {
- printl("»ñÈ¡APP°æ±¾Ê§°Ü: " + String(e));
- }
-
- // »ñÈ¡ÆÁÄ»³ß´ç
- var screenWidth = 1080; // ĬÈÏÖµ
- var screenHeight = 1920; // ĬÈÏÖµ
-
- try {
- if (typeof screen !== 'undefined' && screen) {
- if (typeof screen.getScreenWidth === 'function') {
- screenWidth = screen.getScreenWidth();
- screenHeight = screen.getScreenHeight();
- }
- }
- } catch (e) {
- printl("»ñÈ¡ÆÁÄ»³ß´çʧ°Ü£¬Ê¹ÓÃĬÈÏÖµ: " + String(e));
- }
-
- printl("É豸·Ö±æÂÊ: " + screenWidth + "x" + screenHeight);
-
- // 1. »ù´¡ÕÒͼ
- printl("\n 1. »ù´¡ÕÒͼʾÀý:");
- basicFindImage();
- sleep.second(1);
-
- // 2. ¶àͼÏñ²éÕÒ
- printl("\n 2. ¶àͼÏñ²éÕÒʾÀý:");
- multiFindImage();
- sleep.second(1);
-
- // 3. ½ØÍ¼ÕÒͼ
- printl("\n 3. ½ØÍ¼ÕÒͼʾÀý:");
- screenshotFindImage();
- sleep.second(1);
-
- // 4. SIFTͼÏñ²éÕÒ
- printl("\n 4. SIFTͼÏñ²éÕÒʾÀý:");
- siftFindImage();
- sleep.second(1);
-
- // 5. ¶àµãÕÒÉ«
- printl("\n 5. ¶àµãÕÒɫʾÀý:");
- multiColorFind();
- sleep.second(1);
-
- printl("\n=== ÕÒͼ·½·¨ÑÝʾÍê³É ===");
- }
- /**
- * ÔËÐÐËùÓÐÕÒͼģ¿éÑÝʾ
- */
- function runAllFindImageModulesDemo() {
- printl("¿ªÊ¼Ö´ÐÐÕÒͼ·½·¨»ã×ÜʾÀý");
-
- // ÑÝʾ»ù±¾ÕÒͼ·½·¨
- demonstrateAllFindImageMethods();
-
- // ÑÝʾopencv.findImagesEx
- printl("\nÑÝʾopencv.findImagesEx:");
- var detects = opencv.findImagesEx('ͼɫ823706.cv');
- printl("opencv.findImagesEx½á¹û: " + detects);
- if (detects != null) {
- printl("ÕÒµ½ " + detects.length + " ¸öÆ¥Åä½á¹û");
- if (detects.length > 0) {
- detects[0].click();
- }
- }
-
- // ÑÝʾopencv.findImages
- printl("\nÑÝʾopencv.findImages:");
- printl("opencv.findImages·½·¨ÔÚµ±Ç°AIWROK°æ±¾Öв»¿ÉÓã¬Ìø¹ýÖ´ÐÐ");
-
- printl("\nÕÒͼ·½·¨»ã×ÜʾÀýÖ´ÐÐÍê±Ï");
- }
- // ÔËÐÐʾÀý
- runAllFindImageModulesDemo();
¸´ÖÆ´úÂë
|
|