matlab下將圖片序列轉化為視頻文件 && 將為視頻文件轉化圖片序列


將圖片序列轉化為視頻文件

程序如下:

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




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM