我想在OpenCV中找到视频捕获的长度;
int frameNumbers = (int) cvGetCaptureProperty(video2, CV_CAP_PROP_FRAME_COUNT);
int fps = (int) cvGetCaptureProperty(video2, CV_CAP_PROP_FPS);
int videoLength = frameNumbers / fps;
Run Code Online (Sandbox Code Playgroud)
但这给了我一个不如真实答案的结果.我需要做什么?
小智 5
实际上,我不确定您今天尝试过的功能是否存在任何问题.但是,此代码段存在问题.这里,假设每秒帧数是一个整数值,但并非总是如此.例如,许多视频以29.97 FPS编码,并且此代码假设int(29.97)= 29,这显然导致视频长度的秒值更大.
如果我使用浮点值(浮点数)而不截断它们,计算似乎对我来说很好.
| 归档时间: |
|
| 查看次数: |
10192 次 |
| 最近记录: |