OpenCV从一组屏幕截图中检测应用程序框架

时间:2010-01-23 23:05:42

标签: opencv

我有这个问题,我想从一组截图中检测一个特定的窗口。如果我有100个屏幕截图,我想弄清楚哪些包含iTunes。当谈到openCV时,我仍然是一个菜鸟,我是否需要为此训练和创建一个haar文件,或者是否有更简单的解决方案,因为应用程序框架没有那么不同?

1 个答案:

答案 0 :(得分:0)

在100个屏幕截图中,有许多不同的方法可以识别包含iTunes的图像。

您采取的具体路线将在很大程度上取决于您的问题的详细信息:

  • 您是否一直在寻找iTunes?
  • 这有多准确?
  • 假阳性是否可以接受?假阴性怎么样?
  • 屏幕截图是否始终来自同一系统?
  • iTunes会不会最大化?
  • 桌面背景会不会改变?
  • 必须在不同条件下识别iTunes,例如coverflow,可视化,iTunes商店?
  • iTunes总是看起来一样吗?

对于初学者,我会看一下你能想到的绝对简化指标,看看他们是否将你的iTunes与非iTunes图像区分开来。例如,iTunes图像中可能存在比任何其他像素更多的灰色像素。在这种情况下,您可以计算灰色像素。

如果不起作用,请考虑制作颜色的直方图。据推测,iTunes大多数时候使用相同的颜色(灰色,白色浅蓝色和绿色)。然后,您可以构建一个与iTunes用例(播放列表,iTunes商店,封面流等)对应的不同颜色直方图库,并通过匹配直方图来识别包含iTunes的图像。请参阅O'reilly OpenCV book中的此示例。