Skip to content

feat(KekkaiUtilize): 添加多尺度模板匹配,结界皮肤通用#1425

Open
LGG686 wants to merge 2 commits intorunhey:devfrom
LGG686:dev
Open

feat(KekkaiUtilize): 添加多尺度模板匹配,结界皮肤通用#1425
LGG686 wants to merge 2 commits intorunhey:devfrom
LGG686:dev

Conversation

@LGG686
Copy link
Contributor

@LGG686 LGG686 commented Feb 12, 2026

结界皮肤改变时,"育成"、"结界卡"、"防守"等按钮的显示大小会变化
原始模板匹配无法识别不同缩放比例的按钮图片
修改

  1. 在 RuleImage 添加 match_multi_scale() 方法 自动尝试 0.5~1.2 倍的缩放比例进行模板匹配 根据最佳缩放比例动态调整 roi_front 尺寸,确保点击坐标正确
  2. 在 base_task 添加多尺度识别方法 appear_multi_scale(),appear_then_click_multi_scale()
  3. 修改以下图片使用多尺度匹配: I_SHI_GROWN, I_SHI_CARD, I_SHI_DEFENSE
    感觉结界皮肤可以删了(
    测试了10多款皮肤都没问题(也可能我皮肤太少)
    后边只用对鲤鱼旗适配就行

@LGG686 LGG686 force-pushed the dev branch 2 times, most recently from 98fa50b to a9cbc23 Compare February 12, 2026 13:04
@LGG686
Copy link
Contributor Author

LGG686 commented Feb 12, 2026

其它大小会变的元素应该也可以用这个appear_multi_scale(),appear_then_click_multi_scale()

@ljxun
Copy link
Contributor

ljxun commented Feb 12, 2026

有几个问题请教下

  1. 为啥要取最优的尺寸 ,只要一个尺寸匹配超过 需要的置信度就可以返回吧
  2. 这个尺寸从1.0 开始效率更高吧
  3. if mat is None or mat.shape[0] == 0 or mat.shape[1] == 0: 这句应该返回False吧

结界皮肤改变时,"育成"、"结界卡"、"防守"等按钮的显示大小会变化
原始模板匹配无法识别不同缩放比例的按钮图片
修改
1. 在 RuleImage 添加 match_multi_scale() 方法
   自动尝试 0.5~1.2 倍的缩放比例进行模板匹配
   根据最佳缩放比例动态调整 roi_front 尺寸,确保点击坐标正确
2. 在 base_task 添加多尺度识别方法
   appear_multi_scale() - 多尺度图片识别
   appear_then_click_multi_scale() - 多尺度识别并点击
3. 修改以下图片使用多尺度匹配:
   I_SHI_GROWN
   I_SHI_CARD
   I_SHI_DEFENSE
感觉结界皮肤可以删了(
测试了10多款皮肤都没问题(也可能我皮肤太少)
后边只用对鲤鱼旗适配就行
@LGG686
Copy link
Contributor Author

LGG686 commented Feb 12, 2026 via email

使用方式:
# scale_range: 缩放范围 (start, end, step),step不填默认0.1
self.appear_then_click_multi_scale(self.I_SHI_GROWN, scale_range=(0.8, 1.2))
# scales: 自定义缩放列表
self.appear_then_click_multi_scale(self.I_SHI_GROWN, scales=[0.8, 0.9, 1.0, 1.1])
# 都不指定则使用默认 [0.5, 0.6, ..., 1.2]
self.appear_then_click_multi_scale(self.I_SHI_GROWN)
优先级:scale_range > scales > 默认
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants