想要用Matlab提取avi视频中的帧图像,并保存成jpg格式
%read video and save every frame as .jpg
%obj = VideoReader('D:\data\test_video_3\test_video_3.avi');
obj = VideoReader('test_video_3.avi');
vid = read(obj);
fnum = obj.NumberOfFrames;
for i = 1:fnum
imwrite(vid(:,:,:,i),strcat('frame-',num2str(i),'.jpg'));
end
说明:
1、第二行和第三行代码的区别在于视频存放的地址
如果输入视频就在当前文件夹中,则可使用第三行代码
如果输入视频在其他文件夹中,则可用第二行代码,并写明视频存放的地址。
2、读取视频也可以调用mmreader,但是Matlab会提示Warning: MMREADER will be removed in a future release. Use VIDEOREADER instead.
3、imwrite中strcat函数可以定义文件名以及后缀,也可以设置为.png .bmp等后缀形式,以保存为其他图片格式。