将图片序列转化为视频文件
程序如下:
framesPath = \'E:\img\\';%图像序列所在路径,同时要保证图像大小相同 videoName = \'Bolt.avi\';%表示将要创建的视频文件的名字 fps = 25; %帧率 startFrame = 1; %从哪一帧开始 endFrame = 350; %哪一帧结束 if(exist(\'videoName\',\'file\')) delete videoName.avi end %生成视频的参数设定 aviobj=VideoWriter(videoName); %创建一个avi视频文件对象,开始时其为空 aviobj.FrameRate=fps; open(aviobj);%Open file for writing video data %读入图片 for i=startFrame:endFrame fileName=sprintf(\'%04d\',i); %根据文件名而定 我这里文件名是0001.jpg 0002.jpg .... frames=imread([framesPath,fileName,\'.jpg\']); writeVideo(aviobj,frames); end close(aviobj);% 关闭创建视频将为视频文件转化图片序列
程序如下:
fileName = \'E:\flip.mp4\'; obj = VideoReader(fileName); numFrames = obj.NumberOfFrames;% 帧的总数 %若不存在文件夹,则新建文件夹 if ~exist(\'ImageTest\') mkdir(\'ImageTest\'); end for k = 1 : numFrames frame = read(obj,k);% 读取数据 %imshow(frame);%显示帧 imwrite(frame,strcat(\'./ImageTest/\',sprintf(\'%04d.jpg\',k)),\'jpg\');% 保存帧 %保存格式为0001.jpg,0002.jpg,... end
转自:http://blog.csdn.net/hjl240/article/details/52402543
请发表评论