【发布时间】:2011-03-20 04:05:10
【问题描述】:
我一个接一个地使用两个QueryFrame 命令来获取帧并使用CvInvoke.cvAbsDiff 计算它们的差异。差异图像始终是黑色的,尽管在我的视频中每一帧都有明显的变化。
我尝试跳过最多五帧(通过使用连续的QueryFrame 命令)并且总是得到一个黑帧。
如果我均衡两个帧之一的直方图,AbsDiff 确实会返回结果。因此我假设QueryFrame 返回相同的帧。
如何获得两个连续的帧?有什么想法吗?
【问题讨论】:
-
我找到了一个复杂的解决方案...我在
new Capture之后直接使用QueryFrame并将其存储在成员变量中。然后我在一个方法中捕获后续帧,我使用Application.Idle调用该方法 -
它看起来或多或少像下面这样:
-
`capture = new Capture(@"AnyVideoFile");