使用 MATLAB 读取电影帧的巨大问题

Huge problems with reading in movie frames with MATLAB

我一直在做一个读取视频帧的项目,将它们存储在一个数组中,然后对它们执行操作。每个帧都分为 6 个小节,我必须分析 individually.I 之前已经预先裁剪视频然后加载它。我现在有程序允许用户加载整部电影然后裁剪每个6 号,然后程序在每 6 号连续运行。问题是 matlab 在加载现在像素密度高 6 倍的视频(大约 120k 帧)时崩溃。假设我可以让用户之前指定 6 个裁剪区域,是否可以一次只加载电影的特定区域?而不是存储整个帧,只存储第 6 个? (不像我目前存储整个然后裁剪出第 6 个,直接存储第 6 个)。

VideoReader 不允许您将帧的一部分加载到内存中。但是,它允许您仅将视频中的某些帧加载到 MATLAB 中,而不是加载整个视频。同意 sam 的观点,将 120K 帧的视频加载到 MATLAB 中是一个非常糟糕的主意。考虑使用 READ 语法,它允许您指定开始和停止帧以仅以块的形式读取视频,之后您可以使用数组索引将每个帧分成 6 个部分。

迪内什