先前的研究
几年前,当“钻石冲刺”游戏流行的时候,我发现了一个python脚本,它打方 block 的方法是这样的:
- 拥有单颗钻石的图片 (jpg)。
- 获取整个屏幕的屏幕截图(我有双显示器,所以脚本获取了两个屏幕的屏幕截图并将其用于下一步)。
- 通过执行图像检查或比较之类的操作,检查屏幕上是否出现了单个钻石图像。
- 如果找到,则在其周围划出一些其他菱形的正方形区域,并通过再次执行步骤 3 中的操作来检查是否还有其他一些类似的菱形。
- 如果是,则将鼠标移动到第一个钻石所在的区域 找到并点击鼠标左键。
我需要什么
我有一个自动流程,在 Facebook 上发布内容后,截取屏幕截图并通过 Telegram 发送此图像,以便实时通知帖子。
每次您成功发布内容时,图片都会有一条黄色 strip 和一个图例,例如:“您的图片已成功上传”或不同的文本,具体取决于您发布的帖子类型。
我需要检查屏幕截图是否有黄色 strip 。它在过去 5 年中从未更改过,因此它将有助于确定帖子是否成功。如果我知道这一点,我可以选择下一步做什么:如果成功则通过电报发送确认,或者只是发送一条文本通知该帖子不成功。
我只需要一种方法来在另一张图片中找到一张图片(完整屏幕截图中的黄色 strip )。可以使用任何语言(如 php、python)或使用 bash 或 imagemagick 等工具来完成。剩下的过程我会自己完成。
感谢您的帮助。
最佳答案
很可能有更好的方法来简单地检测黄色条纹,而 facebook 的问题可能可以使用 facebook API 来解决。
但正如您还要求提供通用解决方案。
在大图像中寻找小图像称为模板匹配。 谷歌会用资源压倒你。
https://en.wikipedia.org/wiki/Template_matching可能会开始。
这应该包含在任何图像处理工具包中。
关于image - 如何检查完整屏幕截图上是否有特定图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49458508/