我可以使用“等于”(比较运算符)比较Sikuli中的图像吗?

时间:2018-07-04 20:44:09

标签: jython sikuli image-compression comparison-operators

已使用以下代码。我相信由于比较运算符的原因,错误会弹出。

我需要匹配屏幕截图,并将其与当前图像进行比较。

while(1):
  if (imgA == imgA):
    click(X)                             #Close the Window
  else:
    click(Y)                             #Error Message
    break

1 个答案:

答案 0 :(得分:0)

您要查找的Sikuli关键字为exist()。查看docs了解更多详细信息。

为进一步探讨您的问题,我将考虑以下内容:

if exists('img_a.png', 10):
    click(x)
else:
    click(y)

这将等待10秒以获取您的屏幕截图。一旦检测到该图像,它将进入if块并执行命令。如果10秒钟后未找到图像,它将移动else块并执行这些命令。

此外,请注意文档中提到exist()支持模式和字符串。您可以按图像的名称呼出图像,也可以提供更详细的图案信息。例如:

searchRegion = Region(x, y, w, h)

if searchRegion.exists(Pattern('img_a.png').exact(), 10):
    click(x)
else:
    click(y)

上面的脚本规定了要搜索的区域,并检查给定区域内该图像的精确匹配。您可以将.exact()更改为.similar(0.90)来调整匹配容差。 0.01-0.99是有效的匹配项,.exact和.similar(0.99)在功能上相同。