测试环境:MatlabR2014a(由于较老版本有关于aviread函数和mmread函数的调整,本版本读取视频文件的函数为VideoReader)
%目的:读取本目录下的视频文件"SD霞光8.mov",将其转换为每一帧的jpg图片,存在本目录下的“转换的图片”文件夹下;
clear all;clc %清除所有对象和命令行
readerobj = VideoReader('SD霞光8.mov', 'tag', 'myreader1');%读入图像文件vidFrames = read(readerobj); %获得图像的内存块
numFrames = get(readerobj, 'numberOfFrames');%获取视频的帧数
mkdir 转换的图片
for i=1:numFrames %获取每一帧的mov(i).cdata,也可以设置mov(i).colormap = [];mov(i).cdata = vidFrames(:,:,:,i);
%mov(i).colormap = [];
strtemp=strcat('.\转换的图片\霞光',int2str(i),'.','jpg');%将每祯转成jpg的图片imwrite(mov(i).cdata,strtemp,'jpg'); %写入文件夹
end
%测试成功,产生视频帧数个图片