B2BÍøÂçÈí¼þ

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

AIWROKϵͳ°²×¿ÕÒ×ÖOCR___·½·¨Ð¡½á×ܻ㼯ºÏ

[¸´ÖÆÁ´½Ó]

927

Ö÷Ìâ

932

Ìû×Ó

6985

»ý·Ö

abc

Rank: 9Rank: 9Rank: 9

»ý·Ö
6985
Ìø×ªµ½Ö¸¶¨Â¥²ã
Â¥Ö÷
AIWROKϵͳ°²×¿ÕÒ×ÖOCR___·½·¨Ð¡½á×ܻ㼯ºÏ

  1. /*
  2. 🍎½»Á÷QQȺ711841924Ⱥһ£¬Æ»¹ûÄÚ²âȺ£º528816639  
  3. 🍎🔍ÕÒ×ÖOCR___·½·¨Ð¡½á×ܻ㼯ºÏ  
  4. */  


  5. //======================== 1. »ù´¡ÎÄ×Ö²éѯ·½·¨ ========================//  

  6. // ·½·¨1£º🔍findIncludeText ²éѯ°üº¬ÎÄ×Ö  
  7. /*  
  8. Àà±ð        ÏêÇé˵Ã÷  
  9. ·½·¨¹¦ÄÜ        ²éѯ°üº¬Ö¸¶¨ÎÄ×ÖµÄÄÚÈÝ£¨µ¥Ä¿±êÆ¥Å䣩  
  10. ·½·¨Ç©Ãû        detect findIncludeText(String arg0)  
  11. ·µ»ØÖµ        detect£¨Ê¶±ðµ½µÄÄ¿±ê¶ÔÏ󣩠 
  12. ²ÎÊý        - String arg0£ºÐè²éѯµÄÎÄ×ÖÄÚÈÝ  
  13. */  
  14. // ʾÀý£º²éѯ°üº¬¡°È·ÈÏ¡±µÄÎÄ×Ö  
  15. let detectObj = new ocrResult().findIncludeText("È·ÈÏ");  


  16. // ·½·¨2£º🔍findIncludeTexts ²éѯ°üº¬ÎÄ×Ö£¨¶àÄ¿±ê£©  
  17. /*  
  18. Àà±ð        ÏêÇé˵Ã÷  
  19. ·½·¨¹¦ÄÜ        ²éѯ°üº¬Ö¸¶¨ÎÄ×ֵĶà¸ö½á¹û£¨·µ»Ø detect Êý×飩  
  20. ·½·¨Ç©Ãû        detect[] findIncludeTexts(String arg0)  
  21. ·µ»ØÖµ        detect[]£¨Ê¶±ðµ½µÄÄ¿±ê¶ÔÏóÊý×飩  
  22. ²ÎÊý        - String arg0£ºÐè²éѯµÄÎÄ×ÖÄÚÈÝ  
  23. */  
  24. // ʾÀý£º²éѯËùÓаüº¬¡°°´Å¥¡±µÄÎÄ×Ö  
  25. let detectArray = new ocrResult().findIncludeTexts("°´Å¥");  


  26. // ·½·¨3£º🔍findSimText Ä£ºý²éѯ£¨½üËÆÆ¥Å䣩  
  27. /*  
  28. Àà±ð        ÏêÇé˵Ã÷  
  29. ·½·¨¹¦ÄÜ        Ä£ºýÆ¥ÅäÖ¸¶¨ÎÄ×Ö£¨Ö§³Ö½üËÆÎı¾Ê¶±ð£©  
  30. ·½·¨Ç©Ãû        detect findSimText(String arg0)  
  31. ·µ»ØÖµ        detect£¨Ê¶±ðµ½µÄÄ£ºýÆ¥ÅäÄ¿±ê£©  
  32. ²ÎÊý        - String arg0£ºÐèÄ£ºý²éѯµÄÎÄ×ÖÄÚÈÝ  
  33. */  
  34. // ʾÀý£ºÈ«ÆÁʶ±ðºóÄ£ºý²éÕÒ¡°¿ªÐÄÊÕÏ¡±  
  35. let img = screen.screenShotFull();  
  36. let ocrres = img.MLKitOcr('zh');  
  37. let detectObj = ocrres.findSimText("¿ªÐÄÊÕÏÂ");  
  38. detectObj.click();  


  39. // ·½·¨4£º🔍findText ¾«È·²éѯÎÄ×Ö  
  40. /*  
  41. Àà±ð        ÏêÇé˵Ã÷  
  42. ·½·¨¹¦ÄÜ        ¾«È·²éѯָ¶¨ÎÄ×Ö£¨ÑϸñÆ¥Å䣩  
  43. ·½·¨Ç©Ãû        detect findText(String arg0)  
  44. ·µ»ØÖµ        detect£¨Ê¶±ðµ½µÄ¾«È·Ä¿±ê£©  
  45. ²ÎÊý        - String arg0£ºÐ辫ȷ²éѯµÄÎÄ×ÖÄÚÈÝ  
  46. */  
  47. // ʾÀý£ºÈ«ÆÁʶ±ðºó¾«È·²éÕÒ¡°¿ªÐÄÊÕÏ¡±  
  48. let img = screen.screenShotFull();  
  49. let ocrres = img.MLKitOcr('zh');  
  50. let detectObj = ocrres.findText("¿ªÐÄÊÕÏÂ");  
  51. detectObj.click();  


  52. // ·½·¨5£º🔍getAllDetect »ñÈ¡ËùÓÐʶ±ðÄ¿±ê  
  53. /*  
  54. Àà±ð        ÏêÇé˵Ã÷  
  55. ·½·¨¹¦ÄÜ        »ñÈ¡ OCR ʶ±ðµ½µÄËùÓÐÄ¿±ê£¨·µ»Ø detect Êý×飩  
  56. ·½·¨Ç©Ãû        detect[] getAllDetect()  
  57. ·µ»ØÖµ        detect[]£¨ËùÓÐʶ±ðÄ¿±êµÄÊý×飩  
  58. ²ÎÊý        ÎÞ  
  59. */  
  60. // ʾÀý£º»ñÈ¡µ±Ç° OCR ½á¹ûµÄËùÓÐÄ¿±ê  
  61. let allDetects = new ocrResult().getAllDetect();  


  62. // ·½·¨6£º🔍getAllString »ñÈ¡ËùÓÐʶ±ðÎÄ×Ö  
  63. /*  
  64. Àà±ð        ÏêÇé˵Ã÷  
  65. ·½·¨¹¦ÄÜ        »ñÈ¡ OCR ʶ±ðµ½µÄËùÓÐÎÄ×Ö£¨Æ´½ÓΪ×Ö·û´®·µ»Ø£©  
  66. ·½·¨Ç©Ãû        String getAllString()  
  67. ·µ»ØÖµ        String£¨ËùÓÐʶ±ðÎÄ×ֵį´½Ó½á¹û£©  
  68. ²ÎÊý        ÎÞ  
  69. */  
  70. // ʾÀý£º»ñÈ¡µ±Ç° OCR ½á¹ûµÄËùÓÐÎÄ×Ö  
  71. let allText = new ocrResult().getAllString();  
  72. print.log(allText);  


  73. // ·½·¨7£º🔍getJson »ñÈ¡ JSON ¸ñʽ½á¹û£¨ocrResult ʵÀý·½·¨£©  
  74. /*  
  75. Àà±ð        ÏêÇé˵Ã÷  
  76. ·½·¨¹¦ÄÜ        »ñÈ¡ OCR ʶ±ð½á¹ûµÄ JSON ¸ñʽÊý¾Ý£¨×Ö·û´®ÐÎʽ£©  
  77. ·½·¨Ç©Ãû        String getJson()  
  78. ·µ»ØÖµ        String£¨OCR ʶ±ð½á¹ûµÄ JSON ×Ö·û´®£©  
  79. ²ÎÊý        ÎÞ  
  80. */  
  81. // ʾÀý£º»ñÈ¡²¢´òÓ¡ OCR ½á¹ûµÄ JSON Êý¾Ý  
  82. let ocrResult = new ocrResult();  
  83. let jsonResult = ocrResult.getJson();  
  84. print.log(jsonResult);  


  85. // ·½·¨8£º🔍getJsonString »ñÈ¡ JSON ×Ö·û´®£¨ÈßÓà·½·¨£¬°´ÐèʹÓã©  
  86. /*  
  87. Àà±ð        ÏêÇé˵Ã÷  
  88. ·½·¨¹¦ÄÜ        »ñÈ¡ OCR ʶ±ð½á¹ûµÄ JSON ×Ö·û´®£¨Óë getJson ¹¦ÄÜÒ»Ö£¬¿ÉÄÜΪ±ðÃû£©  
  89. ·½·¨Ç©Ãû        String getJsonString()  
  90. ·µ»ØÖµ        String£¨OCR ʶ±ð½á¹ûµÄ JSON ×Ö·û´®£©  
  91. ²ÎÊý        ÎÞ  
  92. */  
  93. // ʾÀý£º»ñÈ¡ JSON ×Ö·û´®  
  94. let jsonStr = new ocrResult().getJsonString();  


  95. //======================== 2. ºËÐÄʶ±ð·½·¨ ========================//  

  96. // ·½·¨9£º🔍MLKitOcr ÎÄ×Öʶ±ð£¨Google MLKit ÒýÇæ£©  
  97. /*  
  98. Àà±ð        ÏêÇé˵Ã÷  
  99. ·½·¨¹¦ÄÜ        µ÷Óà Google MLKit ½øÐÐÎÄ×Öʶ±ð  
  100. ·½·¨Ç©Ãû        ocrResult MLKitOcr(String arg0, int arg1)  
  101. ·µ»ØÖµ        ocrResult£¨OCR ʶ±ð½á¹û¶ÔÏ󣩠 
  102. ²ÎÊý        - String arg0£ºÊ¶±ðÓïÑÔ£¨Ä¬ÈÏÖµ£º"zh"£¬ÖÐÎÄ£©  
  103.         - int arg1£ºËõС±¶Êý£¨Ä¬ÈÏÖµ£º2£¬¼´Í¼ÏñËõСΪԭÀ´µÄ 1/2£©  
  104. */  
  105. // ʾÀý£ºÈ«ÆÁʶ±ðÖÐÎÄ£¬ËõС±¶ÊýΪ 2  
  106. let ocrres = screen.MLKitOcr('zh', 2);  


  107. // ·½·¨10£º🔍MLKitOcrRect ÎÄ×ÖÇøÓòʶ±ð£¨MLKit + ÇøÓò²Ã¼ô£©  
  108. /*  
  109. Àà±ð        ÏêÇé˵Ã÷  
  110. ·½·¨¹¦ÄÜ        µ÷Óà Google MLKit ʶ±ðÖ¸¶¨ÇøÓòµÄÎÄ×Ö£¨°´°Ù·Ö±È×ø±ê£©  
  111. ·½·¨Ç©Ãû        ocrResult MLKitOcrRect(String arg0, double[] arg1)  
  112. ·µ»ØÖµ        ocrResult£¨OCR ʶ±ð½á¹û¶ÔÏ󣩠 
  113. ²ÎÊý        - String arg0£ºÊ¶±ðÓïÑÔ£¨Ä¬ÈÏÖµ£º"zh"£¬ÖÐÎÄ£©  
  114.         - double[] arg1£ºÊ¶±ðÇøÓòµÄ°Ù·Ö±È×ø±ê£¨¸ñʽ£º[x1, y1, x2, y2]£¬Ê¾Àý [0,0,1,1] ´ú±íÈ«ÇøÓò£©  
  115. */  
  116. // ʾÀý£ºÊ¶±ðÆÁÄ»ÉϰëÇøÓòµÄÎÄ×Ö£¨°Ù·Ö±È×ø±ê [0,0,1,0.5]£©  
  117. let img = screen.screenShotFull();  
  118. let ocrres = img.MLKitOcrRect('zh', [0,0,1,0.5]);  


  119. // ·½·¨11£º🔍aiworkOCR awork ÎÄ×Öʶ±ð  
  120. /*  
  121. Àà±ð        ÏêÇé˵Ã÷  
  122. ·½·¨¹¦ÄÜ        µ÷Óà awork ÒýÇæ½øÐÐÎÄ×Öʶ±ð£¨Ö§³ÖÇøÓò²Ã¼ô£©  
  123. ·½·¨Ç©Ãû        ocrResult aiworkOCR(int arg0, double[] arg1)  
  124. ·µ»ØÖµ        ocrResult£¨OCR ʶ±ð½á¹û¶ÔÏ󣩠 
  125. ²ÎÊý        - int arg0£ºÊ¶±ð³ß´ç£¨ÍƼöÖµ£º640¡¢320£©  
  126.         - double[] arg1£ºÊ¶±ðÇøÓòµÄ°Ù·Ö±È×ø±ê£¨¸ñʽ£º[x1, y1, x2, y2]£¬Ê¾Àý [0,0,1,1] ´ú±íÈ«ÇøÓò£©  
  127. */  
  128. // ʾÀý£ºÈ«ÆÁʶ±ð£¬³ß´ç 640£¬²éÕÒ²¢µã»÷º¬¡°À׵硱µÄÄ¿±ê  
  129. let img = screen.screenShotFull();  
  130. let ocrres = img.aiworkOCR(640, [0,0,1,1]);  
  131. ocrres.findIncludeText("À×µç").hidClick();  


  132. // ·½·¨12£º🔍paddleOCR PaddleOCR ÎÄ×Öʶ±ð  
  133. /*  
  134. Àà±ð        ÏêÇé˵Ã÷  
  135. ·½·¨¹¦ÄÜ        µ÷Óà PaddleOCR ÒýÇæ½øÐÐÎÄ×Öʶ±ð£¨Ö§³ÖÇøÓò²Ã¼ô£©  
  136. ·½·¨Ç©Ãû        ocrResult paddleOCR(int arg0, double[] arg1)  
  137. ·µ»ØÖµ        ocrResult£¨OCR ʶ±ð½á¹û¶ÔÏ󣩠 
  138. ²ÎÊý        - int arg0£ºÊ¶±ð³ß´ç£¨ÍƼöÖµ£º640¡¢320£©  
  139.         - double[] arg1£ºÊ¶±ðÇøÓòµÄ°Ù·Ö±È×ø±ê£¨¸ñʽ£º[x1, y1, x2, y2]£¬Ê¾Àý [0,0,1,1] ´ú±íÈ«ÇøÓò£©  
  140. */  
  141. // ʾÀý£ºÈ«ÆÁʶ±ð£¬³ß´ç 640£¬²éÕÒ²¢µã»÷º¬¡°À׵硱µÄÄ¿±ê  
  142. let img = screen.screenShotFull();  
  143. let ocrres = img.paddleOCR(640, [0,0,1,1]);  
  144. ocrres.findIncludeText("À×µç").hidClick();  


  145. //======================== 3. OpenCV Ïà¹Ø·½·¨ ========================//  

  146. // ·½·¨13£º🔍opencv.OCR ͨ¹ýѵÁ·×Ö¿âʶ±ð  
  147. /*  
  148. Àà±ð        ÏêÇé˵Ã÷  
  149. ·½·¨¹¦ÄÜ        ʹÓà OpenCV ѵÁ·µÄ×Ö¿â½øÐÐÎÄ×Öʶ±ð£¨ÐèÌáǰ׼±¸×Ö¿âÎļþ£©  
  150. ·½·¨Ç©Ãû        ocrResult OCR(Mat arg0, String arg1, double arg2, int arg3, double[] arg4)  
  151. ·µ»ØÖµ        ocrResult£¨OCR ʶ±ð½á¹û¶ÔÏ󣩠 
  152. ²ÎÊý        - Mat arg0£ºÊäÈëµÄͼƬ¶ÔÏó£¨Mat ÀàÐÍ£©  
  153.         - String arg1£º×Ö¿âÎļþ·¾¶/Ãû³Æ£¨°¸ÀýÖд«¿Õ×Ö·û´® ""£©  
  154.         - double arg2£ºÏàËÆ¶ÈãÐÖµ£¨°¸ÀýÖÐΪ 0£¬·¶Î§£º0~1£©  
  155.         - int arg3£ºÔ¤ÆÚʶ±ðµÄÎÄ×ÖÊýÁ¿£¨°¸ÀýÖÐΪ 0£¬¼´²»ÏÞÊýÁ¿£©  
  156.         - double[] arg4£ºÊ¶±ðÇøÓòµÄ°Ù·Ö±È×ø±ê£¨¸ñʽ£º[x1,y1,x2,y2]£¬°¸ÀýÖд«¿ÕÊý×é double[]£©  
  157. */  
  158. // ʾÀý£ºÊ¹ÓÃĬÈÏ×Ö¿âʶ±ðÈ«ÇøÓòÎÄ×Ö  
  159. let matImg = ...; // ¼ÙÉèÒÑ»ñÈ¡ Mat ÀàÐÍͼƬ  
  160. opencv.OCR(matImg, "", 0, 0, []);  


  161. // ·½·¨14£º🔍opencv.OCREx »ùÓÚ CV ÎļþµÄ OCR ʶ±ð  
  162. /*  
  163. Àà±ð        ÏêÇé˵Ã÷  
  164. ·½·¨¹¦ÄÜ        ͨ¹ýÖ¸¶¨ CV ÎļþÃû½øÐÐÎÄ×Öʶ±ð£¨ÐèÌáǰ׼±¸ CV ÅäÖÃÎļþ£©  
  165. ·½·¨Ç©Ãû        ocrResult OCREx(String arg0)  
  166. ·µ»ØÖµ        ocrResult£¨OCR ʶ±ð½á¹û¶ÔÏ󣩠 
  167. ²ÎÊý        - String arg0£ºCV ÎļþÃû£¨°¸ÀýÖд«Èë¿Õ×Ö·û´® ""£©  
  168. */  
  169. // ʾÀý£ºÊ¹ÓÃ¿Õ CV ÎļþÃûʶ±ð£¨ÐèÈ·±£ÅäÖÃÕýÈ·£©  
  170. opencv.OCREx("");  


  171. //======================== 4. TomatoOCR ÍêÕûʵÀýÑÝʾ ========================//  

  172. /*  
  173. 🍅 ¹¦ÄÜ£ºTomatoOCR ÒýÇæµÄÍêÕûµ÷ÓÃʾÀý£¨º¬³õʼ»¯¡¢Ê¶±ð¡¢·â×°·½·¨£©  
  174. ²½Ö裺  
  175. 1. ¼ÓÔØ²å¼þ ¡ú 2. µ¼ÈëÀà ¡ú 3. ³õʼ»¯ OCR ¡ú 4. ·âװʶ±ð·½·¨ ¡ú 5. µ÷ÓÃʶ±ð  
  176. ×¢Ò⣺Ðè×ÔÐлñÈ¡ license£¬µ÷ÕûÄ£ÐͲÎÊý£¨Èç rec_type¡¢¼ì²âÄ£Ð͵ȣ©¡£  
  177. */  

  178. var TM = {};  

  179. // 1. ¼ÓÔØ²å¼þ£¨¸ù¾ÝÉ豸¼Ü¹¹µ÷Õû£¬Èç armeabi-v7a£©  
  180. rhino.loadDex('TomatoOCR.apk');  

  181. // 2. µ¼ÈëÀࣨ¶à²å¼þµ÷ÓÃÐèÈ·±£Àà¼ÓÔØ£©  
  182. try {  
  183.   rhino.loadClass('com.tomato.ocr.aw.OCRApi');  
  184.   importClass(com.tomato.ocr.aw.OCRApi);  
  185. } catch (error) {  
  186.   FZ.printll(error);  
  187. }  

  188. // 3. ³õʼ»¯ OCR  
  189. var ocr = new OCRApi();  
  190. let rec_type = "ch-3.0"; // Ä£ÐÍÀàÐÍ£ºch/cht/japan/korean µÈ£¨3.0°æÎªÄ¬ÈÏÍÆ¼ö£©  
  191. ocr.setContext(context, rec_type);  

  192. // 4. ÉèÖà license£¨Ðè×ÔÐлñÈ¡£¬ÊÔÓðæ´ÓȺ/ÍøÅÌ»ñÈ¡£©  
  193. let license = "×Ô¼ºÕÒ×÷Õß»ñÈ¡";  
  194. let flag = ocr.setLicense(license);  
  195. // flag º¬Ò壺-1£¨ÎÞЧ£©¡¢0£¨¹ýÆÚ£©¡¢1/µ½ÆÚÈÕÆÚ£¨ÓÐЧ£©  
  196. print.log("License ״̬£º" + flag);  

  197. // 5. µ÷Õûʶ±ð²ÎÊý£¨¿ÉÑ¡£¬°´ÐèÐ޸ģ©  
  198. ocr.setDetBoxType("rect"); // ¼ì²âÄ£ÐÍ£ºrect£¨¾ØÐÎÎı¾£¬Ä¬ÈÏ£©/ quad£¨ÇãбÎı¾£©  
  199. ocr.setDetUnclipRatio(1.9); // ¼ì²âÀ©Õ¹ÏµÊý£¨1.6~2.5 Ö®¼ä£¬Ä¬ÈÏ1.9£©  
  200. ocr.setRecScoreThreshold(0.3); // ʶ±ðµÃ·Ö¹ýÂË£¨0.1~0.9 Ö®¼ä£¬Ä¬ÈÏ0.3£©  
  201. ocr.setReturnType("json"); // ·µ»Ø¸ñʽ£ºjson£¨Ä¬ÈÏ£¬º¬×ø±ê+ÎÄ×Ö+µÃ·Ö£©/ text£¨´¿ÎÄ×Ö£©/ num£¨´¿Êý×Ö£©  

  202. var type = 3; // ʶ±ðģʽ£º0£¨Ö»¼ì²â£©¡¢1£¨·½Ïò·ÖÀà+ʶ±ð£©¡¢2£¨Ö»Ê¶±ð£©¡¢3£¨¼ì²â+ʶ±ð£¬Ä¬ÈÏ£©  


  203. // 6. ·âװʶ±ð·½·¨£¨´øµã»÷¡¢×ø±ê·µ»Ø¹¦ÄÜ£©  
  204. /**  
  205. * TM.tmocrʶ±ð£ºOCR ʶ±ð²¢¿ÉÑ¡µã»÷Ä¿±ê  
  206. * @param {String} tmstr - Ä¿±êÎÄ×Ö  
  207. * @param {Array} tmsize - ʶ±ðÇøÓò£¨°Ù·Ö±È×ø±ê [x1,y1,x2,y2]£©  
  208. * @param {Boolean} tmclick - ÊÇ·ñµã»÷Ä¿±ê  
  209. * @param {Number} tmcoor1 - µã»÷Æ«ÒÆ×îСֵ  
  210. * @param {Number} tmcoor2 - µã»÷Æ«ÒÆ×î´óÖµ  
  211. * @param {Number} tmslee - µã»÷ºóÐÝÃßʱ¼ä£¨ºÁÃ룩  
  212. * @return {Boolean} ÊÇ·ñʶ±ðµ½Ä¿±ê  
  213. */  
  214. TM.tmocrʶ±ð = function (tmstr, tmsize, tmclick, tmcoor1, tmcoor2, tmslee) {  
  215.   // °Ù·Ö±È×ø±ê×ªÕæÊµÆÁÄ»×ø±ê£¨wdh/hgt ÐèÌáǰ¶¨ÒåΪÆÁÄ»¿í¸ß£©  
  216.   var tma = Math.round(tmsize[0] * wdh);  
  217.   var tmb = Math.round(tmsize[1] * hgt);  

  218.   var img0 = screen.screenShotFull(); // È«ÆÁ½ØÍ¼  
  219.   sleep.millisecond(10); // ÐÝÃß±ÜÃâ×ÊÔ´³åÍ»  
  220.   var img = img0.cutImagePercent(tmsize[0], tmsize[1], tmsize[2], tmsize[3]); // ²Ã¼ôʶ±ðÇøÓò  
  221.   sleep.millisecond(10);  

  222.   var result3 = ocr.ocrBase64(img.toBase64(), type); // µ÷Óà TomatoOCR ʶ±ð  
  223.   try {  
  224.     if (result3) {  
  225.       var result3 = JSON.parse(result3); // ½âÎö JSON ½á¹û  
  226.       var point = this.findStrCenter(result3, tmstr); // ²éÕÒÎÄ×ÖÖÐÐÄ×ø±ê  
  227.       if (point[0] >= 0) { // ʶ±ðµ½Ä¿±ê  
  228.         FZ.printll(`ÕÒµ½Ä¿±êÎÄ×Ö£º${tmstr}`);  
  229.         var tme = point[0] + tma; // ¼ÆËãÕæÊµ×ø±ê  
  230.         var tmf = point[1] + tmb;  
  231.         if (tmclick) { // ÈôÐèµã»÷  
  232.           hid.click(  
  233.             tme + rand.randNumber(tmcoor1, tmcoor2), // ºáÏòÆ«ÒÆ  
  234.             tmf + rand.randNumber(tmcoor1, tmcoor2)  // ×ÝÏòÆ«ÒÆ  
  235.           );  
  236.           sleep.millisecond(tmslee); // µã»÷ºóÐÝÃß  
  237.         }  
  238.         img0.recycle(); // ÊÍ·ÅͼƬ×ÊÔ´  
  239.         img.recycle();  
  240.         return true;  
  241.       }  
  242.     }  
  243.   } catch (err) {  
  244.     printl(`ʶ±ðÒì³££º${err}`);  
  245.   }  
  246.   img0.recycle();  
  247.   img.recycle();  
  248.   return false;  
  249. };  


  250. /**  
  251. * TM.tmocrʶ±ð×ø±ê£ºOCR ʶ±ð²¢·µ»ØÄ¿±ê×ø±ê  
  252. * @param {String} tmstr - Ä¿±êÎÄ×Ö  
  253. * @param {Array} tmsize - ʶ±ðÇøÓò£¨°Ù·Ö±È×ø±ê [x1,y1,x2,y2]£©  
  254. * @return {Array|null} Ä¿±ê×ø±ê [x,y]£¬Î´ÕÒµ½Ôò·µ»Ø null  
  255. */  
  256. TM.tmocrʶ±ð×ø±ê = function (tmstr, tmsize) {  
  257.   var tma = Math.round(tmsize[0] * wdh);  
  258.   var tmb = Math.round(tmsize[1] * hgt);  

  259.   var img0 = screen.screenShotFull();  
  260.   sleep.millisecond(10);  
  261.   var img = img0.cutImagePercent(tmsize[0], tmsize[1], tmsize[2], tmsize[3]);  
  262.   sleep.millisecond(10);  

  263.   var result3 = ocr.ocrBase64(img.toBase64(), type);  
  264.   try {  
  265.     if (result3) {  
  266.       var result3 = JSON.parse(result3);  
  267.       var point = this.findStrCenter(result3, tmstr);  
  268.       if (point[0] >= 0) {  
  269.         FZ.printll(`ÕÒµ½Ä¿±êÎÄ×Ö£º${tmstr}`);  
  270.         var tme = point[0] + tma;  
  271.         var tmf = point[1] + tmb;  
  272.         img0.recycle();  
  273.         img.recycle();  
  274.         return [tme, tmf];  
  275.       }  
  276.     }  
  277.   } catch (err) {  
  278.     printl(`ʶ±ðÒì³££º${err}`);  
  279.   }  
  280.   img0.recycle();  
  281.   img.recycle();  
  282.   return null;  
  283. };  


  284. /**  
  285. * TM.findStrCenter£º´Ó OCR ½á¹ûÖвéÕÒÎÄ×ÖÖÐÐÄ×ø±ê  
  286. * @param {Array} result_list - OCR ʶ±ð½á¹û£¨JSON ½âÎöºóµÄÊý×飬¸ñʽ£º[{words: "Îı¾", location: [[x1,y1],[x2,y2],...]}]£©  
  287. * @param {String} data - Ä¿±êÎÄ×Ö  
  288. * @return {Array} ÖÐÐÄ×ø±ê [x,y]£¬Î´ÕÒµ½Ôò·µ»Ø [-1,-1]  
  289. */  
  290. TM.findStrCenter = function (result_list, data) {  
  291.   for (let i = 0; i < result_list.length; i++) {  
  292.     var words = result_list[i]["words"];  
  293.     var location = result_list[i]["location"];  
  294.     if (words.includes(data)) { // ¼ì²éÎÄ×ÖÊÇ·ñ°üº¬Ä¿±ê  
  295.       let x1 = location[0][0];  
  296.       let y1 = location[0][1];  
  297.       let x2 = location[2][0];  
  298.       let y2 = location[2][1];  
  299.       // ¼ÆËãÎÄ×ÖÖÐÐÄ×ø±ê£¨ÊÊÅä¶à×Ö·ûÆ¥Å䣩  
  300.       let charIndex = words.indexOf(data);  
  301.       let x = Math.floor(  
  302.         (x2 - x1) / words.length * (data.length + 2 * charIndex) / 2 + x1  
  303.       );  
  304.       let y = Math.floor((y2 - y1) / 2 + y1);  
  305.       return [x, y];  
  306.     }  
  307.   }  
  308.   return [-1, -1];  
  309. };  


  310. // 7. µ÷ÓÃʾÀý£¨Ðè½áºÏʵ¼Ê³¡¾°£¬ÒÔÏÂΪα´úÂ룩  
  311. // TM.tmocrʶ±ð("È·ÈÏ", [0,0,1,1], true, 5, 10, 1000); // È«ÆÁʶ±ð¡°È·ÈÏ¡±²¢µã»÷£¨´øÆ«ÒÆ£©  


  312. // 8. ÄÚ´æÊÍ·Å£¨¿ÉÑ¡£¬½áÊøÊ±µ÷Óã©  
  313. // ocr.end();  


  314. /*  
  315. &#128204; ¹Ø¼ü˵Ã÷£º  
  316. 1. **»·¾³ÒÀÀµ**£ºÐèÌáǰ¶¨Òå `wdh`£¨ÆÁÄ»¿í¶È£©¡¢`hgt`£¨ÆÁÄ»¸ß¶È£©¡¢`rand`£¨Ëæ»úÊý¹¤¾ß£©¡¢`hid`£¨µã»÷¹¤¾ß£©¡£  
  317. 2. **Ä£ÐÍÇл»**£º`rec_type` Ö§³Ö `ch`£¨v1.0£©¡¢`ch-2.0`¡¢`ch-3.0`£¨ÍƼö£©¡¢`cht`£¨·±Ì壩¡¢`japan`£¨ÈÕÓµÈ¡£  
  318. 3. **²ÎÊýÓÅ»¯**£º  
  319.    - `setDetUnclipRatio`£ºÖµÔ½´ó£¬¼ì²âÇøÓòÔ½¿íËÉ£¨Êʺϸ´ÔÓÅŰ棩¡£  
  320.    - `setRecScoreThreshold`£ºÖµÔ½¸ß£¬Ê¶±ð¾«¶ÈÒªÇóÔ½Ñϸñ£¨ÐèÆ½ºâÕÙ»ØÂÊ£©¡£  
  321. 4. **×ÊÔ´ÊÍ·Å**£º³¤Ê±¼äÔËÐÐÐèµ÷Óà `ocr.end()` ÊÍ·ÅÄڴ棬±ÜÃâй©¡£  
  322. */
¸´ÖÆ´úÂë

findIncludeText²éѯ°üº¬ÎÄ×Ö
씀ÏêÇé
¹¦ÄÜÃèÊö
²éѯ°üº¬ÎÄ×Ö
·½·¨¶¨Òå
detect findIncludeText(String arg0)
·µ»ØÖµ
detect
²ÎÊý
String arg0
£ºÐè²éѯµÄÎÄ×ÖÄÚÈÝ
°¸Àý
new ocrResult().findIncludeText('')
&#128269;&#128290;findIncludeTexts²éѯ°üº¬ÎÄ×Ö¶àÄ¿±ê
씀ÏêÇé
¹¦ÄÜÃèÊö
²éѯ°üº¬ÎÄ×Ö¶àÄ¿±ê£¬²éѯ°üº¬Ä³¸öÎÄ×ֵĶà¸ö½á¹û£¬·µ»ØÖµÎª detect Êý×飬Êý×éÔªËØÀàÐÍÊÇ detect ÀàÐÍ
·½·¨¶¨Òå
detect[] findIncludeTexts(String arg0)
·µ»ØÖµ
detect[]
²ÎÊý
String arg0
£ºÐè²éѯµÄÎÄ×ÖÄÚÈÝ
°¸Àý
new ocrResult().findIncludeTexts('')
&#128269;&#128290;findSimilarTextÄ£ºý²éѯ
씀ÏêÇé
¹¦ÄÜÃèÊö
Ä£ºý²éѯ
·½·¨¶¨Òå
detect findSimilarText(String arg0)
·µ»ØÖµ
detect
²ÎÊý
String arg0
£ºÐè½øÐÐÄ£ºý²éѯµÄÎÄ×ÖÄÚÈÝ
°¸Àý
// È«ÆÁ½ØÍ¼
let img = screen.screenShotFull()// ÖÐÎÄ£¨zh£©Ê¶±ð OCR
let ocrres = img.MLKitOcr('zh');// ²éÕÒÄ¿±ê
let d = ocrres.findSimText("¿ªÐÄÊÕÏÂ");// µã»÷Ä¿±ê
d.click();
&#128269;&#128290;findText²éѯÎÄ×Ö
씀ÏêÇé
¹¦ÄÜÃèÊö
²éѯÎÄ×Ö
·½·¨¶¨Òå
detect findText(String arg0)
·µ»ØÖµ
detect
²ÎÊý
String arg0
£ºÓïÑÔ£¨×¢£º°¸ÀýÖÐʵ¼Ê´«ÈëÎÄ×ÖÄÚÈÝ£¬ÍƲâÎĵµ²ÎÊýÃèÊö¿ÉÄÜ´æÔÚÎó²î£©
°¸Àý
// È«ÆÁ½ØÍ¼
let img = screen.screenShotFull()
// ÖÐÎÄ£¨zh£©Ê¶±ð OCR
let ocrres = img.MLKitOcr('zh');
// ²éÕÒÄ¿±ê
let d = ocrres.findText("¿ªÐÄÊÕÏÂ");
// µã»÷Ä¿±ê
d.click();
&#128269;&#128290;getAllDetect »ñÈ¡ËùÓÐÄ¿±ê
씀ÏêÇé
¹¦ÄÜÃèÊö
»ñÈ¡ËùÓÐÄ¿±ê
·½·¨¶¨Òå
detect[] getAllDetect()
·µ»ØÖµ
detect[]
²ÎÊý
ÎÞ
°¸Àý
new ocrResult().getAllDetect()
&#128269;&#128290;getAllString »ñÈ¡ËùÓÐ×Ö·û´®
씀ÏêÇé
¹¦ÄÜÃèÊö
»ñÈ¡ËùÓÐ×Ö·û´®
·½·¨¶¨Òå
String getAllString()
·µ»ØÖµ
String
²ÎÊý
ÎÞ
°¸Àý
new ocrResult().getAllString()
&#128269;&#128290;getJson »ñÈ¡json¶ÔÏó
씀ÏêÇé
¹¦ÄÜÃèÊö
»ñÈ¡ OCR ʶ±ð½á¹ûµÄ JSON ¸ñʽÊý¾Ý
·½·¨¶¨Òå
String getJson()
£¨ocrResult
ÀàµÄʵÀý·½·¨£©
·µ»ØÖµ
String
£ºOCR ʶ±ð½á¹ûµÄ JSON ×Ö·û´®
²ÎÊý
ÎÞ
°¸Àý
// ¼ÙÉèÒÑ»ñÈ¡OCRʶ±ð½á¹û¶ÔÏó
let ocrResult = new ocrResult();// »ñÈ¡JSON¸ñʽ½á¹û
let jsonResult = ocrResult.getJson();
printl(jsonResult);
&#128269;&#128290;getJsonString »ñÈ¡json×Ö·û´®
씀ÏêÇé
¹¦ÄÜÃèÊö
»ñÈ¡ JSON ×Ö·û´®ÐÎʽµÄ OCR ʶ±ð½á¹û
·½·¨¶¨Òå
String getJsonString()
£¨ocrResult
ÀàµÄʵÀý·½·¨£©
·µ»ØÖµ
String
²ÎÊý
ÎÞ
°¸Àý
let jsonStr = new ocrResult().getJsonString();
&#128269;&#128290;MLKitOcrÎÄ×Öʶ±ð
씀˵Ã÷
¹¦ÄÜ
ÎÄ×Öʶ±ð
·½·¨Ç©Ãû
ocrResult MLKitOcr(String arg0, int arg1)
·µ»ØÖµ
ocrResult
²ÎÊý 1
String arg0
£¬ÓïÑÔ£¨Ä¬ÈÏÖµ£ºÖÐÎÄ£©
²ÎÊý 2
int arg1
£¬ËõС±¶Êý£¨Ä¬ÈÏÖµ£º2£¬¼´ËõСһ°ë£©
µ÷Óð¸Àý
screen.MLKitOcr('zh', 2)
&#128269;&#128290;MLKitOcrRect ÎÄ×ÖÇøÓòʶ±ð
씀ÏêÇé
¹¦ÄÜÃèÊö
ÎÄ×ÖÇøÓòʶ±ð
·½·¨¶¨Òå
ocrResult MLKitOcrRect(String arg0, double[] arg1)
·µ»ØÖµ
ocrResult
²ÎÊý
- String arg0
£ºÊ¶±ðÓïÑÔ£¬Ä¬ÈÏֵΪ zh
£¨ÖÐÎÄ£©
- double[] arg1
£ºÊ¶±ðÇøÓòµÄ°Ù·Ö±È×ø±ê£¬¸ñʽΪ [x1, y1, x2, y2]
£¨Ê¾Àý£º[0,0,1,1]
´ú±íÈ«ÇøÓò£©
°¸Àý
let img = screen.screenShotFull(); // È«ÆÁ½ØÍ¼
let ocrres = img.MLKitOcrRect('zh', [0,0,1,1]); // ʶ±ðÖ¸¶¨ÇøÓòµÄÎÄ×Ö
&#128269;&#128290;aiworkOCR aworkÎÄ×Öʶ±ð
씀ÏêÇé
¹¦ÄÜÃèÊö
awork ÎÄ×Öʶ±ð
·½·¨¶¨Òå
ocrResult aiworkOCR(int arg0, double[] arg1)
·µ»ØÖµ
ocrResult
²ÎÊý
- int arg0
£ºÊ¶±ð³ß´ç£¨ÍƼöÖµ£º640¡¢320£©
- double[] arg1
£ºÊ¶±ðÇøÓòµÄ°Ù·Ö±È×ø±ê£¨¸ñʽ£º[x1, y1, x2, y2]
£¬Ê¾Àý [0,0,1,1]
´ú±íÈ«ÇøÓò£©
°¸Àý
let img = screen.screenShotFull(); // È«ÆÁ½ØÍ¼
let ocrres = img.aiworkOCR(640, [0,0,1,1]); // µ÷Óà awork ÎÄ×Öʶ±ð
ocrres.findIncludeText("À×µç").hidClick(); // ²éÕÒ²¢µã»÷º¬"À×µç"µÄÄ¿±ê
&#128269;&#128290;paddleOCR paddleÎÄ×Öʶ±ð
씀ÏêÇé
¹¦ÄÜÃèÊö
paddle ÎÄ×Öʶ±ð
·½·¨¶¨Òå
ocrResult paddleOCR(int arg0, double[] arg1)
·µ»ØÖµ
ocrResult
²ÎÊý
- int arg0
£ºÊ¶±ð³ß´ç£¨ÍƼöÖµ£º640¡¢320£©
- double[] arg1
£ºÊ¶±ðÇøÓòµÄ°Ù·Ö±È×ø±ê£¨¸ñʽΪ [x1, y1, x2, y2]
£¬Ê¾Àý [0,0,1,1]
´ú±íÈ«ÇøÓò£©
°¸Àý
let img = screen.screenShotFull(); // È«ÆÁ½ØÍ¼
let ocrres = img.paddleOCR(640, [0,0,1,1]); // µ÷Óà paddle ÎÄ×Öʶ±ð
ocrres.findIncludeText("À×µç").hidClick(); // ²éÕÒ²¢µã»÷º¬"À×µç"µÄÄ¿±ê
&#128269;&#128290;opencv.OCRͨ¹ýѵÁ·×Ö¿âʶ±ð OCR ÎÄ×Ö
씀ÏêÇé
¹¦ÄÜÃèÊö
ͨ¹ýѵÁ·×Ö¿âʶ±ð OCR ÎÄ×Ö
·½·¨¶¨Òå
ocrResult OCR(Mat arg0, String arg1, double arg2, int arg3, double[] arg4)
·µ»ØÖµ
ocrResult
²ÎÊý
- Mat arg0
£ºÊäÈëµÄͼƬ¶ÔÏó£¨Mat
ÀàÐÍ£©
- String arg1
£º×Ö¿âÎļþ£¨Â·¾¶ / Ãû³Æ£¬°¸ÀýÖд«¿Õ×Ö·û´® ""
£©
- double arg2
£ºÏàËÆ¶ÈãÐÖµ£¨°¸ÀýÖÐΪ 0
£©
- int arg3
£ºÔ¤ÆÚʶ±ðµÄÎÄ×ÖÊýÁ¿£¨°¸ÀýÖÐΪ 0
£©
- double[] arg4
£ºÊ¶±ðÇøÓòµÄ°Ù·Ö±È×ø±ê£¨¸ñʽ [x1,y1,x2,y2]
£¬°¸ÀýÖд«¿ÕÊý×é double[]
£©
°¸Àý
opencv.OCR(Mat, "", 0, 0, double[]); // µ÷ÓÃʾÀý£¨×Ö¿â¡¢ÇøÓòµÈ²ÎÊý°´°¸ÀýĬÈÏÖµ´«È룩
opencv»ùÓÚ CV ÎļþµÄ OCR ʶ±ð£¨Í¨¹ýÖ¸¶¨ CV ÎļþÃû½øÐÐÎÄ×Öʶ±ð£©
씀ÏêÇé
¹¦ÄÜÃèÊö
»ùÓÚ CV ÎļþµÄ OCR ʶ±ð£¨Í¨¹ýÖ¸¶¨ CV ÎļþÃû½øÐÐÎÄ×Öʶ±ð£©
·½·¨¶¨Òå
ocrResult OCREx(String arg0)
£¨opencv
ÀàµÄ·½·¨£¬°¸ÀýÖе÷ÓÃÐÎʽ£ºopencv.OCREx("")
£©
·µ»ØÖµ
ocrResult
²ÎÊý
String arg0
£ºCV ÎļþÃû£¨°¸ÀýÖд«Èë¿Õ×Ö·û´® ""
£©
°¸Àý
opencv.OCREx(""); // µ÷ÓÃʾÀý£¨´«Èë¿Õ CV ÎļþÃû£©


