【问题标题】:Identify all occurrences of a list of images in a screenshot (find image in image)识别屏幕截图中所有出现的图像列表(在图像中查找图像)
【发布时间】:2018-03-27 05:47:17
【问题描述】:

我想识别屏幕截图中所有出现的图像列表并获取表情符号的标签(例如“微笑”)。

图像列表包含所有表情符号 (full list): 等等……

这是截图(show large):

屏幕截图可以有不同的分辨率和不同的表情符号出现的高度。

我的想法是:

  • 使用 OpenCV 和各种过滤并在其上迭代所有表情符号图像(可能使用template matching
  • 使用 TensorFlow 等神经网络,使用表情符号训练您自己的模型

你会怎么做?

【问题讨论】:

    标签: image opencv machine-learning tensorflow computer-vision


    【解决方案1】:

    有几种经典的方法可以回答您的问题:

    如果您的屏幕截图和表情符号基础图片之间的强度不同,则应使用归一化相关。

    这两种方法都会为您提供具有峰值的图像,并且您的表情符号将定位在该图像的局部最大值处。 由于您的表情符号可能彼此非常相似,因此您必须在相关图像上使用一个阈值,以便区分您正在测试的表情符号和看起来很像他的表情符号。

    这种方法可能很耗时,但可以通过使用图像金字塔轻松加快速度。 图像金字塔是一组图像,其中第一个是您的图像,第二个是第一个的子采样 2 倍,依此类推: https://en.wikipedia.org/wiki/Pyramid_(image_processing)。 然后在金字塔的顶层应用相关性以找到近似位置,然后在近似位置周围的顶层 - 1 层上,依此类推。

    关于神经网络,或您想尝试的其他机器学习方法,它们确实是很重的解决方案,而且您遇到的问题非常简单,因此您通常不需要它们。 你有你要找的准确的图片,没有旋转、变形或强度变化,模板匹配应该很有效。

    【讨论】:

      猜你喜欢
      • 2021-08-30
      • 1970-01-01
      • 1970-01-01
      • 2013-08-08
      • 2012-01-20
      • 2014-01-21
      • 2017-07-17
      • 2011-12-05
      相关资源
      最近更新 更多