首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenCV Seek函数/倒带

OpenCV Seek函数/倒带
EN

Stack Overflow用户
提问于 2010-06-04 21:39:20
回答 4查看 32.5K关注 0票数 26

我一直在尝试使用OpenCV在C++中查找/实现查找和倒带功能(对于视频(.avi)),但我找不到一种方法,除了遍历整个文件一次并保存每个图像。还有别的办法吗?

如有任何帮助,我们将不胜感激;提前感谢!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-06-06 00:51:10

使用cvSetCaptureProperty()可以按毫秒或按帧序号对帧进行循环。

代码语言:javascript
复制
int cvSetCaptureProperty( CvCapture* capture, int property_id, double value );

property_id是您需要使用的属性。它可以是以下之一:

  1. CV_CAP_PROP_POS_MSEC -距离文件毫秒的位置beginning
  2. CV_CAP_PROP_POS_FRAMES -以frames
  3. CV_CAP_PROP_POS_AVI_RATIO表示的位置-以相对单位表示的位置(0 -文件的开始,1-结束file)
  4. CV_CAP_PROP_FRAME_WIDTH -视频流中帧的宽度(仅适用于cameras)
  5. CV_CAP_PROP_FRAME_HEIGHT )-视频流中帧的高度(仅适用于cameras)
  6. CV_CAP_PROP_FPS -帧速率(仅适用于编解码器的cameras)
  7. CV_CAP_PROP_FOURCC -4字符代码(仅适用于摄像机)。

前两个是您感兴趣的。

编辑:更多信息:)

您可以通过使用不同的帧索引重复调用所提到的函数来遍历帧。

代码语言:javascript
复制
cvSetCaptureProperty(capture, CV_CAP_PROP_POS_FRAMES, frameIndex);

示例:

代码语言:javascript
复制
IplImage*  frame;
CvCapture* capture = cvCreateFileCapture("test.avi");

/* iterate through first 10 frames */
for (int i = 0; i < 10; i++)
{
   /* set pointer to frame index i */
   cvSetCaptureProperty(capture, CV_CAP_POS_FRAMES, i);

   /* capture the frame and do sth with it */
   frame = cvQueryFrame(capture);
}

您可以在每次用户单击按钮以向前/后退视频时执行类似的代码。

C++方法(OpenCV 2和更高版本)将使用此方法,并使用相同的property_id和值。

代码语言:javascript
复制
bool VideoCapture::set(int property_id, double value)
票数 46
EN

Stack Overflow用户

发布于 2010-06-04 22:02:44

我认为您必须将整个文件读入到一个IplImages数组中,然后完成该操作。原因是,cvQueryFrame是一个单向的过程,它按顺序一次读取一帧。我想不出其他的办法了。根据视频的长度,初始化时间可能不会太差。

如您所说,cvTrackbars主要用于修改参数。它们改变变量的值(以指针形式作为参数给出)并抛出一个回调函数。不幸的是,据我所知,它们是HighGUI中唯一的按钮样式元素

票数 1
EN

Stack Overflow用户

发布于 2018-07-30 12:56:31

对于C++和OpenV3.4,frame_index是您想要寻找的位置。

代码语言:javascript
复制
Mat frame;
VideoCapture capture("test.avi");
capture.set(CAP_PROP_POS_FRAMES, frame_index);
capture>>frame;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2974625

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档