📜  Matlab中的反向视频

📅  最后修改于: 2021-04-17 02:37:48             🧑  作者: Mango

MATLAB提供了用于处理,分析视频并与视频进行交互的算法和工具。
通过VideoReader,您可以将视频导入MATLAB。此函数支持AVI,MPEG等格式,以及Windows,MAC和Linux的平台特定格式。

视频:
视频是一组称为帧的图像。它包含四个维度,即第一个维度用于行,第二个维度用于列,第三个维度用于RGB通道表示,另一个维度也被添加,称为时间或帧号。

VideoReader:
使用VideoReader对象读取包含视频数据的文件。该对象包含有关视频文件的信息,并可以从视频中读取数据。

v = VideoReader(filename)

VideoWriter:
使用VideoWriter对象创建视频文件。该对象包含有关视频以及控制输出视频的属性的信息。我们可以使用VideoWriter函数创建VideoWriter对象,指定其属性,然后使用对象函数编写视频。

v = VideoWriter(filename)

影格速率:
帧速率定义为每秒的帧数或fps。它是被称为帧的连续图像出现在显示器上的频率(速率)。
要反转视频,我们反转帧频。

方法:

  • 使用VideoReader将视频加载到变量obj中。
  • 创建新变量并读取对象(此处为obj)中存在的视频。
  • rgb通道保持不变。帧被反转并存储在新变量(在此为vid2)中。
  • 使用新变量obj2创建此视频的新副本,该副本通过使用反向显示
    VideoWriter()
  • 打开obj2。
  • 使用writeVideo()在obj2中写入所有反向框架
  • 关闭obj2。

下面是实现:

% load the video. 
obj=VideoReader('flower.mp4');
  
% Contains the video present in obj 
vid=read(obj);
  
% rgb remains as it is
% frames are reversed 
vid2=vid(:, :, :, end:-1:1);
  
% Write in new variable 
obj2=VideoWriter('reverse.mp4');
  
open(obj2);
  
% write the frames in obj2.          
obj2.writeVideo(vid2);
  
close(obj2);

要获取输入视频的链接,请单击此处

输出: