📜  如何在MATLAB中从视频中提取帧?(1)

📅  最后修改于: 2023-12-03 15:24:33.218000             🧑  作者: Mango

在MATLAB中从视频中提取帧

MATLAB提供了强大的视频处理功能,包括从视频中提取单独帧的功能。以下是从视频中提取帧的简单方法。

步骤
  1. 使用 VideoReader 函数将视频读取到 MATLAB 中。
v = VideoReader('example_video.mp4');
  1. 使用 readFrame 函数从视频中逐一读取帧,并保存为图像文件。
while hasFrame(v)
    frame = readFrame(v);
    imwrite(frame, sprintf('frame%d.jpg', v.CurrentTime * v.FrameRate));
end
  1. 现在,您可以在 MATLAB 的当前工作目录中找到提取的帧。您可以再次使用 imread 函数将这些图像文件读取回 MATLAB 中。
img = imread('frame1.jpg');
imshow(img);

注:上述代码将以视频帧率来为每个帧命名,以确保它们的唯一性。

完整代码示例
v = VideoReader('example_video.mp4');

while hasFrame(v)
    frame = readFrame(v);
    imwrite(frame, sprintf('frame%d.jpg', v.CurrentTime * v.FrameRate));
end

img = imread('frame1.jpg');
imshow(img);
结论

以上是从视频中提取帧的简单方法。使用 MATLAB 的视频处理功能,您可以轻松地执行复杂的视频处理任务。