如何将python中的视频分成4个相等的部分?

时间:2018-07-27 11:39:37

标签: python python-3.x opencv video split

python中是否有任何库允许输入视频文件,然后输出该视频文件的4个相等象限(例如:左上方,右上方,左下方,右下方)?

此刻,我仅看到将视频按时长进行分割的示例(例如:将20分钟的视频分成5分钟的部分)

我知道使用opencv之类的东西将视频分割成多个帧,然后将每个帧分割成4个,然后将各个帧分割回视频中,这可能是可行的,但是我认为这非常耗资源,不是最有效的解决方案

任何建议或示例将不胜感激。

1 个答案:

答案 0 :(得分:2)

您对OpenCV的看法是正确的。您无需拆分为多个框架。您可以使用OpenCVscikit-video将视频读取到4维数组(height, width, frames, channel)中。然后,一旦您有了宽度和高度的大小,就可以通过索引提取4个视频。例如如果(400,600, 122, 3)是您的视频尺寸,则可以通过以下方式获得4个视频:

v1=vid[:200,:300,:,:]
v2=vid[200:,:300,:,:]
v3=vid[200:,300:,:,:]
v4=vid[:200,300:,:,:]

您可以使用related question

上的ffmpeg查找解决方案

OpenCVscikit-video解决方案相比,这可能在内存方面更便宜(特别需要RAM)。但是我上面提到的使用scikit-video的解决方案在计算上并不昂贵。

read/write videos with scikit-video

相关问题