AzurLaneAutoScript icon indicating copy to clipboard operation
AzurLaneAutoScript copied to clipboard

button的匹配问题

Open Air111 opened this issue 11 months ago • 4 comments

你的功能请求是否与问题有关?

#3557 让我对基于平均颜色的匹配产生怀疑

一个页面有时需要识别几十个按钮,因此测试100次识别所需时间,使用perf_counter()计时:

start = time.perf_counter()
for _ in range(100):
    BUTTON.appear_on(image)
end = time.perf_counter()
print(end - start)

start = time.perf_counter()
for _ in range(100):
    BUTTON.match(image, offset=(0, 0))
end = time.perf_counter()
print(end - start)
  1. 小按钮GET_SHIPappear_on用时约1.5ms,match用时约6.5ms
  2. 中按钮EXERCISE_PREPARATIONappear_on用时约2ms,match用时约34ms
  3. 大按钮DAILY_ENTERappear_on用时约7.5ms,match用时约436ms

根据这个测试结果,我认为对于固定位置的按钮,也应该主要使用Template Matching在图像中查找对象,这应该不会明显影响运行时间。仅在少数情况下使用平均颜色匹配

由于我考虑的范围非常局限,衷心希望开发者解答一下,为什么目前在绝大多数情况下使用平均颜色匹配,这是基于什么考量?

解决方案

No response

其他内容

No response

Air111 avatar Mar 19 '24 07:03 Air111