|
|
±¾µØ²¿Êð¾ÖÓòÍøÄÚYOLO×Ô¶¯Ê¶±ð¿ìÊÖͼ±ê
- // =====================================================================
- // AIWROK ×Ô¶¨ÒåÄ£ÐÍʾÀý ¡ª¡ª Óà YOLO ×Ô¶¯Ê¶±ð¿ìÊÖͼ±ê²¢µã»÷
- // =====================================================================
- // ¡¾ÔÀí¡¿ÊÖ»ú½ØÆÁ·¢µ½µçÄÔ /api/detect£¬µçÄÔÓÃÄãѵÁ·µÄ×Ô¶¨ÒåÄ£ÐÍ
- // ---------------- Àà±ð˵Ã÷£¨Ä£ÐÍÄÜÈ쵀 4 ¸öͼ±ê£© ----------------
- // ©°©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©Ð©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©Ð©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©´
- // ©¦ Àà±ðÃû ©¦ ÊÇʲô ©¦ ÔÚ¿ìÊÖÊÓÆµÒ³µÄλÖà ©¦
- // ©À©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©à©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©à©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©È
- // ©¦ dianzan ©¦ µãÔÞ¡¤°×É«ÐÄÐÄ ©¦ ÓÒ²àͼ±êÁеÚ1¸ö£¨Ô¼x990,y870£©©¦
- // ©¦ pinglun ©¦ ÆÀÂÛ¡¤Ô²ÆøÅÝ ©¦ ÓÒ²àͼ±êÁеÚ2¸ö£¨Ô¼x990,y1060£©©¦
- // ©¦ shoucang ©¦ Êղء¤Îå½ÇÐÇ ©¦ ÓÒ²àͼ±êÁеÚ3¸ö£¨Ô¼x990,y1260£©©¦
- // ©¦ fenxiang ©¦ ·ÖÏí¡¤Ö½·É»ú¼ýÍ· ©¦ ÓÒ²àͼ±êÁеÚ4¸ö£¨Ô¼x990,y1450£©©¦
- // ©¸©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©Ø©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©Ø©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¼
- //
- // ¡¾center ÖÐÐĵãÊÇʲô¡¿
- // Ä£ÐÍÔÚ½ØÍ¼Àï¿òסͼ±êºó£¬È¡"¿òµÄÕýÖÐÐÄ"ÄǸöÏñËØµã [x, y]¡£
- // µãÖÐÐĵã = Îȶ¨µãÖÐͼ±ê£¬²»»áµãÆ«µ½±ßÔµ¡£
- // ×ø±êÊÇ"µçÄÔÊÕµ½µÄÄÇÕŽØÍ¼"ÀïµÄÏñËØÎ»Öã¬
- // »»Ëãµ½ÄãÊÖ»úÆÁÄ»£ºsx = ÖÐÐÄx ¡Á ÊÖ»ú¿í ¡Â ½ØÍ¼¿í£¨½Å±¾ÒÑ×Ô¶¯»»Ëã³É sx/sy£©¡£
- //
- // ¡¾Ê¶±ð½á¹ûʾÀý¡¿
- // { label:"dianzan", class:"dianzan", conf:0.98, ¡û Àà±ðÃû+ÖÃÐŶÈ(0~1,Ô½¸ßÔ½×¼)
- // center:[988,868], ¡û ½ØÍ¼ÀïµÄÖÐÐĵã
- // box:[930,820,1046,916], ¡û Íâ½Ó¿ò(×óÉÏ,ÓÒÏÂ)
- // sx:988, sy:868 } ¡û »»Ëãµ½ÊÖ»úÆÁÄ»µÄµã»÷×ø±ê
- // =====================================================================
- var SERVER_IP = "192.168.10.103"; // ¡ïµçÄÔIP
- var http = new okHttp();
- // ---------- ºËÐĺ¯Êý£º½ØÆÁʶ±ð£¬·µ»ØÄ¿±êÁбí ----------
- function ʶ±ðͼ±ê(conf) {
- var shot = screen.screenShotFull();
- if (!shot) { print.log("½ØÍ¼Ê§°Ü"); return []; }
- var body = ("b64=" + encodeURIComponent(shot.toBase64()) + "&conf=" + (conf || 0.4)).toString();
- var r = JSON.parse(http.postForm(("http://" + SERVER_IP + ":8000/api/detect").toString(), body));
- if (!r || !r.detections) { print.log("ʶ±ðʧ°Ü"); return []; }
- // ¸øÃ¿¸öÄ¿±ê²¹³ä»»Ëãµ½ÊÖ»úÆÁÄ»µÄ×ø±ê
- var list = [];
- for (var i = 0; i < r.detections.length; i++) {
- var d = r.detections[i];
- if (d.conf < 0.5) continue; // ¹ýÂ˵ÍÖÃÐŶÈ
- d.sx = Math.round(d.center[0] * screen.getScreenWidth() / r.width);
- d.sy = Math.round(d.center[1] * screen.getScreenHeight() / r.height);
- list.push(d);
- }
- // ͬλÖÃÈ¥ÖØ£ºÁ½¸öÀà±ð¼·ÔÚÍ¬Ò»×ø±ê(<100px)ʱֻÁôÖÃÐŶÈ×î¸ßµÄ
- // £¨·ÀÖ¹ shoucang/fenxiang »ìÏýµ¼Öµã´í°´Å¥£©
- var out = [];
- for (var a = 0; a < list.length; a++) {
- var ok = true;
- for (var b = 0; b < list.length; b++) {
- if (a == b) continue;
- var dx = list[a].sx - list[b].sx, dy = list[a].sy - list[b].sy;
- if (Math.abs(dx) < 100 && Math.abs(dy) < 100 && list[b].conf > list[a].conf) { ok = false; break; }
- }
- if (ok) out.push(list[a]);
- }
- return out;
- }
- // °´·µ»Ø¼üÊÕÆðÎ󵯵ÄÃæ°å
- function °´·µ»Ø¼ü() {
- try {
- input.sendKeyCode(4); // KEYCODE_BACK
- print.log("[»Ö¸´] °´·µ»Ø¼üÊÕÆðÃæ°å");
- java.lang.Thread.sleep(1200);
- return true;
- } catch (e) { print.log("[»Ö¸´] ·µ»Ø¼üʧ°Ü: " + e); return false; }
- }
- // ---------- °´Àà±ðÃûÕÒͼ±ê²¢µã»÷£¨maxY=Ö»µã¸Ã¸ß¶ÈÒÔÉϵ쬷ÀÀà±ð»ìÏýµã´í£© ----------
- function ÕÒͼ±êµã»÷(Àà±ðÃû, ˵Ã÷, maxY) {
- var list = ʶ±ðͼ±ê(0.4);
- for (var i = 0; i < list.length; i++) {
- if ((list[i].label == Àà±ðÃû || list[i].class == Àà±ðÃû)
- && (!maxY || list[i].sy <= maxY)) {
- print.log("[" + ˵Ã÷ + "] ÕÒµ½ " + list[i].label + " ÖÃÐŶÈ" + list[i].conf + " µã»÷(" + list[i].sx + "," + list[i].sy + ")");
- auto.clickPoint(list[i].sx, list[i].sy);
- return true;
- }
- }
- print.log("[" + ˵Ã÷ + "] ûÕÒµ½ " + Àà±ðÃû);
- return false;
- }
- // ---------- ÍêÕûÁ÷³ÌʾÀý£ºµãÔÞ ¡ú ½øÆÀÂÛÇø ¡ú ÊÕ²Ø ----------
- function ×Ô¶¯Ñø»ú() {
- print.log("===== ×Ô¶¨ÒåÄ£ÐÍÑø»ú¿ªÊ¼ =====");
- // 0. ״̬»Ö¸´£ºµãÔÞͼ±ê²»ÔÚ = ±»Î󵯵ÄÃæ°åµ²×¡£¬°´·µ»Ø¼üÊÕÆð£¨×î¶à2´Î£©
- for (var r = 0; r < 2; r++) {
- var list = ʶ±ðͼ±ê(0.4);
- var ÓÐÐÄÐÄ = false;
- for (var i = 0; i < list.length; i++) if (list[i].label == "dianzan") ÓÐÐÄÐÄ = true;
- if (ÓÐÐÄÐÄ) break;
- print.log("[»Ö¸´] µÚ" + (r + 1) + "´Îû¿´µ½µãÔÞͼ±ê£¬°´·µ»Ø¼üÊÕÃæ°å");
- °´·µ»Ø¼ü();
- }
- // 1. µãÔÞ
- if (ÕÒͼ±êµã»÷("dianzan", "µãÔÞ")) {
- java.lang.Thread.sleep(1500);
- }
- // 2. ½øÆÀÂÛÇø£¨ÕÒ²»µ½=¿ÉÄܱ»µ¯´°µ²×¡£¬°´·µ»Ø¼ü»Ö¸´£©
- if (ÕÒͼ±êµã»÷("pinglun", "½øÆÀÂÛ")) {
- java.lang.Thread.sleep(2000);
- // ÕâÀï½Ó"ÊäÈëÆÀÂÛ+·¢ËÍ"Âß¼£¨²Î¿¼ ¿ì½ÝÆÀÂÛµãÔÞ\Ö÷½Å±¾.js ²½Öè2~4£©
- } else {
- °´·µ»Ø¼ü();
- }
- // 3. Êղأ¨maxY=1350£ºÊÕ²ØÐÇÔÚy¡Ö1257£¬·ÖÏí¼ýÍ·ÔÚy¡Ö1450£¬
- // Ä£ÐÍż¶û°ÑÁ½ÕßÈϻ죬ÏÞÖÆ¸ß¶È¾Í²»»áµã´í£©
- if (ÕÒͼ±êµã»÷("shoucang", "ÊÕ²Ø", 1350)) {
- java.lang.Thread.sleep(1000);
- }
- // 4. Ï»¬ÏÂÒ»¸öÊÓÆµ
- auto.swip(540, 1500, 540, 500, 300, 0);
- print.log("±¾ÂÖÍê³É");
- }
- // ---------- ´¿²é¿´Ä£Ê½£ºÁгöµ±Ç°ÆÁÄ»ËùÓÐʶ±ðµ½µÄͼ±ê ----------
- function ²é¿´Ê¶±ð½á¹û() {
- var list = ʶ±ðͼ±ê(0.3);
- print.log("µ±Ç°ÆÁĻʶ±ðµ½ " + list.length + " ¸öͼ±ê:");
- for (var i = 0; i < list.length; i++) {
- print.log(" " + list[i].label + " ÖÃÐŶÈ" + list[i].conf + " ÖÐÐÄ(" + list[i].sx + "," + list[i].sy + ")");
- }
- return list;
- }
- // ======================= ¡¾Ö´ÐÐÈë¿Ú¡¿ =======================
- ²é¿´Ê¶±ð½á¹û(); // ÏÈ¿´Ò»ÑÛʶ±ðµ½Ê²Ã´
- java.lang.Thread.sleep(2000);
- // Ñ»·Ñø»úʾÀý£ºÃ¿ 6 ÃëÒ»ÂÖ£¬¹² 20 ÂÖ
- for (var ÂÖ = 1; ÂÖ <= 20; ÂÖ++) {
- print.log("======== µÚ " + ÂÖ + "/20 ÂÖ ========");
- ×Ô¶¯Ñø»ú();
- java.lang.Thread.sleep(4000);
- }
- print.log("===== È«²¿Íê³É =====");
¸´ÖÆ´úÂë
|
|