【问题标题】:Matching a Pattern in a Region in Sikuli is very slow在 Sikuli 中匹配区域中的模式非常慢
【发布时间】:2018-05-14 14:39:03
【问题描述】:

我正在使用 Sikuli 作为一个爱好项目来自动化计算机游戏,并希望能够制作脚本来帮助我的工作。在某个小区域(20x20 像素)会出现 15 个字符之一。现在我将这 15 个图像定义为变量,然后使用ifelif 循环我正在做Region.exists()。如果我的其中一张图像出现在该区域中,我会为变量分配适当的值。

我对屏幕上的两个区域执行此操作,然后根据脚本适当点击的字符组合。

现在的问题是运行 15 个 if 语句大约需要 10 秒。我希望能在接近 1 秒的时间内完成这种识别。

这些只是文本字符,但 OCR 功能无法可靠地读取它们,我想要接近 100% 的准确度。

这是进行 OCR 的合适方法吗?大家有没有更好的方法可以推荐?在过去的 3 年里我没有做太多的编码,所以我想知道 OCR 是否有所改进,Sikuli 是否仍然是一个相关的程序。鉴于这只是一个爱好项目,我希望坚持免费的解决方案。

【问题讨论】:

    标签: python automation ocr sikuli sikuli-ide


    【解决方案1】:

    Sikuli 通过扫描屏幕或屏幕的一部分并尝试匹配设定的模式来进行操作。自然,模式越小,匹配它所消耗的时间就越多。有几种方法可以提高检测时间:

    1. 区域和模式操作(绑定区域大小)
    2. 功能设置(减少最短等待时间)
    3. 配置(修改扫描率)

    我已经更详细地描述了这个问题here

    OCR 仍然很不可靠。有一些方法可以改善这一点,但如果你只有一组有限的字符,我认为你最好将它们用作模式。它会更快更可靠。

    就 Sikuli 本身而言,该工具正在积极开发中,如果它可以帮助您解决问题,它仍然具有相关性。

    【讨论】:

      猜你喜欢
      • 2018-11-26
      • 1970-01-01
      • 1970-01-01
      • 2023-03-28
      • 2014-06-09
      • 2014-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多