python中是否有任何库允许输入视频文件,然后输出该视频文件的4个相等象限(例如:左上方,右上方,左下方,右下方)?
此刻,我仅看到将视频按时长进行分割的示例(例如:将20分钟的视频分成5分钟的部分)
我知道使用opencv之类的东西将视频分割成多个帧,然后将每个帧分割成4个,然后将各个帧分割回视频中,这可能是可行的,但是我认为这非常耗资源,不是最有效的解决方案
任何建议或示例将不胜感激。
答案 0 :(得分:2)
您对OpenCV
的看法是正确的。您无需拆分为多个框架。您可以使用OpenCV
或scikit-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
查找解决方案
与OpenCV
或scikit-video
解决方案相比,这可能在内存方面更便宜(特别需要RAM)。但是我上面提到的使用scikit-video的解决方案在计算上并不昂贵。