3

我有个问题。cvQueryFrame 到底是做什么的?据我了解,它从缓冲区中的“已经捕获的帧”中选择一个帧,对吗?

在我的应用程序中,每帧的处理需要 1 秒,但我的相机的 fps 是 30fps。如何在 1 秒结束后/当前帧的相关进程的处理结束时拍摄下一个快照?我不想要旧框架!

现在,正如我在第二次循环运行中看到的那样(当我再次调用 cvQueryFrame 时,它​​会从缓冲区检索近 1 秒前捕获的​​帧。

我怎样才能实时完成所有事情?非常感谢任何帮助!

4

1 回答 1

0

它基本上会按顺序给你帧,所以无论处理多长时间,它都不会丢帧。请记住,API 也用于从视频中读取,在这种情况下它是有意义的。

您可以连续调用 cvQueryFrame 并在单独的线程上进行处理。或者,您可以使用系统 API(例如 DirectShow)或相机的 API 进行读取,这通常会使丢帧变得更容易。

于 2013-04-11T21:10:27.657 回答