将图片序列转化为视频文件
生活随笔
收集整理的這篇文章主要介紹了
将图片序列转化为视频文件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
cd(srcDic);%讀取圖片名字allnames = struct2cell(dir('*.jpg'));
[k,len]=size(allnames);
aviobj = VideoWriter('driver.avi');%給視頻起名字
aviobj.FrameRate = 5;%設置幀率
open(aviobj)%創作視頻for i = 1:len
??? name = allnames{1,i};
??? frame = imread(name);
??? writeVideo(aviobj,frame);
end
close(aviobj)
%在你存放圖片的路徑下就會又視頻了,高興,這么簡單呀,哈哈哈
%這個沒有試
一,將圖片序列轉化為視頻文件
function video=frames2Video(framesPath,videoName,quality,Compressed,fps,startFrame,endFrame) %framesPath :圖像序列所在路徑,同時要保證圖像大小相同 %videoName: 表示將要創建的視頻文件的名字 %quality: 生成視頻的質量 0-100 %Compressed: 壓縮類型, 'Indeo3'(默認), 'Indeo5', 'Cinepak', 'MSVC', 'RLE' or 'None' %fps: 幀率 %startFrame ,endFrame ;表示從哪一幀開始,哪一幀結束if(exist('videoName','file'))delete videoName.avi end%生成視頻的參數設定 aviobj=avifile(videoName); %創建一個avi視頻文件對象,開始時其為空 aviobj.Quality=quality; aviobj.Fps=fps; aviobj.compression=Compressed;%讀入圖片 for i=startFrame:endFramefileName=sprintf('%08d',i); %根據文件名而定 我這里文件名是00000001.jpg 00000002.jpg ....frames=imread([framesPath,fileName,'.jpg']);aviobj=addframe(aviobj,uint8(frames)); end aviobj=close(aviobj); % 關閉創建視頻 end 在command window里輸入
path='你的文件路徑'; frames2Video(path,'dog',90,'None',5,1,32); 二,視頻文件轉化為圖片
function avi2Frames(path) mov=aviread(path); framesNum=size(mov,2); for i=1:framesNumframes=frame2im(mov(i)); str=strcat('a',int2str(i),'.jpg'); imwrite(frames,str);end end 代碼未做優化,可以先預分配空間 。 同時對于很多使用程序健壯的語句沒有加進去
總結
以上是生活随笔為你收集整理的将图片序列转化为视频文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于 epoch、 iteration和
- 下一篇: GoogLeNet学习