diff --git a/config.js b/config.js index b5a7cea..fa4221e 100644 --- a/config.js +++ b/config.js @@ -2,7 +2,7 @@ * @Author: TonyJiangWJ * @Date: 2019-12-09 20:42:08 * @Last Modified by: TonyJiangWJ - * @Last Modified time: 2022-09-24 18:17:46 + * @Last Modified time: 2022-09-24 20:23:33 * @Description: */ let currentEngine = engines.myEngine().getSource() + '' @@ -120,6 +120,8 @@ let default_config = { delayStartTime: 5, // 是否使用百度的ocr识别倒计时 useBaiduOcr: false, + // 倒计时使用模拟OCR + countdown_mock_ocr: true, // 本地ocr优先级 local_ocr_priority: 'auto', // 识别像素点阈值 识别到倒计时的绿色像素点 像素点越多数字相对越小,设置大一些可以节省调用次数 毕竟每天只有500次 diff --git a/core/ImgBasedFriendListScanner.js b/core/ImgBasedFriendListScanner.js index b297a1d..fcb3bef 100644 --- a/core/ImgBasedFriendListScanner.js +++ b/core/ImgBasedFriendListScanner.js @@ -2,7 +2,7 @@ * @Author: TonyJiangWJ * @Date: 2019-11-11 09:17:29 * @Last Modified by: TonyJiangWJ - * @Last Modified time: 2022-09-24 17:41:38 + * @Last Modified time: 2022-09-24 20:31:54 * @Description: 基于图像识别控件信息 */ importClass(com.tony.ColorCenterCalculatorWithInterval) @@ -19,9 +19,10 @@ let BaiduOcrUtil = require('../lib/BaiduOcrUtil.js') let localOcrUtil = require('../lib/LocalOcrUtil.js') let aesUtil = require('../lib/AesUtil.js') let OcrUtil = null -if (localOcrUtil.enabled) { +if (!_config.countdown_mock_ocr && localOcrUtil.enabled) { OcrUtil = wrapLocalOcrUtil(localOcrUtil) -} else if (_config.useBaiduOcr) { +} +if (_config.useBaiduOcr) { OcrUtil = BaiduOcrUtil } let useMockOcr = false @@ -34,6 +35,7 @@ function wrapLocalOcrUtil(localOcr) { return { getImageNumber: function (base64String) { let img = images.fromBase64(base64String) + img = images.resize(img, [img.getWidth() * 2, img.getHeight() * 2]) let recognizedText = (localOcr.recognize(img) || '').replace(/\n/g, '') let regex = /(\d+)/ let result = regex.exec(recognizedText) diff --git a/vue_configs/js/components/configuration/AdvanceConfigs.js b/vue_configs/js/components/configuration/AdvanceConfigs.js index c5db54e..e74d214 100644 --- a/vue_configs/js/components/configuration/AdvanceConfigs.js +++ b/vue_configs/js/components/configuration/AdvanceConfigs.js @@ -548,6 +548,8 @@ const OcrConfig = { configs: { // ocr相关 useBaiduOcr: true, + // 倒计时使用模拟OCR + countdown_mock_ocr: true, ocrThreshold: null, autoSetThreshold: true, apiKey: '', @@ -570,17 +572,21 @@ const OcrConfig = { 默认使用多点找色方式识别列表中的小手,失效后请打开基于像素点个数判断是否可收取,这是一个阈值当像素点个数小于给定的值之后就判定为可收取 - 当前获取倒计时的机制是 如果已安装mlkitOcr插件则自动使用mlkit,未安装则尝试PaddleOCR(需要修改版AutoJS支持),AutoJS不支持则根据如下规则: - 当不启用百度OCR的时候会使用多点找色方式模拟识别倒计时,如果模拟识别不准确时可以看情况选择百度OCR方式,需要注意默认每天的免费次数是500次 - {{ocr_invoke_count}} + 本地OCR支持,目前主要为神奇海洋和排行榜倒计时使用。如果已安装mlkitOcr插件则自动使用mlkit,未安装则尝试PaddleOCR(需要修改版AutoJS支持) - - + + + 经过测试发现mlkitOcr识别倒计时并不太准确,可以选择Paddle优先或开启多点找色模拟OCR或百度OCR,这样排行榜中倒计时会获取的比较准确。神奇海洋不受此开关影响继续使用本地OCR + 倒计时识别准确性 百度OCR > Paddle > 模拟OCR > MlKit + 倒计时识别速度 模拟OCR > MlKit > Paddle > 百度OCR + + 如果模拟识别不准确时可以看情况选择开启百度OCR方式(开启后模拟OCR自动失效),需要注意默认每天的免费次数是500次 + {{ocr_invoke_count}}