0

我有一个需要在 Matlab 中可视化的视频文件。从这个文件中,我提取了下采样的缩略图并将它们合并到一个图像中。此图像使用imshow命令显示,并提供整个视频的概述。

我想通过鼠标单击(或悬停)任何缩略图并自动从视频全尺寸版本中提取并以新图形显示。

我需要什么功能来实现这样的功能?

4

1 回答 1

0

大致:

  1. 使用VideoReader对象连接到您的视频文件。
  2. 获取对象的NumberOfFrames属性VideoReader
  3. 使用对象的read方法VideoReader读取帧。
  4. 从 1 循环到NumberOfFrames,并在每一帧中读取。
  5. 读入每一帧后,将其存储在kM×N×3×K 数组的第 th 平面中,其中 K 是帧数。(如果您的视频是 RGB,则为 3 - 如果为灰度,则为 1)。
  6. 此外,使用函数 将每个帧的大小调整为缩略图imresize,并将其存储在km×n×3×K 数组的第 th 平面中,其中 m < M 和 n < N。
  7. 以这种形式存储后,使用命令将结果显示在图形中montage,这会将所有缩略图很好地放在网格中。
  8. 为单击图像时触发的图形添加回调。回调应获取当前鼠标位置(在单击时),确定单击了哪个帧,并创建一个新图形,该图形显示未调整大小的数组中的相应平面。

这听起来可能吗?

于 2013-05-23T20:15:37.437 回答