2011-08-02 40 views
1

我有一个朋友,他的工作是观看视频并记录屏幕上发生什么事情的时间。大多数时候它只是一个蓝/白屏幕,所以几乎没有变化。这是一个外部视频,所以颜色随着时间的推移而变化。这也是一个下雪的地区,所以天空和地面之间几乎没有区别。检测视频中的更改

我想知道是否有一种方法可以轻松找到屏幕上发生的事情,而无需坐下来观看它。我想到了这样做的两种方法。

  1. 该视频编码为H.264,使用增量压缩。 有没有一种工具可以绘制特定的 框架中使用的数据量?比特率峰值将指示视频上的活动。 这将有助于在快速扫描中找到每个活动点。

  2. 其次,将有可能使用脚本程序,如AutoIt的 查看的帧,并得到一个平均颜色,然后发出警报声时 像素一定数量落在“耐受度”外附近的平均颜色为 。视频仍然需要播放,开始到 结束,但没有必要关注这个事情。

是否有这样的工具可用于#1?如果有必要,我可以为#2编写代码,我只是想我会看到有哪些资源可用。

+0

刚刚找到一个很好的资源。 ZoneMinder是一个开源程序,它将处理视频文件并输出检测到运动的“事件”。这看起来正是我所需要的。 – Alex

回答

1

在AutoIt中检查PixelGetColor(用于单个像素)或PixelSearch(用于扫描矩形)。 您可以使用PixelGetColor保存像素颜色,并且每秒钟检查相同的位置。如果新价值与旧价格有所不同,为了增加检测更改的机会,您当然应该检查多个像素。

如果您知道您正在搜索的颜色使用PixelSearch。 PixelSearch能够扫描整个矩形。 它甚至有一个“阴影变化”参数,您可以指定搜索特定颜色时想要的容差。

1

您可以使用autoIt来对屏幕上的多个像素进行采样并返回颜色。然后追踪它是否剧烈变化。也许在一个人尺寸的盒子里。它完全支持从屏幕捕捉和解码屏幕元素。然后可以发送电子邮件或短信提醒。