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

标签 image image-processing

先前的研究

几年前,当“钻石冲刺”游戏流行的时候,我发现了一个python脚本,它打方 block 的方法是这样的:

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

我需要什么

我有一个自动流程,在 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/

相关文章:

image - 插入Picture类的属性

java - 通过java套接字发送字符串和图片: server not receiving string or picture from android client

image - 如何使程序在 PostScript 文件的顶部覆盖文本?

php - Laravel Response::download()函数图像问题

c++ - 使用 OpenCV 从一组 2D 图像切片重建 3D 模型?

python - 使用 OpenCV 为 Tesseract OCR 预处理七段图像

image - 神经网络训练图像的目标向量如何设置?

php - 从服务器设置图像后如何刷新 ImageView 在我的情况下,它不更新 ImageView

python - 从图像中去除虚假文本区域

Image.At 返回零