0

我需要逐帧遍历matlab中的视频文件处理每一帧(用于图像背景减法)并将结果保存到一个新文件中,但我无法弄清楚如何做到这一点,因为我正在使用VideoReader和VideoWriter库,我无法弄清楚如何做到这一点。免责声明 - 这是一个硬件分配我只想得到关于如何在 for 循环中使用 VideoReader 和 VideoWriter 的答案(对于整个电影)作为图像减法 - 我将自己处理这个......谢谢进步...

4

1 回答 1

1

我从来不需要处理视频,但查看 Mathworks 文档后VideoReaderVideoWriter我想出了以下代码来读取 mp4 文件、可选地更改视频并写入 avi 文件。

vidIn = VideoReader('sample_mpeg4.mp4');
vidOut = VideoWriter('sample_out');
open(vidOut)
for ii = 1:vidIn.NumberOfFrames;
  pic = read(vidIn, ii);
  % Optional processing of 'pic' here
  writeVideo( vidOut, pic);
end
close(vidOut)

我想指出,我无法让 MATLAB 读取我的原始 .avi 文件,但是,它写的视频很好,我可以毫无问题地播放它。

于 2013-10-20T01:06:20.390 回答