将图像转化成avi格式电影(bmp2avi,jpg2avi,tiff2avi等) - [Matlab]
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://darnshong.52blog.net/logs/2186961.html
导师那有好些系列图像,想弄成电影。查了一下matlab的帮助,轻松地实现了,转化成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位黑白图像转化成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。