我想在屏幕截图中识别所有出现的图像列表并获取表情符号的标签(例如" smile")。
图片列表包含所有表情符号(full list): 等等......
这是屏幕截图(show large):
屏幕截图可以有不同的分辨率和表情符号出现的不同高度。
我的想法是:
你会怎么做?
答案 0 :(得分:1)
有几种经典方法可以解答您的问题:
如果屏幕截图与表情符号基本图片之间的强度不同,则应使用标准化关联。
这两种方法都会为您提供包含峰值的图像,并且您的表情符号将定位在此图像的局部最大值处。 由于你的表情符号彼此非常相似,你必须在相关图像上使用一个阈值,以区分你正在测试的表情符号和看起来像他的表情符号。
此方法可能非常耗时,但可以通过使用图像金字塔轻松加速。 图像金字塔是一组图像,其中第一个是您的图像,第二个是第一个的子采样,系数为2,依此类推: https://en.wikipedia.org/wiki/Pyramid_(image_processing)。 然后将相关性应用于金字塔的顶层以找到大致位置,然后在顶部 - 大约1个位置围绕大约位置,依此类推。
关于您想要尝试的神经网络或其他机器学习方法,它们是非常重的解决方案,并且您有一个非常简单的问题,所以您应该正常地不需要它们。 您可以获得所需的精确图像,无需旋转,变形或强度变化,模板匹配应该非常有效。