辉鸭蛋
|
f80939dad4
|
去除所有 Cv2.ImRead ,解决中文路径问题
|
2026-02-20 22:28:45 +08:00 |
|
Takaranoao
|
e9d11f7267
|
文本识别的模糊匹配功能 (#2799)
* chore: add AGENTS.md to .gitignore
* feat(config): 新增 AllowDuplicateChar OCR配置项
* refactor(ocr): Rec 暴露protected成员、提取RunInference、支持AllowDuplicateChar
* feat(ocr): 打通 AllowDuplicateChar 参数链 PaddleOcrService → Rec
* feat(ocr): OcrUtils 新增 CreateLabelDict/CreateWeights 工具方法
* feat(helpers): 新增 LruCache 缓存工具类
* feat(ocr): 新增 RecMatch DP模糊匹配识别器
* test(helpers): 新增 LruCache 单元测试
* test(ocr): 新增 RecMatch.GetTarget / CreateLabelDict 单元测试
* fix(ocr): 修复 RecMatch 中权重矩阵乘法的使用方式
* refactor(ocr): 合并 RecMatch 到 Rec,提取可测试静态方法,补充单元测试
将 RecMatch 子类合并到 Rec 中,消除继承关系和重复的批处理逻辑(提取 RunBatch<T>)。
将 GetTarget 核心逻辑和 GetMaxScoreDP 提取为 OcrUtils 静态方法以便独立测试。
重命名测试文件并新增 16 个单元测试覆盖 MapStringToLabelIndices、GetMaxScoreDP、CreateWeights。
* feat(ocr): 将 Rec.RunMatch 暴露给 JS 引擎和内部 C# 代码
新增 IOcrMatchService 接口,提供基于 DP 模糊匹配的 OcrMatch/OcrMatchDirect 方法,
返回 0~1 置信度分数。PaddleOcrService 实现该接口,OcrFactory.PaddleMatch 保证
非 null 返回(引擎不支持时自动回退到普通 OCR + 编辑距离字符串比较)。
BvPage 新增 OcrMatch/WaitForOcrMatch 供 JS 脚本使用,阈值可通过配置调整。
* feat(ui): 为 OCR 配置添加允许重复字符和模糊匹配阈值的设置项
在通用设置页 OCR 配置区域新增两个控件:
- 允许连续重复字符(AllowDuplicateChar)开关
- OCR模糊匹配阈值(OcrMatchDefaultThreshold)输入框
* fix: 修复 PR #2799 代码审查中发现的多项问题
- 修复 Rec.cs 空文本时 score/sb.Length 除零产生 NaN
- 修复 BvPage.cs rect==default 时同一对象被双重 Dispose
- 移除 Rec.cs Finalizer 避免 GC 线程加锁死锁
- 移除 CacheHelper WeakKey 无效功能,简化为直接 Dictionary 查找
- 添加 weights 数组长度与模型输出维度校验
- 修复 CreateLabelDict 空格标签索引冲突
- 修复 GetMaxScoreDP availableCount=0 除零
- 修复 OcrMatchFallbackService Contains 大小写敏感
- 修复 BvPage.cs DefaultRetryInterval=0 除零
- 添加 OcrMatchDefaultThreshold [0,1] 范围约束
- 提取 PaddleOcrService BGRA→BGR 转换辅助方法
- 使用 Interlocked.CompareExchange 修复 OcrFactory Fallback 线程安全
- 增大 LruCacheTests BuilderTest TTL 裕量避免 CI 不稳定
- 更新 .gitignore 注释
* fix: 修复 OcrMatch 归一化分母导致多区域匹配分数过低的 bug,改进 UI
- 修复 GetMaxScoreFlat 中 availableCount 使用非空图像数作为分母,
导致多文字区域场景下匹配分数被过度稀释的问题,改为使用 target.Length
- AllowDuplicateChar 设置项添加"需重新加载OCR引擎"的提示
- OCR模糊匹配阈值控件从 TextBox 改为 Slider + 数值显示
- 移除 Det 类中有问题的 finalizer(含锁的析构函数可能导致死锁)
- 补充多区域场景的单元测试
* feat(ocr): 添加队伍切换时使用OcrMatch模糊匹配的选项和相关配置
* fix(ui): 更新匹配成功阈值默认值为 0.8
* fix(ocr): 修复队伍切换逻辑中的空值处理和优化代码结构
* refactor: 简化 LruCache,移除弱引用支持和 Builder 模式
- 移除有 TOCTOU bug 的 WeakReference 支持(且无实际使用方)
- CacheItem 类改为 ValueTuple 减少堆分配
- 无过期时不再赋值 DateTime.MaxValue,过期检查短路跳过
- 移除仅剩两参数的 LruCacheBuilder,直接使用构造函数
* fix(ocr): 修复 CreateWeights 中空格字符权重写入错误索引的 bug
复用 CreateLabelDict 构建索引映射,确保空格映射到 labels.Count+1,
与 CreateLabelDict 保持一致。添加对应测试用例。
* fix(ocr): 修复 GCHandle.Alloc 失败时 finally 中 Free 掩盖原始异常的问题
* fix(ocr): 添加队伍选择按钮存在性检查,避免 PartySetupFailedException
* fix(ocr): 调整 OcrMatchDefaultThreshold 的 TickFrequency 为 0.01
* fix(ocr): 修复区域裁剪逻辑,确保裁剪尺寸不为负值
* fix(ocr): 优化字符置信度提取逻辑,直接按目标字符索引查找置信度
* fix(ocr): 修正变量命名以保持一致性,调整方法名大小写
* fix(ocr): 修改 CreateWeights 方法以使用标签字典和标签计数,优化权重创建逻辑
* fix(ocr): 更新 OCR 置信度阈值设置,确保阈值范围为 0.01 到 0.99,并优化相关逻辑
|
2026-02-20 15:08:46 +08:00 |
|
DarkFlameMaster
|
b242d98208
|
背包计数任务更快定位到武器经验材料 (#2793)
* 背包计数任务更快定位到武器经验材料
* 防止任务取消时鼠标按钮可能卡在按下状态
|
2026-02-17 19:23:30 +08:00 |
|
躁动的氨气
|
292dc8fb4f
|
feat: 显示后台角色技能cd (#2754)
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: 辉鸭蛋 <huiyadanli@gmail.com>
|
2026-02-13 23:19:32 +08:00 |
|
ShadowLemoon
|
50055c3f26
|
feat: 状态机 (#2712)
|
2026-02-05 01:48:46 +08:00 |
|
躁动的氨气
|
73422860af
|
feat: 调整时间使用更短的延时 (#2738)
|
2026-02-04 19:44:21 +08:00 |
|
kaedelcb
|
a9cf0dcfb3
|
优化换队拾取和切换队伍 (#2729)
|
2026-02-03 00:39:39 +08:00 |
|
辉鸭蛋
|
62481baba9
|
地图遮罩功能(把米游社大地图搬到原神内) (#2655)
|
2026-01-26 02:58:23 +08:00 |
|
起个名字好难的喵
|
af2028c2b5
|
fix adventurers guild path (#2690)
|
2026-01-25 20:41:32 +08:00 |
|
躁动的氨气
|
99784c4263
|
feat: 优化进出千星速度 (#2682)
|
2026-01-24 23:15:14 +08:00 |
|
躁动的氨气
|
de79d8a61c
|
feat: 添加进出千星以刷新CD (#2677)
|
2026-01-24 00:45:05 +08:00 |
|
Jamis
|
61eb5f4fe3
|
Fix teleport issue (#2662)
|
2026-01-19 20:12:14 +08:00 |
|
Jamis
|
01b52a5d78
|
load tp info from MapLazyAssets (#2656)
|
2026-01-19 15:34:20 +08:00 |
|
Jamis
|
cbef23b7ba
|
Use nullable types for genshin-map coordinates (#2650)
|
2026-01-18 21:56:50 +08:00 |
|
Jamis
|
d4b8b09210
|
更新tp.json (#2640)
|
2026-01-18 15:52:05 +08:00 |
|
辉鸭蛋
|
73c142d33f
|
修复当前出战队伍是第五位时,无法正常下拉队伍的问题 #2633
|
2026-01-17 17:45:26 +08:00 |
|
辉鸭蛋
|
53c2751eb0
|
添加延时 #2633
|
2026-01-16 21:15:06 +08:00 |
|
躁动的小氨气
|
81f21e5bc9
|
少女月卡支持 (#2622)
|
2026-01-15 12:29:19 +08:00 |
|
辉鸭蛋
|
e0c495fae3
|
冒险家协会加入挪德卡莱
|
2026-01-15 02:03:02 +08:00 |
|
辉鸭蛋
|
36477f9d39
|
UI:级联选择框选择副本
|
2026-01-15 01:48:19 +08:00 |
|
Jamis
|
af90b930bd
|
Fix SIFT regression (#2624)
|
2026-01-14 17:50:31 +08:00 |
|
辉鸭蛋
|
c0e1c4c28b
|
6.3 map
|
2026-01-14 00:39:05 +08:00 |
|
躁动的小氨气
|
ba222b90a6
|
非原神窗口打印窗口名称 (#2610)
|
2026-01-10 21:00:32 +08:00 |
|
辉鸭蛋
|
ed61c9dfe7
|
修改自动幽境危战的战斗终止检测,解决可能存在的误识别场景
|
2025-12-26 01:16:42 +08:00 |
|
Patrick-Ze
|
947752f17b
|
改进GetGridItemIconText获得全角数字字符时的处理 (#2581)
|
2025-12-25 16:30:00 +08:00 |
|
Jamis
|
cf7eab0939
|
update misc map data (#2570)
|
2025-12-20 00:27:06 +08:00 |
|
Jamis
|
f73a546acb
|
Sea of Bygone Eras layered map (#2559)
|
2025-12-19 11:04:53 +08:00 |
|
Jamis
|
f1dd7bdd54
|
增加远古圣山地图支持 (#2569)
|
2025-12-18 21:59:45 +08:00 |
|
Jamis
|
85829868a1
|
improve welkin moon detection (#2549)
|
2025-12-15 01:31:52 +08:00 |
|
Jamis
|
2c32dafd44
|
支持旧日之海地图 (#2546)
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
|
2025-12-14 10:52:37 +08:00 |
|
辉鸭蛋
|
10dcf831e8
|
6.2 每日提示确认
|
2025-12-06 13:57:18 +08:00 |
|
kaedelcb
|
e3a67f309d
|
F文字菜单UI区域适配 (#2511)
|
2025-12-06 10:41:54 +08:00 |
|
ShadowLemoon
|
a9f5541145
|
refactor: 提取识别并点击按钮的通用方法并添加延迟 (#2503)
|
2025-11-30 19:37:48 +08:00 |
|
kaedelcb
|
dbf489fd04
|
适配联机相关UI (#2488)
|
2025-11-23 00:29:13 +08:00 |
|
汐
|
1e57bfcf18
|
时瞬操作 (#2469)
|
2025-11-16 00:54:36 +08:00 |
|
汐
|
5a62083bd4
|
时瞬的修改 (#2466)
|
2025-11-15 10:36:53 +08:00 |
|
Jamis
|
c32aae6cca
|
改进空月祝福页面处理逻辑,提升处理速度 (#2449)
|
2025-11-14 22:23:18 +08:00 |
|
Bread Grocery
|
880d68823b
|
fix: 修复领取尘歌壶奖励相关问题 (#2437)
|
2025-11-04 17:16:00 +08:00 |
|
Jamis
|
58b095663a
|
修复TemplateMatch地图特征加载两次的问题 (#2434)
|
2025-11-04 01:56:08 +08:00 |
|
Jamis
|
d14de170f2
|
优化路径追踪过程中各种打断的处理 (#2425)
|
2025-11-02 10:56:43 +08:00 |
|
FishmanTheMurloc
|
bc346d1680
|
GridScreen增加填充算法以应对item识别不全的问题 (#2423)
|
2025-11-01 14:12:41 +08:00 |
|
辉鸭蛋
|
ddbc6a9339
|
处理存在退出按钮场景下的返回
|
2025-11-01 13:47:34 +08:00 |
|
Jamis
|
9527fb2363
|
Improve IsInBigMapUi() (#2373)
|
2025-10-28 23:41:02 +08:00 |
|
FishmanTheMurloc
|
11c09d3d49
|
将PartyAvatarInitTests涉及到的代码与本体运行解耦 (#2396)
|
2025-10-27 10:25:31 +08:00 |
|
kaedelcb
|
4547c5cd74
|
挪德卡莱中心点更新/地图追踪不执行自动派遣 (#2323)
|
2025-10-11 21:25:01 +08:00 |
|
辉鸭蛋
|
a10cdc32d0
|
新的角色编号框识别方式 & 出战角色识别 (#2309)
|
2025-10-10 02:49:18 +08:00 |
|
辉鸭蛋
|
3100862c04
|
传入地图匹配方式 (#2273)
|
2025-10-08 16:14:39 +08:00 |
|
辉鸭蛋
|
a178996dca
|
6.0 地下地图
|
2025-10-04 22:18:11 +08:00 |
|
FishmanTheMurloc
|
8a7440dbbe
|
ScriptObjectConverter.GetValue()新增支持一层集合泛型参数解析;CountInventoryItem新增支持复数物品的计数,并在Dispatcher中向JavaScript暴露此种使用方式 (#2267)
|
2025-09-26 23:15:18 +08:00 |
|
bhbghghbgb
|
94e50307a5
|
重构服务器重置时间处理 (#2160)
|
2025-09-23 00:59:07 +08:00 |
|