我们目前正在为需要OpenCV的程序开发一些功能。被抛到桌面上的一个想法是使用“缓冲区”,它将一分钟的视频数据保存到内存中,然后我们需要从缓冲区中为每个事件触发器提取类似于13秒的视频文件。
目前我们没有足够的OpenCV经验,所以我们不知道这是否可能。查看文档,唯一允许在内存中写入的函数是imencode和imdecode,但这些都是图像。如果我们能找到一种方法将图像序列写入到视频文件中,这将是很巧妙的,但目前我们的想法是使用视频缓冲区。
我们也在使用OpenCV版本2规范。
我们想知道是否有可能将视频的一部分写入内存。
发布于 2012-09-03 18:08:52
在OpenCV中,每个视频都被视为帧(图像)的集合。根据您的相机的FPS,您可以定期捕获帧,并用它们填充缓冲区。同时,您可以销毁最旧的帧(1分钟前拍摄)。因此,可以实现FIFO数据结构来实现您的目标。获取13秒的样本很容易,只需跳转到随机帧,并将13*FPS帧顺序写入视频文件。
但就我使用过的OpenCV而言,AFAIK会有一些同步和定时问题。
Here是关于视频i/o的OpenCV文档的链接,特别是最后一段代码,你将用它来编写代码。
TL;DR :没有视频,只有连续的图像,差别很小。所以你需要像对待他们一样对待他们。
https://stackoverflow.com/questions/12245527
复制相似问题