AIWROKϵͳ°²×¿ÕÒ×ÖOCR___·½·¨Ð¡½á×ܻ㼯ºÏ B2BÍøÂçÈí¼þ AIWROKϵͳ°²×¿ÕÒ×ÖOCR___·½·¨Ð¡½á×ܻ㼯ºÏ B2BÍøÂçÈí¼þ

ÍêÕûʾÀý£º
  1. /*
  2. &#127822;½»Á÷QQȺ711841924Ⱥһ£¬Æ»¹ûÄÚ²âȺ£¬528816639

  3. &#127822;&#128296;&#128204;&#128296;OCR·½·¨Ð¡½á
  4. */

  5. // µÚÒ»¸öʾÀý£º»ñÈ¡ÆÁÄ»½ØÍ¼²¢½øÐÐ OCR ÎÄ×Öʶ±ð£¨¼òÌåÖÐÎÄ£©
  6. var img1 = screen.screenShotFull();
  7. var ocr1 = img1.MLKitOcr('zhs');
  8. var text1 = ocr1.getAllString();
  9. printl(text1);
  10. img1.recycle();

  11. /*
  12. ˵Ã÷£º
  13. - ÕâÊÇÒ»¸ö×î»ù±¾µÄ OCR ʾÀý¡£
  14. - ʹÓà MLKitOcr ·½·¨Í¨¹ý¼òÌåÖÐÎÄ´Ê¿âʶ±ð½ØÍ¼ÖеÄÎÄ×Ö¡£
  15. - ×îÖÕÊä³öʶ±ðµ½µÄÈ«Îı¾ÐÅÏ¢¡£
  16. */


  17. // µÚ¶þ¸öʾÀý£ºÖ¸¶¨ÇøÓòÄÚµÄ OCR ÎÄ×Öʶ±ð£¨ÖÐÎÄ£©
  18. var img2 = screen.screenShotFull();
  19. var ocrRegion2 = [0, 0.2, 1, 0.6];
  20. var ocrResult2 = img2.MLKitOcrRect('zh', ocrRegion2);
  21. var recognizedText2 = ocrResult2.getAllString();
  22. printl("OCRʶ±ð½á¹û: " + recognizedText2);
  23. img2.recycle();

  24. /*
  25. ˵Ã÷£º
  26. - ´ËʾÀýÖУ¬OCR ¶¨ÒåÁËÒ»¸öÌØ¶¨µÄÆÁÄ»ÇøÓòÀ´Ê¶±ðÎı¾£¬±ÜÃâÁËÈ«ÆÁʶ±ðµÄ¿ªÏú¡£
  27. - ʹÓà MLKitOcrRect ·½·¨ÓÅ»¯ÁËʶ±ðÇøÓò¡£
  28. */


  29. // µÚÈý¸öʾÀý£ºÊ¹Óà PaddleOCR ʶ±ð²¢²éÕÒÌØ¶¨Îı¾
  30. var img3 = screen.screenShotFull();
  31. var ocrResult3 = img3.paddleOCR(640, [0, 0, 1, 1]);
  32. var target3 = ocrResult3.findIncludeText("À×µç");
  33. if (target3) {
  34.     target3.hidClick();
  35.     printl("³É¹¦µã»÷Ä¿±êÇøÓò: À×µç");
  36. } else {
  37.     printl("Ä¿±êÇøÓòδÕÒµ½: À×µç");
  38. }
  39. img3.recycle();

  40. /*
  41. ˵Ã÷£º
  42. - ʾÀýʹÓà PaddleOCR ¼¼Êõʶ±ðÎı¾¡£
  43. - ʶ±ðÍê³Éºó£¬²éÕÒÌØ¶¨Îı¾£¬²¢¶ÔÕÒµ½Ä¿±ê½øÐеã»÷²Ù×÷¡£
  44. */


  45. // µÚËĸöʾÀý£ºÈ«ÆÁ OCR ²éÕÒÎı¾ÄÚÈݲ¢µã»÷
  46. var img4 = screen.screenShotFull();
  47. var ocrResult4 = img4.paddleOCR(640, [0, 0, 1, 1]);
  48. var target4 = ocrResult4.findIncludeText("À×µç");
  49. if (target4) {
  50.     target4.click();
  51. } else {
  52.     printl("δÕÒµ½Ö¸¶¨Îı¾");
  53. }
  54. img4.recycle();

  55. /*
  56. ˵Ã÷£º
  57. - ¸ÃʾÀýÓëµÚÈý¸öÀàËÆ£¬µ«¸ü¸ßЧµØ´¦ÀíÁ˲éÕÒºÍÄ¿±ê¶¯×÷²Ù×÷¡£
  58. */


  59. // µÚÎå¸öʾÀý£º²éÕÒ°üº¬Ä¿±êÎÄ×ֵĶà¸öÇøÓò
  60. var img5 = screen.screenShotFull();
  61. var ocrResult5 = img5.MLKitOcr('zh');
  62. var targets5 = ocrResult5.findIncludeTexts("À×µç");
  63. if (targets5.length > 0) {
  64.     targets5.forEach(target => {
  65.         target.click();
  66.     });
  67. } else {
  68.     printl("δÕÒµ½Ö¸¶¨Îı¾");
  69. }
  70. img5.recycle();

  71. /*
  72. ˵Ã÷£º
  73. - ²éÕÒ°üº¬Ä¿±êÎÄ×ֵĶà¸öÇøÓò£¬·µ»ØËùÓÐÄ¿±êµÄÁÐ±í¡£
  74. - ±éÀúËùÓÐÄ¿±ê£¬ÖðÒ»¶ÔÆäÖ´Ðеã»÷²Ù×÷¡£
  75. */


  76. // µÚÁù¸öʾÀý£º»ñÈ¡ OCR ʶ±ðµ½µÄËùÓÐÎı¾²¢´òÓ¡
  77. var img6 = screen.screenShotFull();
  78. var ocrResult6 = img6.paddleOCR(640, [0, 0, 1, 1]);
  79. var allText6 = ocrResult6.getAllString();
  80. if (!allText6) {
  81.     printl("δ¼ì²âµ½ÈκÎÎı¾");
  82. } else {
  83.     printl("¼ì²âµ½µÄÎı¾ÄÚÈÝ: " + allText6);
  84. }
  85. img6.recycle();

  86. /*
  87. ˵Ã÷£º
  88. - ʾÀýչʾÈçºÎÌáÈ¡ OCR ʶ±ð½á¹ûÖеÄËùÓÐ×Ö·ûÐÅÏ¢¡£
  89. */


  90. // µÚÆß¸öʾÀý£ºÍ¨¹ý MLKitOcr ÍêÈ«¶Á³öÆÁÄ»ÎÄ×Ö
  91. var img7 = screen.screenShotFull();
  92. var ocrResult7 = img7.MLKitOcr('zh');
  93. printl(ocrResult7.getAllString());
  94. img7.recycle();

  95. /*
  96. ˵Ã÷£º
  97. - ʾÀýʹÓà MLKitOcr ÔÚÈ«ÆÁ·¶Î§ÄÚÌáÈ¡ËùÓÐÎı¾ÐÅÏ¢¡£
  98. */


  99. // µÚ°Ë¸öʾÀý£º»ñÈ¡ JSON ¸ñʽµÄ OCR ʶ±ð½á¹û
  100. var img8 = screen.screenShotFull();
  101. var ocrResult8 = img8.MLKitOcr('zh');
  102. var jsonResult8 = ocrResult8.getJson();
  103. printl(JSON.stringify(jsonResult8, null, 2));
  104. img8.recycle();

  105. /*
  106. ˵Ã÷£º
  107. - ´ËʾÀýչʾÁËÈçºÎ½« OCR ½á¹ûÒÔ JSON ¸ñʽ»ñÈ¡¡£
  108. */


  109. // µÚ¾Å¸öʾÀý£º»ñÈ¡ OCR µÄ JSON ±íʾ
  110. var img9 = screen.screenShotFull();
  111. var ocrResult9 = img9.MLKitOcr('zh');
  112. var ocrJson9 = ocrResult9.getJson();
  113. printl("OCR ½á¹û JSON: " + JSON.stringify(ocrJson9));
  114. img9.recycle();

  115. /*
  116. ˵Ã÷£º
  117. - ½« OCR Êä³ö½á¹ûÒÔ JSON ¸ñʽÏÔʾ£¬±ãÓÚ³ÌÐò½øÒ»²½´¦Àí¡£
  118. */


  119. // µÚÊ®¸öʾÀý£ºOpenCV OCR ʹÓÃ
  120. var mat10 = screen.screenShot(720, 1280, 100).getMat();
  121. var seek10 = opencv.OCR(mat10, 'µã»÷Í·ÌõÊäÈë¿ò.ocr', 0.95, 0);
  122. if (seek10) {
  123.     printl(seek10.findIncludeText('µã»÷'));
  124. } else {
  125.     printl("δÕÒµ½ÁË");
  126. }

  127. /*
  128. ˵Ã÷£º
  129. - ʹÓà OpenCV ¿âÖ´ÐÐ OCR£¬Æ¥ÅäµÄÖÃÐŶÈΪ 0.95¡£
  130. - ¸ù¾ÝÄÚÈݲéÕÒ°üº¬Ìض¨Îı¾µÄÇøÓò¡£
  131. */


  132. // µÚʮһ¸öʾÀý£ºOpenCV OCR À©Õ¹¹¦ÄÜʹÓÃ
  133. var seek11 = opencv.OCREx('¹Ø±Õºǫ́.cv');
  134. if (seek11) {
  135.     printl(seek11.findIncludeText('¹Ø±Õºǫ́.cv'));
  136. } else {
  137.     printl("δÕÒµ½ÁË");
  138. }

  139. /*
  140. ˵Ã÷£º
  141. - ʹÓà opencv.OCREx ¶ÔÖ¸¶¨µÄ cv Îļþ½øÐÐ OCR ʶ±ð¡£
  142. - À©Õ¹¹¦ÄÜ checkColorsEx ÓÃÓÚ½øÒ»²½´¦ÀíÑÕɫƥÅäºÍÎı¾Ê¶±ð½á¹û¡£
  143. */
¸´ÖÆ´úÂë







»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

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

¹Ø±Õ

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

map2

GMT+8, 2025-8-28 08:44 , Processed in 0.486516 second(s), 36 queries .

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