我需要处理来自USB摄像头的视频,但我不知道如何将流保存在内存中。我找到了一个代码,它在窗口中显示它,但在显示之前我无法找到它存储的位置。 有人可以帮我解决这个问题吗?
答案 0 :(得分:0)
如果您check my other answer,您会看到函数cvQueryFrame()
从相机中检索一个帧并将其存储在color_frame
中,这是IplImage*
类型的变量。 OpenCV使用类型IplImage
来表示内存中的图像。当然,这个例子展示了如何使用OpenCV的C接口,所以如果你打算使用C ++接口,你必须查看cv::Mat
。
无论如何,从相机中检索帧并将它们保存在内存中供以后使用需要您使用缓冲机制来存储帧。我建议你研究循环缓冲区(a.k.a。 ringbuffers ),看看它们是如何工作的: