將圖片序列轉化為視頻文件
程序如下:
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
