|
- // µÚÒ»¸ö·½·¨ ʾÀý£ºÊ¹ÓÃauto.findColorsÆ¥ÅäÇøÓòÄڵĶàµãÑÕÉ«×éºÏ
- function findMultipleColors() {
- // 1. ÉèÖÃͼÏñÖÊÁ¿£º0=±ê×¼ÇåÎú¶È£¬1=¸ßÇåÎú¶È£¬2=³¬ÇåÎú¶È
- var imageQuality = 0;
- // 2. ÉèÖÃÖ÷ÑÕÉ«
- var mainColor = "606,400,#264878"; // ʾÀýÑÕÉ«£¬×ø±ê(606,400)£¬ÑÕÉ«´úÂë#264878
- // 3. ÉèÖöàµãÑÕÉ«Æ¥ÅäÊý×飨Ïà¶ÔÓÚÖ÷ÑÕÉ«µÄ¸½¼ÓÑÕÉ«µã£©
- var multiColors = [
- "601,413,#1E4276",
- "597,428,#1E4276",
- "591,429,#F8FBFF"
- ];
- // 4. Æ«É«ºÍÆ«ÒÆãÐÖµ
- var colorThreshold = 2;
- var offsetThreshold = 5;
- // 5. ÉèÖÃÄ¿±êÇøÓò£¨°´±ÈÀý´«È룺×óÉÏ[0.8,0.3]£¬ÓÒÏÂ[0.87,0.36]£©
- var targetRegion = [0.80040, 0.30889, 0.87549, 0.35667];
- // 6. ÉèÖÃÆ¥ÅäÏàËƶȣ¨0~1£¬ÖµÔ½½Ó½ü1£¬Æ¥ÅäÒªÇóÔ½Ñϸñ£©
- var similarity = 0.95;
- // 7. Ö´ÐÐÑÕÉ«²éÕÒ
- var matchedColors = auto.findColors(
- imageQuality, mainColor, multiColors,
- colorThreshold, offsetThreshold, targetRegion, similarity
- );
- // 8. ´¦Àí²éÕÒ½á¹û
- if (matchedColors && matchedColors.length > 0) {
- for (var i = 0; i < matchedColors.length; i++) {
- var place = matchedColors[i].getRealRect();
- var x = place.getCenterX();
- var y = place.getCenterY();
- printl("Æ¥Åä³É¹¦£¡ÖÐÐĵã×ø±ê£º" + x + "," + y);
- // ¿ÉÑ¡£ºµã»÷Æ¥ÅäÇøÓò
- matchedColors[i].click();
- }
- } else {
- printl("δÕÒµ½ÈκÎÆ¥ÅäÇøÓò");
- }
- }
- // Ö´ÐвéÕÒº¯Êý
- findMultipleColors();
- // µÚ¶þ¸ö·½·¨ ʾÀý£ºfindMultiColor ÕÒÉ«
- function findMultiColor() {
- // 1. ½Øͼ²¢»ñÈ¡Mat¶ÔÏó
- var mat = screen.screenShot(720, 1280, 100).getMat();
- // 2. ÉèÖûùµãÑÕÉ«¼°¸½¼ÓµãÐÅÏ¢
- var basePoint = "607,425,#264878";
- var multiColors = [
- "601,413,#1E4276",
- "597,428,#1E4276",
- "591,429,#F8FBFF"
- ];
- // 3. µ÷½Ú²éÕÒ²ÎÊý£ºÆ«²î·¶Î§ºÍÏàËƶÈ
- var colorThreshold = 2;
- var offsetThreshold = 5;
- var searchRegion = [0.80, 0.30, 0.88, 0.36];
- var similarity = 0.95;
- // 4. Ö´ÐвéÕÒ
- var seek = opencv.findMultiColor(
- mat, basePoint, multiColors,
- colorThreshold, offsetThreshold, searchRegion, similarity
- );
- // 5. ´¦Àí½á¹û
- if (seek) {
- seek[0].click();
- printl("ÕÒµ½Ä¿±ê²¢µã»÷£¡");
- } else {
- printl("δÕÒµ½Æ¥ÅäÄ¿±ê£¡");
- }
- }
- // Ö´Ðк¯Êý
- findMultiColor();
- // µÚÈý¸ö·½·¨ ʾÀý£ºfindMultiColorEx¾«¼òÕÒÉ«
- function findMultiColorExExample() {
- // 1. ¶¨ÒåCVÎļþÃû
- var cvFileName = "ͼɫ655802È·¶¨.cv";
- // 2. ²éÕÒÄ¿±ê
- var result = opencv.findMultiColorEx(cvFileName);
- // 3. ´¦Àí½á¹û²¢µã»÷
- if (result) {
- result[0].click();
- printl("ÕÒµ½Ä¿±ê£¬²¢µã»÷Á˵ÚÒ»¸öÆ¥ÅäλÖã¡");
- } else {
- printl("δÕÒµ½Ä¿±ê£¡");
- }
- }
- // Ö´ÐвéÕÒº¯Êý
- findMultiColorExExample();
- // µÚËĸö·½·¨ ʾÀý£ºfindColors ¶àµãÕÒÉ«
- function findColorsExample() {
- var imageQuality = 1;
- var mainColor = "607,425,#264878";
- var multiColors = [
- "601,413,#1E4276",
- "597,428,#1E4276",
- "591,429,#F8FBFF"
- ];
- var colorThreshold = 10;
- var offsetThreshold = 5;
- var searchArea = [0.1, 0.1, 0.9, 0.9];
- var similarity = 0.95;
- var results = auto.findColors(
- imageQuality, mainColor, multiColors,
- colorThreshold, offsetThreshold, searchArea, similarity
- );
- if (results && results.length > 0) {
- for (var i = 0; i < results.length; i++) {
- printl("ÕÒµ½Ä¿±ê×ø±ê: X = " + results[i].x + ", Y = " + results[i].y);
- }
- } else {
- printl("δÕÒµ½·ûºÏÌõ¼þµÄÑÕÉ«µã£¡");
- }
- }
- // Ö´ÐвéÕÒº¯Êý
- findColorsExample();
- // µÚ¾Å¸ö·½·¨ ʾÀý£º±éÀúÕÒÉ«
- function ±éÀúÕÒÉ«(cvFileName) {
- // 1. ²éÕÒÆ¥ÅäµÄÑÕÉ«
- var results = opencv.findMultiColorEx(cvFileName);
- if (!results) {
- printl("δÕÒµ½ÈκÎÆ¥ÅäÏ");
- return null;
- }
- // 2. ±éÀúÕÒµ½µÄ½á¹û
- for (let i = 0; i < results.length; i++) {
- var rect = results[i].getRealRect();
- var centerX = rect.getCenterX();
- var centerY = rect.getCenterY();
- printl("Ä¿±ê×ø±ê£º" + centerX + "," + centerY);
- // 3. µã»÷ÕÒµ½µÄÑÕÉ«µã
- auto.clickPoint(centerX, centerY);
- }
- return results;
- }
- // µ÷Ó÷ºÓÃÕÒÉ«·½·¨
- var results = ±éÀúÕÒÉ«('ͼɫ257584ÁìÈ¡.cv');
- if (results) {
- printl("ÕÒÉ«Íê³É£¬¹²ÕÒµ½£º" + results.length + " ¸öÄ¿±ê£¡");
- } else {
- printl("δÕÒµ½Ä¿±ê£¡");
- }
¸´ÖÆ´úÂë Ïêϸ˵Ã÷ µÚÒ»¸ö·½·¨ ʾÀý£ºÊ¹ÓÃauto.findColorsÆ¥ÅäÇøÓòÄڵĶàµãÑÕÉ«×éºÏ
¸Ã·½·¨Ê¹ÓÃauto.findColorsÀ´²éÕÒÆÁÄ»ÉϵĶàµãÑÕÉ«×éºÏ¡£Ê×ÏÈÉèÖÃͼÏñÖÊÁ¿¡¢Ö÷ÑÕÉ«¡¢¶àµãÑÕÉ«Êý×顢ƫɫãÐÖµ¡¢Æ«ÒÆãÐÖµ¡¢Ä¿±êÇøÓòºÍÏàËƶȡ£È»ºóµ÷ÓÃauto.findColors½øÐвéÕÒ£¬Èç¹ûÕÒµ½Æ¥ÅäµÄÑÕÉ«×éºÏ£¬ÔòÊä³öÏàÓ¦ÇøÓòµÄÖÐÐÄ×ø±ê²¢¿ÉÑ¡µØµã»÷¸ÃÇøÓò£»·ñÔòÊä³öδÕÒµ½Æ¥ÅäÇøÓò¡£
µÚ¶þ¸ö·½·¨ ʾÀý£ºfindMultiColor ÕÒÉ«
¸Ã·½·¨Ê¹ÓÃopencv.findMultiColorÀ´²éÕÒÆÁÄ»ÉϵĶàµãÑÕÉ«×éºÏ¡£Ê×ÏȽØÈ¡ÆÁÄ»²¢»ñÈ¡Mat¶ÔÏó£¬È»ºó¶¨Òå»ùµãÐÅÏ¢ºÍ¶àµãÑÕÉ«ÐÅÏ¢£¬ÉèÖÃÆ«É«ãÐÖµ¡¢Æ«ÒÆãÐÖµ¡¢ËÑË÷ÇøÓòºÍÏàËƶȣ¬µ÷ÓÃopencv.findMultiColor½øÐвéÕÒ¡£Èç¹ûÕÒµ½Æ¥ÅäµÄÑÕÉ«×éºÏ£¬Ôòµã»÷µÚÒ»¸öÆ¥ÅäÏî²¢Êä³öÕÒµ½£»·ñÔòÊä³öδÕÒµ½Æ¥ÅäÄ¿±ê¡£
µÚÈý¸ö·½·¨ ʾÀý£ºfindMultiColor ÕÒÉ«
¸Ã·½·¨Ê¹ÓÃopencv.findMultiColorExÀ´²éÕÒÆÁÄ»ÉϵĶàµãÑÕÉ«×éºÏ¡£Ê×Ïȶ¨ÒåÒ»¸ö°üº¬¶àµãÑÕÉ«ÐÅÏ¢µÄCVÎļþÃû£¬È»ºóµ÷ÓÃopencv.findMultiColorEx½øÐвéÕÒ¡£Èç¹ûÕÒµ½Æ¥ÅäµÄÑÕÉ«×éºÏ£¬Ôòµã»÷µÚÒ»¸öÆ¥ÅäÏî²¢Êä³öÕÒµ½£»·ñÔòÊä³öδÕÒµ½Ä¿±ê¡£
µÚËĸö·½·¨ ʾÀý£ºfindColors ¶àµãÕÒÉ«
¸Ã·½·¨Í¬ÑùʹÓÃauto.findColorsÀ´²éÕÒÆÁÄ»ÉϵĶàµãÑÕÉ«×éºÏ¡£Ê×ÏÈÉèÖÃͼƬÖÊÁ¿¡¢Ö÷ÑÕÉ«¡¢¶àµãÑÕÉ«Êý×顢ƫɫãÐÖµ¡¢Æ«ÒÆãÐÖµ¡¢²éÕÒÇøÓòºÍÏàËƶȡ£È»ºóµ÷ÓÃauto.findColors½øÐвéÕÒ£¬Èç¹ûÕÒµ½Æ¥ÅäµÄÑÕÉ«×éºÏ£¬ÔòÑ»·Êä³öËùÓÐÕÒµ½µÄÄ¿±ê×ø±ê£»·ñÔòÊä³öδÕÒµ½·ûºÏÌõ¼þµÄÑÕÉ«µã¡£
µÚÎå¸ö·½·¨ ʾÀý£ºcheckColors ¶àµã±ÈÉ«
¸Ã·½·¨Ê¹ÓÃopencv.checkColorsÀ´¼ì²éÆÁÄ»ÉÏÊÇ·ñ´æÔÚÖ¸¶¨µÄ¶à¸öÑÕÉ«µã¡£Ê×ÏȽØÈ¡ÆÁÄ»²¢»ñÈ¡Mat¶ÔÏó£¬È»ºó¶¨ÒåÒª¼ì²éµÄÑÕÉ«µãÊý×飬ÉèÖÃÆ«É«ãÐÖµ¡¢Æ«ÒÆãÐÖµºÍÏàËƶȣ¬µ÷ÓÃopencv.checkColors½øÐмì²é¡£Èç¹ûÕÒµ½Æ¥ÅäµÄÑÕÉ«µã£¬ÔòÊä³öÕÒµ½£»·ñÔòÊä³öδÕÒµ½¡£
µÚÁù¸ö·½·¨ ʾÀý£ºopencv.checkColorsEx¶àµã±ÈÉ«
¸Ã·½·¨Ê¹ÓÃopencv.findImagesExÀ´²éÕÒͼÏñÆ¥Åä¡£Ê×Ïȵ÷ÓÃopencv.findImagesEx·½·¨²éÕÒÆ¥ÅäµÄͼÏñ£¬·µ»ØÄ¿±êÊý×é¡£Èç¹ûÕÒµ½Æ¥ÅäµÄͼÏñ£¬Ôòµã»÷µÚÒ»¸öÆ¥ÅäÏî²¢´òÓ¡½á¹ûÊý×飻·ñÔòÊä³öδÕÒµ½Æ¥ÅäÄ¿±ê¡£
µÚÆ߸ö·½·¨ ʾÀý£ºgetcolorNum»ñÈ¡ÇøÓòÉ«ÊýÁ¿
¸Ã·½·¨Ê¹ÓÃopencv.getcolorNumÀ´»ñÈ¡Ö¸¶¨ÇøÓòÄÚij¸öÑÕÉ«»òÑÕÉ«×éºÏµÄÊýÁ¿¡£Ê×ÏȽØÈ¡ÆÁÄ»²¢»ñÈ¡Mat¶ÔÏó£¬È»ºó¶¨ÒåÒª²éÕÒµÄÑÕÉ«µãÊý×飬ÉèÖÃÏàËƶȺͲéÕÒÇøÓò£¬µ÷ÓÃopencv.getcolorNum½øÐвéÕÒ¡£×îºó´òÓ¡ÕÒµ½µÄÑÕÉ«ÊýÁ¿¡£
µÚ°Ë¸ö·½·¨ ʾÀý£º ·â×°ÇøÓòÕÒÉ«º¯Êý
¸Ã·½·¨·â×°ÁËÒ»¸öÃûΪÇøÓòÕÒÉ«µÄº¯Êý£¬ÓÃÓÚ²éÕÒÖ¸¶¨CVÎļþÖеÄÑÕÉ«×éºÏ¡£Ê×Ïȵ÷ÓÃopencv.findMultiColorEx·½·¨²éÕÒÆ¥ÅäµÄÑÕÉ«£¬·µ»ØµÚÒ»¸öÆ¥Åä½á¹ûµÄʵ¼Ê¾ØÐÎÇøÓò¡£Èç¹ûÕÒµ½Æ¥ÅäÏÔòÊä³öÖÐÐĵã×ø±ê²¢µã»÷£»·ñÔòÊä³öδÕÒµ½Ä¿±ê¡£
µÚ¾Å¸ö·½·¨ ʾÀý£º ±éÀúÕÒÉ«ËÑË÷·ûºÏÄ¿±êÑÕÉ«»òÑÕÉ«×éºÏµÄËùÓÐÆ¥Åä½á¹û
¸Ã·½·¨·â×°ÁËÒ»¸öÃûΪ±éÀúÕÒÉ«µÄº¯Êý£¬ÓÃÓÚ²éÕÒÖ¸¶¨CVÎļþÖеÄËùÓÐÑÕÉ«×éºÏ¡£Ê×Ïȵ÷ÓÃopencv.findMultiColorEx·½·¨²éÕÒÆ¥ÅäµÄÑÕÉ«£¬Ñ»·´¦ÀíËùÓÐÕÒµ½µÄ½á¹û£¬Êä³öÿ¸öÆ¥ÅäÏîµÄÖÐÐĵã×ø±ê²¢µã»÷¡£×îºó·µ»ØÕÒµ½µÄËùÓнá¹û£»Èç¹ûûÓÐÕÒµ½ÈκÎÄ¿±ê£¬ÔòÊä³öδÕÒµ½Ä¿±ê¡£
˵Ã÷- auto.findColors ºÍ opencv.findMultiColor ¶¼ÓÃÓÚ¶àµãÑÕÉ«²éÕÒ£¬Ç°ÕßÖ±½Óͨ¹ýÖ¸¶¨²ÎÊý½øÐвéÕÒ£¬ºóÕßÐèÒªÏȽØÈ¡ÆÁÄ»²¢»ñÈ¡Mat¶ÔÏóºó½øÐвéÕÒ¡£
- opencv.findMultiColorEx ºÍ opencv.findImagesEx Ö§³Ö´ÓCVÎļþÖжÁÈ¡ÑÕÉ«ºÍͼÏñÐÅÏ¢£¬¼ò»¯ÁË´úÂë¡£
- opencv.checkColors ÓÃÓÚ¼ì²éÆÁÄ»ÉÏÊÇ·ñ´æÔÚÖ¸¶¨µÄ¶à¸öÑÕÉ«µã¡£
- opencv.getcolorNum ÓÃÓÚ»ñÈ¡Ö¸¶¨ÇøÓòÄÚij¸öÑÕÉ«»òÑÕÉ«×éºÏµÄÊýÁ¿¡£
- opencv.HSV ÓÃÓÚ½«Í¼Ïñת»»ÎªHSVÑÕÉ«¿Õ¼ä¡£
- opencv.templateMatch ÓÃÓÚÔÚͼÏñÖвéÕÒÖ¸¶¨µÄÄ£°åͼÏñ¡£
- opencv.OCREx ºÍ opencv.OCR ÓÃÓÚOCR£¨¹âѧ×Ö·ûʶ±ð£©´¦Àí£¬Ê¶±ðÆÁÄ»ÉϵÄÎı¾ÐÅÏ¢¡£
|
|