Commit Graph

183 Commits

Author SHA1 Message Date
zzyyyl
92f24ec988 feat!: 拆分 maskRange 与 colorScales;增加 colorWithClose 开关数色时闭运算 2024-08-17 01:22:17 +08:00
zzyyyl
d719a81d1c feat: 数色前先通过闭运算填充小空洞,避免数色的得分过低 2024-08-12 12:54:56 +08:00
Weiyou Wang
c82aeb0256 feat: 加入肉鸽节点地图识别功能,并应用于萨卡兹肉鸽蓝图快速过图 (#9812)
* feat: 添加 RoguelikeMode::FastPass,负责用蓝图分队快速过图

* chore: update templates for RoguelikeMap and RoguelikeRouting

* feat: RoguelikeMap

* feat: RoguelikeMapConfig

* feat: BrightPointAnalyzer

* feat: RoguelikeRouting

* chore: Auto update by pre-commit hooks [skip changelog]

* fix: 修复会卡在商店门口的bug

* fix: adapt new plugin-registration signature

* chore: try fix submodule

* perf: 复用task

* chore: Auto update by pre-commit hooks [skip changelog]

* fix: 为函数申明补上定义

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: status102 <102887808+status102@users.noreply.github.com>
2024-08-09 22:54:19 +10:00
zzyyyl
58f44d8fb8 perf: log prints non-empty ocr_replace results
related to dedc3c7d4a
2024-08-02 21:10:25 +08:00
Lancarus
fe7cc5f7b0 feat: 增加一些肉鸽参数 (#9875)
* feat: 增加一些肉鸽参数

* feat: 根据获得的藏品改变招募优先级

* fix: 重复定义、注释空函数
2024-07-31 18:43:59 +08:00
zzyyyl
dedc3c7d4a perf: 减少部分日志输出 2024-07-31 16:58:01 +08:00
zzyyyl
0a2b003fce feat: 删去 CcoeffHSV, HSVCount 时的模板匹配采用 RGB 的 Ccoeff
CcoeffHSV 有致命缺陷: (0, 0, 0) 与 (179, 0, 0) 应为相似颜色,因为 Hue 是循环的

* feat: HSVCount & RGBCount 的返回结果为点积

为了尽量保证 0.8 的阈值

* workaround: HSVCount & RGBCount 时 maskRange 不再对模板匹配生效

否则数色时的模板匹配结果将不准确,之后可以分开 maskRange 和 colorRange, 后者的格式可以讨论后再做决定
2024-07-28 01:11:59 +08:00
zzyyyl
640eed235b perf: RGBCount 和 HSVCount 改为 数色 和 模板匹配 的几何平均;优化 count 的实现方法 2024-07-27 23:59:07 +08:00
zzyyyl
b42d5ecd62 feat: RGBCount 和 HSVCount 改为 数色 和 模板匹配 的算术平均 2024-07-27 22:10:31 +08:00
zzyyyl
aef7bba79b feat: 数色算法现在改为原来的结果与 ccoeff 结果的点积 2024-07-27 18:06:41 +08:00
Weiyou Wang
50cb0ed9f7 feat: MultiTemplMatcher (#9850)
* feat: MultiMatcher

* fix: 修正对threshold的处理
2024-07-23 17:55:56 +08:00
zzyyyl
1c116be819 feat!: 增加图像匹配算法 RGBCount, HSVCount
feat: 使用 F1-score 作为返回结果而不是 Recall

perf: 简化 F1-score 计算
2024-07-22 14:43:35 +08:00
zzyyyl
5e378259ce feat!: mask_range 支持彩色掩码 (#9818) 2024-07-22 14:42:10 +08:00
zzyyyl
1573af9f54 feat: mask_range 支持彩色掩码 2024-07-22 13:12:10 +08:00
zzyyyl
334a2e5f70 feat: 删除 HashTaskInfo 相关 2024-07-21 20:33:55 +08:00
zzyyyl
ac432c841c perf: 避免空 method 警告
set_method 只允许一种方法;增加多处 set_method
2024-07-21 12:44:47 +08:00
zzyyyl
f9543a890e fix: 修复 methods 为空时直接崩溃的问题 2024-07-20 18:09:54 +08:00
zzyyyl
1736c93b09 fix: hsv 匹配时不要修改原图
cvtColor 传 const ref 居然会直接改,qwq
2024-07-20 13:27:30 +08:00
zzyyyl
fd0037ba62 feat: 支持自定义 MatchTemplate 匹配方法 2024-07-20 12:36:02 +08:00
Weiyou Wang
7d8cb51689 fix: allow CMake build MaaCore with ASST_DEBUG under macOS 2024-07-11 00:02:39 +08:00
Sherkey
20b6cea436 feat: 增加识别坍缩范式的插件,增加萨米肉鸽刷隐藏坍缩范式模式 (#9172)
### 更新功能

1. 增加`RoguelikeMode::CLP_PDS = 5`作为萨米肉鸽刷隐藏坍缩范式的模式,可且仅可用于萨米肉鸽。

在此模式下,将在每次回到关卡选择界面时检查坍缩状态,同时会优先使用带有`_collapse`后缀的战斗部署方案,也会使用特有的不期而遇和购物设置。

2. 肉鸽任务新增以下参数:
- `check_collapsal_paradigms`:是否检查坍缩范式,若`mode = 5`则默认为`true`,否则为`false`。
- `double_check_collapsal_paradigms`:是否增加对坍缩范式的检查频率,若`mode =
5`则默认为`true`,否则为`false`。
- `expected_collapsal_paradigms`:需要刷的坍缩范式,若`mode = 5`则默认为两组隐藏坍缩范式。
- `use_foldartal`:是否使用密文板,若`mode = 5`则默认为`false`,否则为`true`。

### 机制介绍

本插件将以两种不同的手段检查坍缩范式:

- 在选关界面点击屏幕中上方展开坍缩状态栏(以下称`Panel Check`);
- 观察屏幕右侧是否有坍缩范式通知(以下称`Banner Check`)。

获取坍缩值的方法多种多样,本插件考虑到了以下情况:

1. 战斗后因非完美战斗而使坍缩值增加,进行`Banner Check`。
2. 战斗后因获得收藏品而使坍缩值变动,进行`Banner Check`。
3. 在不期而遇等(MAA中失与得等节点也会触发不期而遇插件)节点中使坍缩值变动,进行`Banner Check`。
4. 再诡异行商节点中因购买收藏品而使坍缩值变动,进行`Banner Check`。
5. 因使用密文版而使坍缩值减少,进行`Banner Check`。
6. 因进入新的一层而使坍缩值增加,进行`Panel Check`。
7. 若进行`Banner
Check`时发现坍缩范式消退,因不知道会不会一次性消退两层(即便会也概率极低),会在下一次回到选关洁面的时候额外触发一次`Panel
Check`。
8. 在`double_check_collapsal_paradigms =
true`的情况下,每次回到选关界面的时候都会额外触发一次`Panel
Check`以验证是否之前有漏、多记录坍缩范式,并以回调信息的形式传回Debug信息。

**注意事项**

1.
为了防止错过坍缩范式通知,会适当sleep,若检测到屏幕下方有`正在提交反馈至神经`的提示的话会额外sleep。所以开启检查坍缩范式的功能后整体流程会变得拖沓一些(目前在我本人可接受范围内)。
2.
在`RoguelikeMode::CLP_PDS`模式下,获得不需要的坍缩范式会直接重开,遇到需要的坍缩范式则会停止任务。理论上可能在不期而遇事件中获得了不需要的坍缩范式,但因为右上角没有退出按钮而没有及时重开。但我目前没有观察到这样的情形,故没有做处理。不放心的话请设置`double_check_collapsal_paradigms
= true`,等回到选关界面后再检查一遍已获得的坍缩范式。
3.
无论如何,强烈推荐开启`double_check_collapsal_paradigms`。慢点就慢点,求稳才是关键。在我本人测试的过程中,遇到过一两次遗漏`Banner
Check`的情况(截图错过了右上角通知),幸好在额外触发的`Panel
Check`中补上了。怀疑是系统卡顿或网络延迟所致(我在澳大利亚用着MBP2017开着MUMU+MAA刷官服,时间长了后模拟器本身就偶尔会卡住)。

### 回调信息

当`check_collapsal_paradigms == true`时会输出类似于下方的回调信息:
```C++
callback(AsstMsg::SubTaskExtraInfo, json::object { 
    { "what", "RoguelikeCollapsalParadigms" },
    { "details", json::object {
        { "cur", "目空一些" },
        { "deepen_or_weaken", 1 },
        { "prev", "睁眼瞎" }
    } }
});
```
其中`deepen_or_weaken = 1`代表坍缩范式从`prev`加深至`cur`,若`deepen_or_weaken =
-1`则代表坍缩范式消退。
偶尔也会有测试信息以`deepen_or_weaken = 0`被传回,主要用于我自己测试用。

### 任务设置范例

以下是我的测试用任务设置:
```Python
asst.append_task('Roguelike', {
    'theme': 'Sami',
    'mode': 5,
    'investment_enabled': False,
    'squad': '远程战术分队',
    'roles': '稳扎稳打',
    'core_char': '维什戴尔',
    # 'expected_collapsal_paradigms': ['趋同性消耗'],
    # 'check_collapsal_paradigms': True, # 在mode = 5时默认为True
    double_check_collapsal_paradigms': True, # 建议打开,以防万一错过了什么
    # 'use_foldartal': False # 在mode = 5时默认为False
})
```
建议在难度10刷隐藏坍缩,我只做了第一层的漏怪作业且以`维什戴尔`为战斗核心。

### To-Do(s)

- [ ] 补充相关文档 (要不就把上述文字作为文档吧?)

### Need Help

- [ ] 外服适配
- [ ] UI适配

---

小孩子不懂事乱写的代码,请各位多指教。
2024-07-07 20:56:14 +08:00
Fryze
6d9b12eff6 fix: depot analyzer to detect multipliers for KR (#9343) 2024-06-11 18:39:17 +09:00
Weiyou Wang
60d58bf93e refactor: matcher result will contain the name of the matched template 2024-06-10 18:49:39 +10:00
status102
f62162317e perf: 在掉落不超出一页时,不额外滑动掉落列表及截图拼接 2024-06-02 12:17:43 +08:00
Horror Proton
8c9cec989a chore: include path of onnxruntime>=1.16 2024-05-25 12:32:22 +08:00
status102
f90fc74916 fix: 修复#7848 2024-03-12 22:50:14 +08:00
status102
5153082de5 perf: TemplDecOCRer的RegionOCRer引入use_raw 2024-03-11 10:50:17 +08:00
zzyyyl
979e3af778 feat: 根据灰度二值化关卡名后再识别 (#7848)
feat: RegionOCRer 允许设置参数使 OCR 识别时的图片为二值化的;关卡名二值化后再识别
2024-03-08 08:59:10 +08:00
status102
90be17900d Revert "perf: 优化仓库识别速度 (#8113)"
This reverts commit 7df2060c3c.
2024-03-06 22:13:52 +08:00
FreeSky-X
7df2060c3c perf: 优化仓库识别速度 (#8113)
* perf:仓库识别

* perf:仓储识别

* fix:depot遗漏材料

* fix:ci集成

* fix:定位得分低

* feat: update analyze_all_items, format code

---------

Co-authored-by: Horror Proton <107091537+horror-proton@users.noreply.github.com>
2024-03-01 21:29:41 +08:00
Horror Proton
078feead6f fix: fix oper rect in InfrastOperImageAnalyzer
fix https://github.com/MaaAssistantArknights/MaaAssistantArknights/issues/8377
2024-02-21 18:23:28 +08:00
Horror Proton
18f572e0e3 fix: fix oper rect in InfrastOperImageAnalyzer
fix https://github.com/MaaAssistantArknights/MaaAssistantArknights/issues/8362
2024-02-20 17:13:52 +08:00
status102
e6bf3c4605 chore: 待部署区识别debug时m_image_draw增加冷却中文本 2024-02-18 22:44:31 +08:00
uye
82c7028c74 feat: 基建领取专精功能 (#7754)
close #503
link to #7164 

@status102
2024-02-03 23:00:51 +08:00
uye
ea21a787b3 perf: 优化自动战斗部署栏识别条件,保全增加节能模式 (#8044)
* perf: 优化保全部署栏识别条件,增加节能模式

* fix: equal error

* chore: 跳过update改为sleep

* perf: 优化保全逻辑

* chore: 仅在开局识别干员部署费用
2024-01-21 15:30:37 +08:00
youqii
4fc2a16628 feat: 基建自动领取专精 2024-01-07 12:02:23 +08:00
status102
949fdfb408 fix: 修复部分情况下,关卡掉落识别关卡名出错 2024-01-02 15:33:07 +08:00
status102
ce39a7ffbb fix: 修复部分情况下,关卡掉落识别关卡名出错 2023-12-31 16:51:03 +08:00
David
4f0a3920c4 style: fix typo proced-proceed (#7771) 2023-12-26 10:30:00 +08:00
status102
5deac04d38 Revert 基建新增领取专精功能 (#7624)
* Revert "fix: 基建换班-继续专精 参数字段名格式不一致"

This reverts commit 6ce6b2d10a.

* Revert "chore: 部分客户端未支持的功能添加注释"

This reverts commit d2cede4a21.

* Revert "fix: 修复基建训练室-继续训练字符串键值冲突"

This reverts commit e0d5d1bf1d.

* Revert "feat: 基建新增领取专精功能 (#7164)"

This reverts commit 8b72ff9941.
2023-12-15 16:23:11 +08:00
youqii
8b72ff9941 feat: 基建新增领取专精功能 (#7164)
close #503

Co-authored-by: David <56174894+Constrat@users.noreply.github.com>
Co-authored-by: Sherkey <57581480+SherkeyXD@users.noreply.github.com>
Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com>
2023-12-14 10:29:41 +08:00
status102
671faaa7b3 fix: 修复待部署区干员费用不识别的错误 2023-11-22 09:36:34 +08:00
Horror Proton
3d80b118ee fix: update threshold for StageDropsImageAnalyzer
fix https://github.com/MaaAssistantArknights/MaaAssistantArknights/issues/7282
2023-11-13 10:59:44 +08:00
Horror Proton
cae0f2227a chore: move image merging to StageDrop analyzer 2023-11-08 18:47:05 +08:00
Horror Proton
69c6439d4c chore: revert some changes on analyze_baseline 2023-11-05 23:08:34 +08:00
Horror Proton
f26c4bc3b6 feat: ability to recognize long drop list 2023-11-05 23:08:34 +08:00
MistEO
1ca4f7228c feat: 支持掉落次数识别+上传 2023-11-02 23:23:17 +08:00
zzyyyl
3e9713767d fix: 修复因 ocr_replace 与 m_eq_classes 冲突导致的 ocr 识别失效的问题 (#6867)
fix #6629
2023-10-12 19:59:44 +08:00
zzyyyl
9eda4d9e68 perf: 优化 OperBox 相关代码 2023-10-12 15:19:41 +08:00
zzyyyl
a3f04669db debug: 增加一些非法情况的截图 2023-10-11 19:02:57 +08:00