【问题标题】:Huge problems with reading in movie frames with MATLAB使用 MATLAB 读取电影帧的巨大问题
【发布时间】:2015-11-20 23:22:20
【问题描述】:

我一直在做一个项目,它读取视频帧,将它们存储在一个数组中,然后对它们执行操作。每一帧都分为 6 个子部分,我必须单独分析。我之前一直在裁剪视频,然后将其加载。我现在有程序允许用户加载整部电影,然后每 6 个自己裁剪一次然后程序在每 6 日连续运行。问题是,当加载这个现在像素密度高 6 倍的视频(大约 120k 帧)时,matlab 会崩溃。假设我可以让用户之前指定 6 个裁剪区域,是否一次只能加载电影的特定区域?而不是存储整个帧,只存储第 6 个? (与我目前存储整个然后裁剪出第 6 个的方式不同,只需立即存储第 6 个)。

【问题讨论】:

  • 不确定你在做什么,但是在内存中存储 120k 帧并不是一个好主意,无论存储 1/6 还是完整的视频。您应该考虑逐个或小批量加载帧,然后对其进行处理。

标签: matlab video image-processing crop


【解决方案1】:

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

饭菜

【讨论】:

    猜你喜欢
    • 2012-11-13
    • 1970-01-01
    • 2011-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多