从屏幕截图中检测在浏览器中播放的视频 - OpenCV

时间:2010-06-01 18:40:13

标签: opencv screenshot computer-vision video-capture

我想在屏幕上播放的视频周围绘制一个矩形。例如,我正在浏览器中观看YouTube视频。我希望能够截取屏幕截图,分析屏幕截图,然后围绕YouTube视频播放的位置绘制一个矩形。我刚开始研究如何才能做到这一点。我遇到过OpenCV。据我所知,OpenCV涵盖了许多计算机视觉技术。他们中的任何一个都特别适合这项任务吗?此外,这是可以实时完成的吗?最后,是否有一种技术适用于浏览器和全屏?

谢谢!

编辑:

马克提出了一个很好的观点。理想情况下,我希望能够使用一个屏幕截图识别视频。我不确定如果可能的话。如何比较一两秒钟的屏幕截图?

3 个答案:

答案 0 :(得分:2)

如果视频未以全屏模式播放,您可以:

  1. 检测移动部件(简单光流
  2. 为视频控件执行模板匹配:D(比YouTube徽标简单得多,......)
  3. 对流场的形态学操作。
  4. 如果视频是全屏播放的,那么受光流直方图训练的SVM应该会告诉您它是全屏的。

答案 1 :(得分:1)

如果它只是一个Youtube视频,您可以使用边缘检测算法(如Canny或Sobel)来查找视频播放器的边界,并使用OpenCV MatchTemplate方法查找Youtube徽标。这些2的组合应该会给你很好的准确性。

您还可以检查边界矩形大小,因为Youtube在特定高度x宽度窗口播放。

答案 2 :(得分:1)

您还可以查看纹理细节的数量,尤其是每种颜色。

电脑屏幕通常都是空白区域。如果有纹理(即边缘),那么它通常是单一颜色(即文本),视频或任何照片图像通常更复杂,并且由更多颜色组成。