如何检查完整屏幕截图上是否有特定图像?

时间:2018-03-23 21:28:18

标签: image image-processing

以前的研究

几年前,当" Diamond Dash"游戏很受欢迎,我找到了一个蟒蛇脚本,其击中钻石块的方法是这样的:

  1. 拥有各个钻石的图像(jpg)。
  2. 获取整个屏幕的屏幕截图(我有双显示器,因此脚本获得了两个屏幕的屏幕截图,并将其用于下一步)。
  3. 通过执行类似图像检查或比较的操作,检查屏幕上是否有一个单独的钻石图像。
  4. 如果找到,请在其周围划出一些其他钻石的方形区域,并通过再次执行步骤3中的操作来检查是否有其他类似的钻石。
  5. 如果是,则将鼠标移动到第一颗钻石所在的区域 找到并点击鼠标左键。
  6. 我需要什么

    我有一个自动流程,在Facebook上发布内容后,截取屏幕截图并通过Telegram发送此图像,以便实时通知帖子。

    每当您成功发布某些内容时,该图片都会显示一个带有图例的黄色条带:"您的图片已成功上传"或者不同的文字,取决于你发布的帖子类型。

    我需要检查屏幕截图是否有黄色条带。它在过去5年中从未改变过,因此在确定帖子是否成功时非常有用。如果我知道,我可以选择下一步做什么:如果成功通过电报发送确认,或者只是发送一条通知帖子不成功的文本。

    我只需要一种方法来查找另一个图像中的图像(完整屏幕截图中的黄色条带)。它可以用任何语言来完成,比如php,python,或者使用bash,或者像imagemagick或其他工具。剩下的过程我将自己完成。

    感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

有可能更好的方法来简单地检测黄色条纹,并且可以使用facebook API解决facebook的问题。

但是你也要求提供一般解决方案。

在较大图像中查找小图像称为模板匹配。 谷歌将用资源压倒你。

https://en.wikipedia.org/wiki/Template_matching可能会开始。

这应包含在任何图像处理工具包中。