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