首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从两种不同帧速率的视频中获取匹配的图像帧

从两种不同帧速率的视频中获取匹配的图像帧
EN

Stack Overflow用户
提问于 2021-01-06 12:18:04
回答 2查看 385关注 0票数 0

我正在将视频转换成python3.6中的图像(即剪切视频以获取图像)。

我有两种类型的视频,第一种是RGB视频,其帧速率为 30 (即fps= 30),其帧速率为30(即fps=30);第二种是由Flir摄像机录制的热红外视频,其帧速率的E 1109E 211(最初是一个帧流文件,我将其转换为图像,并使用python3-cv2将其转换为9 fps的视频)。视频格式分别是mp4和avi (虽然我已经将avi转换为mp4并进行了测试)。它们的长度是相等的。

我正在尝试创建一个匹配的图像对从热和红外视频。然而,当我似乎使用相同的帧速率削减他们,似乎他们不匹配(但不同的5-6图像)。

我有大约200个ish视频,所以这是非常耗费时间和我很难找到他们一个一个。

关于如何使这个数据集成为成对的数据集,有什么想法吗?

非常感谢

EN

回答 2

Stack Overflow用户

发布于 2021-01-08 01:07:09

您可以通过匹配两个视频的时间戳,将30 fps视频重新创建为匹配的9 fps视频。OpenCV允许您在VideoWriter中指定框架(我认为您知道这一点,但只是为了确保)。OpenCV报告当前视频的时间戳

代码语言:javascript
运行
复制
cv2.VideoCapture.get(cv2.CAP_PROP_POS_MSEC);

从FLIR相机抓取一个帧和时间戳,然后继续从彩色相机抓取帧和时间戳,直到时间戳赶上或通过FLIR时间戳为止。然后将颜色框写到vidwriter上。只要这两个视频都有一个一致的框架,他们都开始/停止录制在同一时间,那么这将看到这两个视频匹配尽可能密切。

票数 0
EN

Stack Overflow用户

发布于 2021-01-12 19:20:14

如果在文件列表上使用一个简单的ffmpeg脚本将9个fps视频转换为30个fps如何?

代码语言:javascript
运行
复制
ffmpeg -i source9fps.mp4 -r 30 -c:v libx264 -c:b 10M out30fps.mp4

#-c:b ... bitrate

or:

ffmpeg -i source9fps.mp4 -r 30 -c:v copy out30fps.mp4

(Without reencoding, very fast)

30 vs9fps是一个令人讨厌的组合,但会有一个倾斜,我不确定确切的转换算法(一些混合可能更好,因为倾斜的帧与大的时间错配)。

如果第二个视频是在5,10或15 fps录制的话,那就更好了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65595629

复制
相关文章

相似问题

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