opencv - cvQueryFrame 令人着迷

标签 opencv

我有一个问题。 cvQueryFrame 究竟做了什么?据我了解,它会从缓冲区中“已捕获的帧”中选择一个帧,对吧?

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

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

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

最佳答案

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

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

关于opencv - cvQueryFrame 令人着迷,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12099374/

相关文章:

python - 多幅图像的边缘检测

python - <Python, openCV> 我如何使用 cv2.ellipse?

android - Android 上的 OpenCV 支持

python - 什么时候安装 imgaug.py 我得到这个错误

python-3.x - 高斯噪声不会应用于整个图像

android - 用opencv全屏显示图像

OpenCV 求解 PnP 桶形失真

python - 如何创建关键点来计算 SIFT?

Python:根据 1 和 0 的数组计算结构的面积和周长

c++ - libopencv_imgcodecs.so.3.2 : cannot open shared object file: No such file or directory