1

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

谢谢!

编辑:

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

4

3 回答 3

2

如果视频没有全屏播放,您可以:

  1. 检测运动部件(简单的光流
  2. 为视频控件执行模板匹配:D(比 YouTube 徽标简单得多,...)
  3. 流场的形态学运算。

如果视频正在全屏播放,则在光流直方图上训练的 SVM 应该会告诉您它是全屏的。

于 2010-07-07T03:24:09.420 回答
1

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

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

于 2010-06-29T20:22:05.457 回答
1

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

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

于 2010-07-07T03:50:37.763 回答