|
AIWROKÈí¼þÆ»¹ûIOSϵͳͼɫÊÓ¾õ[opencv]·½·¨Ð¡½á
- /*
- 🍎½»Á÷ QQ Ⱥ 711841924 Ⱥһ£¬Æ»¹ûÄÚ²âȺ£¬528816639
- 🍎Image ͼÏñ´¦Àí·½·¨Ð¡½á
- */
- //🍎Image Àà ·½·¨Ð¡½á
- // µÚÒ»¸ö·½·¨£º📌ocr - ÇøÓòOCRʶ±ð
- /*
- Àà±ð ÏêÇé˵Ã÷
- ·½·¨¹¦ÄÜ OCRʶ±ðÖ¸¶¨ÇøÓòµÄÎÄ×Ö£¬·µ»ØÊ¶±ð½á¹û
- ·½·¨Ç©Ãû OcrResult image.ocr(Single left, Single top, Single right, Single bottom)
- ·µ»ØÖµ OcrResult£¨OCRʶ±ð½á¹û¶ÔÏó£©
- ²ÎÊý - Single left£ºÊ¶±ðÇøÓò×ó±ß½ç£¨°Ù·Ö±È£¬0-1£©
- - Single top£ºÊ¶±ðÇøÓòÉϱ߽磨°Ù·Ö±È£¬0-1£©
- - Single right£ºÊ¶±ðÇøÓòÓұ߽磨°Ù·Ö±È£¬0-1£©
- - Single bottom£ºÊ¶±ðÇøÓòϱ߽磨°Ù·Ö±È£¬0-1£©
- */
- // ʾÀý£ºÈ«ÆÁOCRʶ±ð
- var image = screen.screenShotFull();
- printl(image.ocr(0, 0, 1, 1));
- image.close(); // ¼ÇµÃÊÍ·ÅͼƬ
- // µÚ¶þ¸ö·½·¨£º📌base64 - »ñȡͼÏñBase64±àÂë
- /*
- Àà±ð ÏêÇé˵Ã÷
- ·½·¨¹¦ÄÜ »ñȡͼÏñµÄBase64±àÂë×Ö·û´®
- ·½·¨Ç©Ãû String image.base64()
- ·µ»ØÖµ String£¨Í¼ÏñµÄBase64±àÂë×Ö·û´®£©
- ²ÎÊý ÎÞ
- */
- // ʾÀý£º»ñȡȫÆÁ½ØÍ¼µÄBase64±àÂë
- var image = screen.screenShotFull();
- printl(image.base64());
- // µÚÈý¸ö·½·¨£º📌getMat - »ñÈ¡Mat¶ÔÏó
- /*
- Àà±ð ÏêÇé˵Ã÷
- ·½·¨¹¦ÄÜ »ñȡͼÏñ¶ÔÓ¦µÄMat¶ÔÏó£¨ÓÃÓÚOpenCVµÈºóÐø´¦Àí£©
- ·½·¨Ç©Ãû Mat image.getMat()
- ·µ»ØÖµ Mat£¨Í¼Ïñ¶ÔÓ¦µÄMat¶ÔÏó£©
- ²ÎÊý ÎÞ
- */
- // ʾÀý£º»ñȡͼÏñµÄMat¶ÔÏó
- var mat = new Image().getMat();
- print.log("»ñÈ¡µ½µÄMat¶ÔÏó£º", mat);
- // µÚËĸö·½·¨£º📌readMat - Mat ת Image
- /*
- Àà±ð ÏêÇé˵Ã÷
- ·½·¨¹¦ÄÜ ½«Mat¶ÔÏóת»»ÎªImage¶ÔÏó£¨ÐÞ¸ÄImageʵÀýÒÔ³ÐÔØMatÄÚÈÝ£©
- ·½·¨Ç©Ãû Void image.readMat(Mat mat)
- ·µ»ØÖµ Void£¨ÎÞ·µ»ØÖµ£¬Ö±½ÓÐÞ¸ÄImageʵÀý£©
- ²ÎÊý - Mat mat£º´ýת»»µÄMat¶ÔÏó
- */
- // ʾÀý£º½«Matת»»ÎªImage
- var img = new Image();
- img.readMat(mat); // ¼ÙÉèmatÊÇÒÑÓеÄMat¶ÔÏó
- print.log("MatÒÑת»»ÎªImage£º", img);
- // µÚÎå¸ö·½·¨£º📌readBase64 - Base64 ת Image
- /*
- Àà±ð ÏêÇé˵Ã÷
- ·½·¨¹¦ÄÜ ½«Base64±àÂë×Ö·û´®×ª»»ÎªImage¶ÔÏó
- ·½·¨Ç©Ãû Void image.readBase64(String bs)
- ·µ»ØÖµ Void£¨ÎÞ·µ»ØÖµ£¬Ö±½ÓÐÞ¸ÄImageʵÀý£©
- ²ÎÊý - String bs£ºBase64±àÂë×Ö·û´®
- */
- // ʾÀý£ºBase64×Ö·û´®×ªImage
- var img = new Image();
- img.readBase64('base64str'); // 'base64str'Ϊʵ¼ÊBase64±àÂë´®
- print.log("Base64ÒÑת»»ÎªImage£º", img);
- // µÚÁù¸ö·½·¨£º📌readFile - ¶ÁȡͼƬÎļþΪImage
- /*
- Àà±ð ÏêÇé˵Ã÷
- ·½·¨¹¦ÄÜ ´ÓÎļþ¶ÁȡͼƬ²¢×ª»»ÎªImage¶ÔÏó
- ·½·¨Ç©Ãû Void image.readFile(String bs)
- ·µ»ØÖµ Void£¨ÎÞ·µ»ØÖµ£¬Ö±½ÓÐÞ¸ÄImageʵÀý£©
- ²ÎÊý - String bs£ºÍ¼Æ¬Îļþ·¾¶£¨¿É½áºÏ×ÊԴ·¾¶µÈʹÓã©
- */
- // ʾÀý£º´Ó×ÊÔ´Îļþ¼Ð¶ÁȡͼƬΪImage
- var img = new Image();
- img.readFile(project.getResourcesPath() + "1.png");
- print.log("´ÓÎļþ¶ÁÈ¡µÄImage£º", img);
- // µÚÆß¸ö·½·¨£º📌close - ÊÍ·ÅͼÏñ×ÊÔ´
- /*
- Àà±ð ÏêÇé˵Ã÷
- ·½·¨¹¦ÄÜ ÊÍ·ÅImage¶ÔÏóÕ¼ÓõÄ×ÊÔ´£¬±ÜÃâÄÚ´æÐ¹Â©
- ·½·¨Ç©Ãû Void image.close()
- ·µ»ØÖµ Void£¨ÎÞ·µ»ØÖµ£©
- ²ÎÊý ÎÞ
- */
- // ʾÀý£ºÊÍ·ÅImage×ÊÔ´
- new Image().close();
- print.log("ͼÏñ×ÊÔ´ÒÑÊÍ·Å");
¸´ÖÆ´úÂë
·½·¨ 1£ºOCR ʶ±ð£¨Ö¸¶¨ÇøÓò£©Àà±ð | ÄÚÈÝ | Ö÷Ìâ | OCR ʶ±ð¡¢Ö¸¶¨ÇøÓò OCR | ·½·¨ | OcrResult ocr(Single left, Single top, Single right, Single bottom) | ·µ»ØÖµ | OcrResult | ²ÎÊý | Single left £º×ó±ß½ç£¨°Ù·Ö±È£¬0 - 1£©
Single top £ºÉϱ߽磨°Ù·Ö±È£¬0 - 1£©
Single right £ºÓұ߽磨°Ù·Ö±È£¬0 - 1£©
Single bottom £ºÏ±߽磨°Ù·Ö±È£¬0 - 1£© | °¸Àý | var image = screen.screenShotFull();
printl(image.ocr(0, 0, 1, 1));
image.close();
| ·½·¨ 2£º»ñȡͼÏñ Base64 ±àÂëÀà±ð | ÄÚÈÝ | Ö÷Ìâ | »ñȡͼÏñ Base64 ±àÂë | ·½·¨ | String base64() | ·µ»ØÖµ | String | ²ÎÊý | ÎÞ | °¸Àý | var image = screen.screenShotFull();
printl(image.base64());
| ·½·¨ 3£º»ñÈ¡ Mat ¶ÔÏóÀà±ð | ÄÚÈÝ | Ö÷Ìâ | »ñÈ¡ Mat ¶ÔÏó¡¢Image ת Mat | ·½·¨ | Mat getMat() | ·µ»ØÖµ | Mat | ²ÎÊý | ÎÞ | °¸Àý | new Image().getMat() | ·½·¨ 4£ºMat ת ImageÀà±ð | ÄÚÈÝ | Ö÷Ìâ | Mat ת Image¡¢×ª»» Mat Ϊ Image | ·½·¨ | Void readMat(Mat mat) | ·µ»ØÖµ | Void | ²ÎÊý | Mat mat £º´ýת»»µÄ Mat ¶ÔÏó | °¸Àý | var img = new Image();
img.readMat(mat);
| ·½·¨ 5£ºBase64 ת ImageÀà±ð | ÄÚÈÝ | Ö÷Ìâ | Base64 ת Image¡¢×ª»» Base64 Ϊ Image | ·½·¨ | Void readBase64(String bs) | ·µ»ØÖµ | Void | ²ÎÊý | String bs £ºBase64 ±àÂë×Ö·û´® | °¸Àý | var img = new Image();
img.readBase64('base64str');
| ·½·¨ 6£º¶ÁȡͼƬÎļþΪ ImageÀà±ð | ÄÚÈÝ | Ö÷Ìâ | ¶ÁȡͼƬÎļþΪ Image¡¢Îļþת Image | ·½·¨ | Void readFile(String bs) | ·µ»ØÖµ | Void | ²ÎÊý | String bs £ºÍ¼Æ¬Îļþ·¾¶ | °¸Àý | var img = new Image();
img.readFile(project.getResourcesPath() + "1.png");
| ·½·¨ 7£ºÊÍ·ÅͼÏñ×ÊÔ´Àà±ð | ÄÚÈÝ | Ö÷Ìâ | ÊÍ·ÅͼÏñ¡¢Í¼Ïñ×ÊÔ´ÊÍ·Å | ·½·¨ | Void close() | ·µ»ØÖµ | Void | ²ÎÊý | ÎÞ | °¸Àý | new Image().close() |
ʵսʾÀý×Ó£º
- // ... existing code ...
- /*
- 🍎½»Á÷ QQ Ⱥ 711841924 Ⱥһ£¬Æ»¹ûÄÚ²âȺ£¬528816639
- 🍎Image ͼÏñ´¦Àí·½·¨Ð¡½á
- */
- //🍎Image Àà ·½·¨Ð¡½á
- // ʵÓÃ×ÛºÏʾÀý£º×Ô¶¯»¯ÑéÖ¤Âëʶ±ðÓë´¦Àíϵͳ
- // ¸ÃʾÀýչʾÁËÒ»¸öÍêÕûµÄͼÏñ´¦ÀíÁ÷³Ì£¬°üÀ¨½ØÍ¼¡¢OCRʶ±ð¡¢Í¼Ïñ´¦ÀíºÍ½á¹ûÉÏ´«
- /**
- * ÑéÖ¤Âë´¦Àíϵͳ - ×ÛºÏʾÀý
- * ¹¦ÄÜ£º×Ô¶¯½ØÈ¡ÑéÖ¤ÂëÇøÓò¡¢OCRʶ±ð¡¢Í¼ÏñÓÅ»¯¡¢½á¹ûÉÏ´«
- */
- function captchaProcessingSystem() {
- printl("=== ÑéÖ¤Âë´¦ÀíϵͳÆô¶¯ ===");
-
- try {
- // 1. ½ØÈ¡ÆÁĻָ¶¨ÇøÓò£¨ÑéÖ¤Âëͨ³£Ôڹ̶¨Î»Öã©
- printl("1. ½ØÈ¡ÑéÖ¤ÂëÇøÓò...");
- var screenWidth = screen.getScreenWidth();
- var screenHeight = screen.getScreenHeight();
-
- // ¼ÙÉèÑéÖ¤ÂëÔÚÆÁÄ»ÓÒÉϽÇÇøÓò (30%-50% width, 10%-20% height)
- var captchaImage = screen.screenShot(
- Math.floor(screenWidth * 0.2),
- Math.floor(screenHeight * 0.1),
- 80
- );
- printl(" ÑéÖ¤Âë½ØÍ¼Íê³É");
-
- // 2. OCRʶ±ðÑéÖ¤Âë
- printl("2. OCRʶ±ðÑéÖ¤Âë...");
- var ocrResult = captchaImage.ocr(0, 0, 1, 1);
- var captchaText = ocrResult.getAllString();
- printl(" ʶ±ð½á¹û: " + captchaText);
-
- // 3. »ñȡͼÏñBase64±àÂëÓÃÓÚÈÕÖ¾¼Ç¼»òÍøÂç´«Êä
- printl("3. »ñȡͼÏñBase64±àÂë...");
- var base64Str = captchaImage.base64();
- printl(" Base64±àÂ볤¶È: " + base64Str.length);
-
- // 4. »ñÈ¡Mat¶ÔÏó½øÐÐͼÏñ´¦Àí
- printl("4. »ñÈ¡Mat¶ÔÏó½øÐÐͼÏñÓÅ»¯...");
- var mat = captchaImage.getMat();
- printl(" »ñÈ¡Mat¶ÔÏó³É¹¦");
-
- // 5. ͼÏñ¶þÖµ»¯´¦ÀíÒÔÌá¸ßʶ±ð׼ȷÂÊ
- printl("5. ͼÏñ¶þÖµ»¯´¦Àí...");
- opencv.threshold(mat, 100, 255); // ¶þÖµ»¯´¦Àí
- printl(" ͼÏñ¶þÖµ»¯Íê³É");
-
- // 6. ½«´¦ÀíºóµÄMatת»»»ØImage¶ÔÏó
- printl("6. ת»»´¦ÀíºóµÄMatΪImage...");
- var processedImage = new Image();
- processedImage.readMat(mat);
- printl(" MatתImageÍê³É");
-
- // 7. ÔÙ´ÎOCRʶ±ð´¦ÀíºóµÄͼÏñ
- printl("7. ¶Ô´¦ÀíºóµÄͼÏñÔÙ´ÎOCRʶ±ð...");
- var processedOcrResult = processedImage.ocr(0, 0, 1, 1);
- var processedCaptchaText = processedOcrResult.getAllString();
- printl(" ´¦Àíºóʶ±ð½á¹û: " + processedCaptchaText);
-
- // 8. ½«´¦ÀíºóµÄͼÏñת»»ÎªBase64
- printl("8. »ñÈ¡´¦ÀíºóͼÏñµÄBase64...");
- var processedBase64 = processedImage.base64();
- printl(" ´¦ÀíºóBase64±àÂ볤¶È: " + processedBase64.length);
-
- // 9. ¹¹ÔìÓÃÓÚÉÏ´«µÄÊý¾Ý
- printl("9. ¹¹ÔìÉÏ´«Êý¾Ý...");
- var uploadData = {
- originalCaptcha: captchaText,
- processedCaptcha: processedCaptchaText,
- originalImage: base64Str.substring(0, 50) + "...", // ½ØÈ¡²¿·Öչʾ
- processedImage: processedBase64.substring(0, 50) + "...", // ½ØÈ¡²¿·Öչʾ
- timestamp: new Date().toISOString()
- };
- printl(" Êý¾Ý¹¹ÔìÍê³É: " + JSON.stringify(uploadData));
-
- // 10. Ä£ÄâÉÏ´«µ½·þÎñÆ÷
- printl("10. Ä£ÄâÉÏ´«µ½·þÎñÆ÷...");
- // ÔÚʵ¼ÊÓ¦ÓÃÖУ¬ÕâÀï»áʹÓÃÍøÂçÇëÇóÉÏ´«Êý¾Ý
- // new OkHttp().post("https://api.example.com/captcha", uploadData);
- printl(" Êý¾ÝÉÏ´«Íê³É");
-
- // 11. ±£´æ´¦ÀíºóµÄͼÏñµ½Îļþ£¨ÓÃÓÚµ÷ÊÔºÍÑéÖ¤£©
- printl("11. ±£´æ´¦ÀíºóµÄͼÏñµ½Îļþ...");
- var resourcePath = project.getResourcesPath();
- var savePath = resourcePath + "/captcha_processed_" + Date.now() + ".png";
- // ÔÚʵ¼ÊÓ¦ÓÃÖУ¬ÕâÀï»á±£´æÍ¼Ïñµ½Îļþ
- // processedImage.save(savePath);
- printl(" ͼÏñ±£´æÂ·¾¶: " + savePath);
-
- // 12. ÊÍ·ÅËùÓÐͼÏñ×ÊÔ´
- printl("12. ÊÍ·ÅͼÏñ×ÊÔ´...");
- captchaImage.close();
- mat.close();
- processedImage.close();
- printl(" ËùÓÐͼÏñ×ÊÔ´ÒÑÊÍ·Å");
-
- printl("=== ÑéÖ¤Âë´¦ÀíϵͳִÐÐÍê³É ===");
- return {
- success: true,
- originalText: captchaText,
- processedText: processedCaptchaText
- };
-
- } catch (error) {
- printl("ÑéÖ¤Âë´¦Àíϵͳ³ö´í: " + error.message);
- return {
- success: false,
- error: error.message
- };
- }
- }
- /**
- * ͼÏñ´¦Àí¹¤¾ßº¯Êý - ͼÏñ¸ñʽת»»Æ÷
- * ¹¦ÄÜ£º½«Í¼ÏñÔÚ²»Í¬¸ñʽ¼äת»»£¬Ö§³ÖBase64¡¢Îļþ¡¢MatµÈ¸ñʽ
- */
- function imageFormatConverter() {
- printl("=== ͼÏñ¸ñʽת»»Æ÷ ===");
-
- try {
- // 1. ´ÓÎļþ¶ÁȡͼÏñ
- printl("1. ´Ó×ÊÔ´Îļþ¼Ð¶ÁȡͼÏñ...");
- var imageFromFile = new Image();
- var resourcePath = project.getResourcesPath();
- var testImagePath = resourcePath + "/test_image.png";
- // ×¢Ò⣺ʵ¼ÊʹÓÃʱÐèҪȷ±£Îļþ´æÔÚ
- // imageFromFile.readFile(testImagePath);
- printl(" ´ÓÎļþ¶ÁȡͼÏñÍê³É: " + testImagePath);
-
- // 2. ת»»ÎªBase64
- printl("2. ת»»ÎªBase64...");
- // var base64FromFile = imageFromFile.base64();
- var base64FromFile = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8/5+hHgAHggJ/PchI7wAAAABJRU5ErkJggg=="; // Ä£ÄâBase64
- printl(" Base64ת»»Íê³É£¬³¤¶È: " + base64FromFile.length);
-
- // 3. ´ÓBase64´´½¨ÐÂͼÏñ
- printl("3. ´ÓBase64´´½¨ÐÂͼÏñ...");
- var imageFromBase64 = new Image();
- imageFromBase64.readBase64(base64FromFile);
- printl(" Base64תͼÏñÍê³É");
-
- // 4. »ñÈ¡Mat¶ÔÏó
- printl("4. »ñÈ¡Mat¶ÔÏó...");
- var matFromBase64 = imageFromBase64.getMat();
- printl(" »ñÈ¡Mat¶ÔÏóÍê³É");
-
- // 5. ´ÓMat´´½¨ÐÂͼÏñ
- printl("5. ´ÓMat´´½¨ÐÂͼÏñ...");
- var imageFromMat = new Image();
- imageFromMat.readMat(matFromBase64);
- printl(" MatתͼÏñÍê³É");
-
- // 6. ÔÙ´Îת»»ÎªBase64½øÐÐÑéÖ¤
- printl("6. Ñé֤ת»»Ò»ÖÂÐÔ...");
- var base64FromMat = imageFromMat.base64();
- var isConsistent = base64FromFile === base64FromMat;
- printl(" ת»»Ò»ÖÂÐÔ¼ì²é: " + (isConsistent ? "ͨ¹ý" : "ʧ°Ü"));
-
- // 7. ÊÍ·Å×ÊÔ´
- printl("7. ÊÍ·Å×ÊÔ´...");
- // imageFromFile.close();
- matFromBase64.close();
- // imageFromBase64.close();
- imageFromMat.close();
- printl(" ×ÊÔ´ÊÍ·ÅÍê³É");
-
- printl("=== ͼÏñ¸ñʽת»»Æ÷Ö´ÐÐÍê³É ===");
- return {
- success: true,
- consistency: isConsistent
- };
-
- } catch (error) {
- printl("ͼÏñ¸ñʽת»»Æ÷³ö´í: " + error.message);
- return {
- success: false,
- error: error.message
- };
- }
- }
- /**
- * ¸ß¼¶OCRʶ±ðϵͳ - ¶àÇøÓòʶ±ðÓë´¦Àí
- * ¹¦ÄÜ£ºÍ¬Ê±Ê¶±ðͼÏñÖжà¸öÇøÓòµÄÎÄ×Ö£¬²¢½øÐзÖÀà´¦Àí
- */
- function advancedOcrSystem() {
- printl("=== ¸ß¼¶OCRʶ±ðϵͳ ===");
-
- try {
- // 1. È«ÆÁ½ØÍ¼
- printl("1. È«ÆÁ½ØÍ¼...");
- var fullScreenImage = screen.screenShotFull();
- printl(" È«ÆÁ½ØÍ¼Íê³É");
-
- // 2. ¶¨Òå¶à¸öʶ±ðÇøÓò
- var ocrZones = [
- { name: "±êÌâÇøÓò", left: 0, top: 0, right: 1, bottom: 0.1 },
- { name: "Ö÷ÒªÄÚÈÝ", left: 0, top: 0.1, right: 1, bottom: 0.8 },
- { name: "״̬À¸", left: 0, top: 0.9, right: 1, bottom: 1 },
- { name: "°´Å¥ÇøÓò", left: 0.7, top: 0.8, right: 1, bottom: 0.9 }
- ];
-
- // 3. ¶Ôÿ¸öÇøÓò½øÐÐOCRʶ±ð
- printl("2. ¶àÇøÓòOCRʶ±ð...");
- var ocrResults = [];
- for (var i = 0; i < ocrZones.length; i++) {
- var zone = ocrZones[i];
- printl(" ʶ±ðÇøÓò: " + zone.name);
-
- var result = fullScreenImage.ocr(zone.left, zone.top, zone.right, zone.bottom);
- var text = result.getAllString();
- var detects = result.getAllDetect();
-
- ocrResults.push({
- zone: zone.name,
- text: text,
- detectCount: detects.length,
- details: detects
- });
-
- printl(" ʶ±ðÎÄ×Ö: " + text.substring(0, 50) + "...");
- printl(" ʶ±ðÄ¿±êÊý: " + detects.length);
- }
-
- // 4. »ñȡͼÏñBase64ÓÃÓÚ´æµµ
- printl("3. »ñȡͼÏñBase64...");
- var imageBase64 = fullScreenImage.base64();
- printl(" Base64±àÂ볤¶È: " + imageBase64.length);
-
- // 5. »ñÈ¡Mat¶ÔÏóÓÃÓÚͼÏñ·ÖÎö
- printl("4. »ñÈ¡Mat¶ÔÏó½øÐзÖÎö...");
- var imageMat = fullScreenImage.getMat();
- printl(" »ñÈ¡Mat¶ÔÏóÍê³É");
-
- // 6. ͼÏñ»Ò¶È»¯´¦Àí
- printl("5. ͼÏñ»Ò¶È»¯´¦Àí...");
- opencv.toGray(imageMat);
- printl(" »Ò¶È»¯´¦ÀíÍê³É");
-
- // 7. ½«´¦ÀíºóµÄMatת»»ÎªImage
- printl("6. ת»»´¦ÀíºóµÄMatΪImage...");
- var grayImage = new Image();
- grayImage.readMat(imageMat);
- printl(" MatתImageÍê³É");
-
- // 8. ¶Ô»Ò¶ÈͼÏñÔٴνøÐÐOCRʶ±ð
- printl("7. ¶Ô»Ò¶ÈͼÏñ½øÐÐOCRʶ±ð...");
- var grayOcrResult = grayImage.ocr(0, 0, 1, 1);
- var grayText = grayOcrResult.getAllString();
- printl(" »Ò¶ÈͼÏñʶ±ðÎÄ×Ö³¤¶È: " + grayText.length);
-
- // 9. ¹¹Ôì½á¹û±¨¸æ
- printl("8. ¹¹Ôì½á¹û±¨¸æ...");
- var report = {
- timestamp: new Date().toISOString(),
- zones: ocrResults,
- originalTextLength: ocrResults.reduce((sum, r) => sum + r.text.length, 0),
- grayTextLength: grayText.length,
- imageBase64Length: imageBase64.length
- };
- printl(" ±¨¸æ¹¹ÔìÍê³É");
-
- // 10. ÊÍ·ÅËùÓÐ×ÊÔ´
- printl("9. ÊÍ·ÅËùÓÐ×ÊÔ´...");
- fullScreenImage.close();
- imageMat.close();
- grayImage.close();
- printl(" ×ÊÔ´ÊÍ·ÅÍê³É");
-
- printl("=== ¸ß¼¶OCRʶ±ðϵͳִÐÐÍê³É ===");
- return {
- success: true,
- report: report
- };
-
- } catch (error) {
- printl("¸ß¼¶OCRʶ±ðϵͳ³ö´í: " + error.message);
- return {
- success: false,
- error: error.message
- };
- }
- }
- // Ö´ÐÐʾÀý
- printl("🍎🍎🍎 ImageÀà·½·¨×ÛºÏʾÀý 🍎🍎🍎");
- // Ö´ÐÐÑéÖ¤Âë´¦Àíϵͳ
- var captchaResult = captchaProcessingSystem();
- printl("ÑéÖ¤Âë´¦Àí½á¹û: " + JSON.stringify(captchaResult));
- // Ö´ÐÐͼÏñ¸ñʽת»»Æ÷
- var converterResult = imageFormatConverter();
- printl("¸ñʽת»»½á¹û: " + JSON.stringify(converterResult));
- // Ö´Ðи߼¶OCRʶ±ðϵͳ
- var ocrResult = advancedOcrSystem();
- printl("¸ß¼¶OCRʶ±ð½á¹û: " + JSON.stringify(ocrResult));
- printl("🍎🍎🍎 ËùÓÐʾÀýÖ´ÐÐÍê±Ï 🍎🍎🍎");
- // µÚÒ»¸ö·½·¨£º📌ocr - ÇøÓòOCRʶ±ð
- /*
- Àà±ð ÏêÇé˵Ã÷
- ·½·¨¹¦ÄÜ OCRʶ±ðÖ¸¶¨ÇøÓòµÄÎÄ×Ö£¬·µ»ØÊ¶±ð½á¹û
- ·½·¨Ç©Ãû OcrResult image.ocr(Single left, Single top, Single right, Single bottom)
- ·µ»ØÖµ OcrResult£¨OCRʶ±ð½á¹û¶ÔÏó£©
- ²ÎÊý - Single left£ºÊ¶±ðÇøÓò×ó±ß½ç£¨°Ù·Ö±È£¬0-1£©
- - Single top£ºÊ¶±ðÇøÓòÉϱ߽磨°Ù·Ö±È£¬0-1£©
- - Single right£ºÊ¶±ðÇøÓòÓұ߽磨°Ù·Ö±È£¬0-1£©
- - Single bottom£ºÊ¶±ðÇøÓòϱ߽磨°Ù·Ö±È£¬0-1£©
- */
- // ʾÀý£ºÈ«ÆÁOCRʶ±ð
- var image = screen.screenShotFull();
- printl(image.ocr(0, 0, 1, 1));
- image.close(); // ¼ÇµÃÊÍ·ÅͼƬ
- // µÚ¶þ¸ö·½·¨£º📌base64 - »ñȡͼÏñBase64±àÂë
- /*
- Àà±ð ÏêÇé˵Ã÷
- ·½·¨¹¦ÄÜ »ñȡͼÏñµÄBase64±àÂë×Ö·û´®
- ·½·¨Ç©Ãû String image.base64()
- ·µ»ØÖµ String£¨Í¼ÏñµÄBase64±àÂë×Ö·û´®£©
- ²ÎÊý ÎÞ
- */
- // ʾÀý£º»ñȡȫÆÁ½ØÍ¼µÄBase64±àÂë
- var image = screen.screenShotFull();
- printl(image.base64());
- image.close(); // ¼ÇµÃÊÍ·ÅͼƬ
- // µÚÈý¸ö·½·¨£º📌getMat - »ñÈ¡Mat¶ÔÏó
- /*
- Àà±ð ÏêÇé˵Ã÷
- ·½·¨¹¦ÄÜ »ñȡͼÏñ¶ÔÓ¦µÄMat¶ÔÏó£¨ÓÃÓÚOpenCVµÈºóÐø´¦Àí£©
- ·½·¨Ç©Ãû Mat image.getMat()
- ·µ»ØÖµ Mat£¨Í¼Ïñ¶ÔÓ¦µÄMat¶ÔÏó£©
- ²ÎÊý ÎÞ
- */
- // ʾÀý£º»ñȡͼÏñµÄMat¶ÔÏó
- var image = screen.screenShotFull();
- var mat = image.getMat();
- print.log("»ñÈ¡µ½µÄMat¶ÔÏó£º", mat);
- image.close(); // ¼ÇµÃÊÍ·ÅͼƬ
- // µÚËĸö·½·¨£º📌readMat - Mat ת Image
- /*
- Àà±ð ÏêÇé˵Ã÷
- ·½·¨¹¦ÄÜ ½«Mat¶ÔÏóת»»ÎªImage¶ÔÏó£¨ÐÞ¸ÄImageʵÀýÒÔ³ÐÔØMatÄÚÈÝ£©
- ·½·¨Ç©Ãû Void image.readMat(Mat mat)
- ·µ»ØÖµ Void£¨ÎÞ·µ»ØÖµ£¬Ö±½ÓÐÞ¸ÄImageʵÀý£©
- ²ÎÊý - Mat mat£º´ýת»»µÄMat¶ÔÏó
- */
- // ʾÀý£º½«Matת»»ÎªImage
- var img = new Image();
- img.readMat(mat); // ¼ÙÉèmatÊÇÒÑÓеÄMat¶ÔÏó
- print.log("MatÒÑת»»ÎªImage£º", img);
- img.close(); // ¼ÇµÃÊÍ·ÅͼƬ
- // µÚÎå¸ö·½·¨£º📌readBase64 - Base64 ת Image
- /*
- Àà±ð ÏêÇé˵Ã÷
- ·½·¨¹¦ÄÜ ½«Base64±àÂë×Ö·û´®×ª»»ÎªImage¶ÔÏó
- ·½·¨Ç©Ãû Void image.readBase64(String bs)
- ·µ»ØÖµ Void£¨ÎÞ·µ»ØÖµ£¬Ö±½ÓÐÞ¸ÄImageʵÀý£©
- ²ÎÊý - String bs£ºBase64±àÂë×Ö·û´®
- */
- // ʾÀý£ºBase64×Ö·û´®×ªImage
- var img = new Image();
- img.readBase64('base64str'); // 'base64str'Ϊʵ¼ÊBase64±àÂë´®
- print.log("Base64ÒÑת»»ÎªImage£º", img);
- img.close(); // ¼ÇµÃÊÍ·ÅͼƬ
- // µÚÁù¸ö·½·¨£º📌readFile - ¶ÁȡͼƬÎļþΪImage
- /*
- Àà±ð ÏêÇé˵Ã÷
- ·½·¨¹¦ÄÜ ´ÓÎļþ¶ÁȡͼƬ²¢×ª»»ÎªImage¶ÔÏó
- ·½·¨Ç©Ãû Void image.readFile(String bs)
- ·µ»ØÖµ Void£¨ÎÞ·µ»ØÖµ£¬Ö±½ÓÐÞ¸ÄImageʵÀý£©
- ²ÎÊý - String bs£ºÍ¼Æ¬Îļþ·¾¶£¨¿É½áºÏ×ÊԴ·¾¶µÈʹÓã©
- */
- // ʾÀý£º´Ó×ÊÔ´Îļþ¼Ð¶ÁȡͼƬΪImage
- var img = new Image();
- img.readFile(project.getResourcesPath() + "/1.png");
- print.log("´ÓÎļþ¶ÁÈ¡µÄImage£º", img);
- img.close(); // ¼ÇµÃÊÍ·ÅͼƬ
- // µÚÆß¸ö·½·¨£º📌close - ÊÍ·ÅͼÏñ×ÊÔ´
- /*
- Àà±ð ÏêÇé˵Ã÷
- ·½·¨¹¦ÄÜ ÊÍ·ÅImage¶ÔÏóÕ¼ÓõÄ×ÊÔ´£¬±ÜÃâÄÚ´æÐ¹Â©
- ·½·¨Ç©Ãû Void image.close()
- ·µ»ØÖµ Void£¨ÎÞ·µ»ØÖµ£©
- ²ÎÊý ÎÞ
- */
- // ʾÀý£ºÊÍ·ÅImage×ÊÔ´
- var image = screen.screenShotFull();
- image.close();
- print.log("ͼÏñ×ÊÔ´ÒÑÊÍ·Å");
- // ... existing code ...
¸´ÖÆ´úÂë
|
|