將圖像轉(zhuǎn)化成avi格式電影(bmp2avi,jpg2avi,tiff2avi等) - [Matlab]
版權(quán)聲明:轉(zhuǎn)載時請以超鏈接形式標明文章原始出處和作者信息及本聲明
http://darnshong.52blog.net/logs/2186961.html
導師那有好些系列圖像,想弄成電影。查了一下matlab的幫助,輕松地實現(xiàn)了,轉(zhuǎn)化成avi格式電影!以下是代碼:
function produceavifrompic(pfrom,pto,pext,navi)
aviobj = avifile(navi);
aviobj.Quality = 100;
aviobj.compression='None';
cola=0:1/255:1;
cola=[cola;cola;cola];%%黑白圖像
cola=cola';
aviobj.colormap=cola;
for i=pfrom:pto
fname=strcat(num2str(i),pext)
adata=imread(fname);
aviobj = addframe(aviobj,uint8(adata));
end
aviobj=close(aviobj);
以上是將一系列8位黑白圖像轉(zhuǎn)化成avi格式電影,如果是彩色圖像,則如下
function produceavifrompic(pfrom,pto,pext,navi)
aviobj = avifile(navi);
aviobj.Quality = 100;
aviobj.compression='None';
for i=pfrom:pto
fname=strcat(num2str(i),pext)
adata=imread(fname);
aviobj = addframe(aviobj,uint8(adata));
end
aviobj=close(aviobj);
挺簡單的吧!快去試試!
=============================================
自己用的時候如下:在Matlab中一行行輸入
aviobj = avifile(navi);
aviobj.Quality = 100;
aviobj.Fps = 10;
aviobj.compression='None';
for i=pfrom:pto ;此處修改成自己的范圍
fname=strcat('snapshot',num2str(i),'.jpg')
adata=imread(fname);
aviobj = addframe(aviobj,uint8(adata));
end
aviobj=close(aviobj);
OK。