Skip to content

Commit

Permalink
增加开关,排行榜倒计时可以直接指定为多点找色模拟OCR或百度OCR
Browse files Browse the repository at this point in the history
  • Loading branch information
TonyJiangWJ committed Sep 24, 2022
1 parent 3cd8e03 commit 8ead3cb
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 13 deletions.
4 changes: 3 additions & 1 deletion config.js
Original file line number Diff line number Diff line change
Expand Up @@ -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() + ''
Expand Down Expand Up @@ -120,6 +120,8 @@ let default_config = {
delayStartTime: 5,
// 是否使用百度的ocr识别倒计时
useBaiduOcr: false,
// 倒计时使用模拟OCR
countdown_mock_ocr: true,
// 本地ocr优先级
local_ocr_priority: 'auto',
// 识别像素点阈值 识别到倒计时的绿色像素点 像素点越多数字相对越小,设置大一些可以节省调用次数 毕竟每天只有500次
Expand Down
8 changes: 5 additions & 3 deletions core/ImgBasedFriendListScanner.js
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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
Expand All @@ -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)
Expand Down
24 changes: 15 additions & 9 deletions vue_configs/js/components/configuration/AdvanceConfigs.js
Original file line number Diff line number Diff line change
Expand Up @@ -548,6 +548,8 @@ const OcrConfig = {
configs: {
// ocr相关
useBaiduOcr: true,
// 倒计时使用模拟OCR
countdown_mock_ocr: true,
ocrThreshold: null,
autoSetThreshold: true,
apiKey: '',
Expand All @@ -570,17 +572,21 @@ const OcrConfig = {
<tip-block>默认使用多点找色方式识别列表中的小手,失效后请打开基于像素点个数判断是否可收取,这是一个阈值当像素点个数小于给定的值之后就判定为可收取</tip-block>
<switch-cell title="基于像素点个数判断是否可收取" title-style="flex:2;" v-model="configs.check_finger_by_pixels_amount" />
<number-field v-if="configs.check_finger_by_pixels_amount" v-model="configs.finger_img_pixels" label="小手像素点个数" placeholder="小手像素点个数" label-width="8em" />
<tip-block>当前获取倒计时的机制是 如果已安装mlkitOcr插件则自动使用mlkit,未安装则尝试PaddleOCR(需要修改版AutoJS支持),AutoJS不支持则根据如下规则:</tip-block>
<tip-block>当不启用百度OCR的时候会使用多点找色方式模拟识别倒计时,如果模拟识别不准确时可以看情况选择百度OCR方式,需要注意默认每天的免费次数是500次</tip-block>
<tip-block v-if="configs.useBaiduOcr">{{ocr_invoke_count}}</tip-block>
<tip-block>本地OCR支持,目前主要为神奇海洋和排行榜倒计时使用。如果已安装mlkitOcr插件则自动使用mlkit,未安装则尝试PaddleOCR(需要修改版AutoJS支持)</tip-block>
<van-cell title="本地OCR优先级">
<template #right-icon>
<van-dropdown-menu active-color="#1989fa" class="cell-dropdown">
<van-dropdown-item v-model="configs.local_ocr_priority" :options="ocrPriorityOptions" />
</van-dropdown-menu>
</template>
</van-cell>
<template #right-icon>
<van-dropdown-menu active-color="#1989fa" class="cell-dropdown">
<van-dropdown-item v-model="configs.local_ocr_priority" :options="ocrPriorityOptions" />
</van-dropdown-menu>
</template>
</van-cell>
<tip-block>经过测试发现mlkitOcr识别倒计时并不太准确,可以选择Paddle优先或开启多点找色模拟OCR或百度OCR,这样排行榜中倒计时会获取的比较准确。神奇海洋不受此开关影响继续使用本地OCR</tip-block>
<tip-block>倒计时识别准确性 百度OCR > Paddle > 模拟OCR > MlKit</tip-block>
<tip-block>倒计时识别速度 模拟OCR > MlKit > Paddle > 百度OCR</tip-block>
<switch-cell title="是否启用模拟OCR倒计时" label-width="12em" v-model="configs.countdown_mock_ocr" />
<tip-block>如果模拟识别不准确时可以看情况选择开启百度OCR方式(开启后模拟OCR自动失效),需要注意默认每天的免费次数是500次</tip-block>
<switch-cell title="是否启用百度OCR倒计时" v-model="configs.useBaiduOcr" />
<tip-block v-if="configs.useBaiduOcr">{{ocr_invoke_count}}</tip-block>
<template v-if="configs.useBaiduOcr">
<tip-block>请填写百度AI平台申请的API_KEY和SECRET_KEY</tip-block>
<van-field v-model="configs.apiKey" label="" placeholder="apiKey" label-width="8em" type="text" input-align="right" />
Expand Down

0 comments on commit 8ead3cb

Please sign in to comment.