作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我想在 OpenCV 中查找视频捕获的长度;
int frameNumbers = (int) cvGetCaptureProperty(video2, CV_CAP_PROP_FRAME_COUNT);
int fps = (int) cvGetCaptureProperty(video2, CV_CAP_PROP_FPS);
int videoLength = frameNumbers / fps;
但这给我的结果比真正的答案要少。我必须做什么?
最佳答案
实际上,我不确定您今天尝试的功能是否有任何问题。但是,此代码段存在问题。这里,假定每秒帧数是一个整数值,但情况并非总是如此。例如,许多视频以 29.97 FPS 编码,此代码假定 int(29.97) = 29,这显然会导致视频长度的秒数更大。
如果我使用浮点值 (float) 而不截断它们,计算对我来说似乎工作正常。
关于c++ - 如何在 OpenCV 中查找视频的长度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9629071/
我是一名优秀的程序员,十分优秀!