关于使用opencv读取avi文件的问题

damocleswang 2012-05-04 05:37:35
本人使用opencv中的cvQueryFrame函数读取1800帧的avi文件,对每一帧进行处理,同时每读取一帧计数器i自动加一,文件读完后显示i的值为一千五百多,这是不是说明cvQueryFrame函数读取文件时存在丢帧现象,导致不是所有的帧都被处理到了?为什么会出现这种情况?请高手告知。。。谢谢。。。
...全文
205 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
IT修道者 2014-07-18
  • 打赏
  • 举报
回复
我也遇到这个问题了,用cvGetCaptureProperty(g_capture,CV_CAP_PROP_FRAME_COUNT)获得的总帧数通常比视频的总帧数要少。在网上查了下,说的是如果有重复的帧,它就不会统计。
shuo898 2013-11-22
  • 打赏
  • 举报
回复
这位同学你可以看一下官方的文档,视频帧数的这个参数在很多情况下是不可靠的,所以你读出来不一样那是很正常的!文档中对这个参数的值有说明的,期望对你有帮助!
damocleswang 2012-05-05
  • 打赏
  • 举报
回复
那为什么帧计数器的值不是1800而是1500多呢?
damocleswang 2012-05-05
  • 打赏
  • 举报
回复
呃,刚发现其实根本不用自己计数来得到视频帧数, cvGetCaptureProperty函数可以得到很多关于视频的详细信息。。。
xiayadong 2012-05-05
  • 打赏
  • 举报
回复
不会丢帧
xiayadong 2012-05-05
  • 打赏
  • 举报
回复
int frames=(int) cvGetCaptureProperty(g_capture,CV_CAP_PROP_FRAME_COUNT);

获取g_capture所指向视频文件总帧数,看是多少!

4,506

社区成员

发帖
与我相关
我的任务
社区描述
图形图像/机器视觉
社区管理员
  • 机器视觉
  • 迪菲赫尔曼
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